summaryrefslogtreecommitdiff
path: root/spec/ruby/library/rexml/element/clone_spec.rb
blob: d26392db4187f574c85d1270886924b298e6449a (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_relative '../../../spec_helper'

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