aboutsummaryrefslogtreecommitdiffstats
path: root/spec/ruby/library/rexml/element/clone_spec.rb
blob: 08f97e7793a0ed50bf998d5983f3cfd2a52d9ec0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
require 'rexml/document'
require File.expand_path('../../../../spec_helper', __FILE__)

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

  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

  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
end