2018-03-04 15:09:32 +00:00
|
|
|
require_relative '../../../spec_helper'
|
2017-05-07 12:04:49 +00:00
|
|
|
|
2020-09-15 21:54:31 +02:00
|
|
|
ruby_version_is ''...'3.0' do
|
2020-01-12 08:14:26 +09:00
|
|
|
require 'rexml/document'
|
2017-05-07 12:04:49 +00:00
|
|
|
|
2020-01-12 08:14:26 +09:00
|
|
|
describe "REXML::Element#clone" do
|
|
|
|
before :each do
|
|
|
|
@e = REXML::Element.new "a"
|
|
|
|
end
|
|
|
|
it "creates a copy of element" do
|
|
|
|
@e.clone.to_s.should == @e.to_s
|
|
|
|
end
|
2017-05-07 12:04:49 +00:00
|
|
|
|
2020-01-12 08:14:26 +09:00
|
|
|
it "copies the attributes" do
|
|
|
|
@e.add_attribute("foo", "bar")
|
|
|
|
@e.clone.to_s.should == @e.to_s
|
|
|
|
end
|
|
|
|
|
|
|
|
it "does not copy the text" do
|
|
|
|
@e.add_text "some text..."
|
|
|
|
@e.clone.to_s.should_not == @e
|
|
|
|
@e.clone.to_s.should == "<a/>"
|
|
|
|
end
|
2017-05-07 12:04:49 +00:00
|
|
|
|
2020-01-12 08:14:26 +09:00
|
|
|
it "does not copy the child elements" do
|
|
|
|
b = REXML::Element.new "b"
|
|
|
|
@e << b
|
|
|
|
@e.clone.should_not == @e
|
|
|
|
@e.clone.to_s.should == "<a/>"
|
|
|
|
end
|
2017-05-07 12:04:49 +00:00
|
|
|
end
|
|
|
|
end
|