summaryrefslogtreecommitdiff
path: root/spec/ruby/library/rexml/document/clone_spec.rb
blob: 137fe8a0732e7fde47970c8151522de66538d231 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
require_relative '../../../spec_helper'

ruby_version_is ''...'3.0' do
  require 'rexml/document'

  # According to the MRI documentation (http://www.ruby-doc.org/stdlib/libdoc/rexml/rdoc/index.html),
  # clone's behavior "should be obvious". Apparently "obvious" means cloning
  # only the attributes and the context of the document, not its children.
  describe "REXML::Document#clone" do
    it "clones document attributes" do
      d = REXML::Document.new("foo")
      d.attributes["foo"] = "bar"
      e = d.clone
      e.attributes.should == d.attributes
    end

    it "clones document context" do
      d = REXML::Document.new("foo", {"foo" => "bar"})
      e = d.clone
      e.context.should == d.context
    end
  end
end