summaryrefslogtreecommitdiff
path: root/spec/ruby/library/rexml/element/new_spec.rb
blob: 4ffdf4dabec0d8b7516ea4659a391af1be4cf9bf (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
32
33
34
35
require 'rexml/document'
require_relative '../../../spec_helper'

describe "REXML::Element#new" do

  it "creates element from tag name" do
    REXML::Element.new("foo").name.should == "foo"
  end

  it "creates element with default attributes" do
    e = REXML::Element.new
    e.name.should == REXML::Element::UNDEFINED
    e.context.should == nil
    e.parent.should == nil
  end

  it "creates element from another element" do
    e = REXML::Element.new "foo"
    f = REXML::Element.new e
    e.name.should == f.name
    e.context.should == f.context
    e.parent.should == f.parent
  end

  it "takes parent as second argument" do
    parent = REXML::Element.new "foo"
    child = REXML::Element.new "bar", parent
    child.parent.should == parent
  end

  it "takes context as third argument" do
    context = {"some_key" => "some_value"}
    REXML::Element.new("foo", nil, context).context.should == context
  end
end