summaryrefslogtreecommitdiff
path: root/spec/ruby/library/rexml/element/root_spec.rb
blob: 4e88446ac25f413d6bbfc997531f712e0c5c4796 (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
30
31
require_relative '../../../spec_helper'

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

  describe "REXML::Element#root" do
    before :each do
      @doc  = REXML::Document.new
      @root = REXML::Element.new "root"
      @node = REXML::Element.new "node"
      @doc << @root << @node
    end

    it "returns first child on documents" do
      @doc.root.should == @root
    end

    it "returns self on root nodes" do
      @root.root.should == @root
    end

    it "returns parent's root on child nodes" do
      @node.root.should == @root
    end

    it "returns self on standalone nodes" do
      e = REXML::Element.new "Elem"         # Note that it doesn't have a parent node
      e.root.should == e
    end
  end
end