-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
104 changed files
with
1,862 additions
and
1,550 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,14 @@ | ||
require_relative '../../../spec_helper' | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#clone" do | ||
it "returns a copy of this Attribute" do | ||
orig = REXML::Attribute.new("name", "value&&") | ||
orig.should == orig.clone | ||
orig.clone.to_s.should == orig.to_s | ||
orig.clone.to_string.should == orig.to_string | ||
ruby_version_is ''...'2.8' do | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#clone" do | ||
it "returns a copy of this Attribute" do | ||
orig = REXML::Attribute.new("name", "value&&") | ||
orig.should == orig.clone | ||
orig.clone.to_s.should == orig.to_s | ||
orig.clone.to_string.should == orig.to_string | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,26 @@ | ||
require_relative '../../../spec_helper' | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#element" do | ||
it "returns the parent element" do | ||
e = REXML::Element.new "root" | ||
ruby_version_is ''...'2.8' do | ||
require 'rexml/document' | ||
|
||
REXML::Attribute.new("name", "value", e).element.should == e | ||
REXML::Attribute.new("name", "default_constructor").element.should == nil | ||
describe "REXML::Attribute#element" do | ||
it "returns the parent element" do | ||
e = REXML::Element.new "root" | ||
|
||
REXML::Attribute.new("name", "value", e).element.should == e | ||
REXML::Attribute.new("name", "default_constructor").element.should == nil | ||
end | ||
end | ||
end | ||
|
||
describe "REXML::Attribute#element=" do | ||
it "sets the parent element" do | ||
e = REXML::Element.new "root" | ||
f = REXML::Element.new "temp" | ||
a = REXML::Attribute.new("name", "value", e) | ||
a.element.should == e | ||
describe "REXML::Attribute#element=" do | ||
it "sets the parent element" do | ||
e = REXML::Element.new "root" | ||
f = REXML::Element.new "temp" | ||
a = REXML::Attribute.new("name", "value", e) | ||
a.element.should == e | ||
|
||
a.element = f | ||
a.element.should == f | ||
a.element = f | ||
a.element.should == f | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,21 @@ | ||
require_relative '../../../spec_helper' | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#==" do | ||
it "returns true if other has equal name and value" do | ||
a1 = REXML::Attribute.new("foo", "bar") | ||
a1.should == a1.clone | ||
ruby_version_is ''...'2.8' do | ||
require 'rexml/document' | ||
|
||
a2 = REXML::Attribute.new("foo", "bar") | ||
a1.should == a2 | ||
describe "REXML::Attribute#==" do | ||
it "returns true if other has equal name and value" do | ||
a1 = REXML::Attribute.new("foo", "bar") | ||
a1.should == a1.clone | ||
|
||
a3 = REXML::Attribute.new("foo", "bla") | ||
a1.should_not == a3 | ||
a2 = REXML::Attribute.new("foo", "bar") | ||
a1.should == a2 | ||
|
||
a4 = REXML::Attribute.new("baz", "bar") | ||
a1.should_not == a4 | ||
a3 = REXML::Attribute.new("foo", "bla") | ||
a1.should_not == a3 | ||
|
||
a4 = REXML::Attribute.new("baz", "bar") | ||
a1.should_not == a4 | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,16 @@ | ||
require_relative '../../../spec_helper' | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#hash" do | ||
# These are not really complete, any idea on how to make them more | ||
# "testable" will be appreciated. | ||
it "returns a hashcode made of the name and value of self" do | ||
a = REXML::Attribute.new("name", "value") | ||
a.hash.should be_kind_of(Numeric) | ||
b = REXML::Attribute.new(a) | ||
a.hash.should == b.hash | ||
ruby_version_is ''...'2.8' do | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#hash" do | ||
# These are not really complete, any idea on how to make them more | ||
# "testable" will be appreciated. | ||
it "returns a hashcode made of the name and value of self" do | ||
a = REXML::Attribute.new("name", "value") | ||
a.hash.should be_kind_of(Numeric) | ||
b = REXML::Attribute.new(a) | ||
a.hash.should == b.hash | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,29 +1,32 @@ | ||
require_relative '../../../spec_helper' | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#initialize" do | ||
before :each do | ||
@e = REXML::Element.new "root" | ||
@name = REXML::Attribute.new("name", "Nicko") | ||
@e.add_attribute @name | ||
end | ||
ruby_version_is ''...'2.8' do | ||
require 'rexml/document' | ||
|
||
it "receives two strings for name and value" do | ||
@e.attributes["name"].should == "Nicko" | ||
@e.add_attribute REXML::Attribute.new("last_name", nil) | ||
@e.attributes["last_name"].should == "" | ||
end | ||
describe "REXML::Attribute#initialize" do | ||
before :each do | ||
@e = REXML::Element.new "root" | ||
@name = REXML::Attribute.new("name", "Nicko") | ||
@e.add_attribute @name | ||
end | ||
|
||
it "receives an Attribute and clones it" do | ||
copy = REXML::Attribute.new(@name) | ||
copy.should == @name | ||
end | ||
it "receives two strings for name and value" do | ||
@e.attributes["name"].should == "Nicko" | ||
@e.add_attribute REXML::Attribute.new("last_name", nil) | ||
@e.attributes["last_name"].should == "" | ||
end | ||
|
||
it "receives an Attribute and clones it" do | ||
copy = REXML::Attribute.new(@name) | ||
copy.should == @name | ||
end | ||
|
||
it "receives a parent node" do | ||
last_name = REXML::Attribute.new("last_name", "McBrain", @e) | ||
last_name.element.should == @e | ||
it "receives a parent node" do | ||
last_name = REXML::Attribute.new("last_name", "McBrain", @e) | ||
last_name.element.should == @e | ||
|
||
last_name = REXML::Attribute.new(@name, @e) | ||
last_name.element.should == @e | ||
last_name = REXML::Attribute.new(@name, @e) | ||
last_name.element.should == @e | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,22 @@ | ||
require_relative '../../../spec_helper' | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#inspect" do | ||
it "returns the name and value as a string" do | ||
a = REXML::Attribute.new("my_name", "my_value") | ||
a.inspect.should == "my_name='my_value'" | ||
end | ||
ruby_version_is ''...'2.8' do | ||
require 'rexml/document' | ||
|
||
it "accepts attributes with no value" do | ||
a = REXML::Attribute.new("my_name") | ||
a.inspect.should == "my_name=''" | ||
end | ||
describe "REXML::Attribute#inspect" do | ||
it "returns the name and value as a string" do | ||
a = REXML::Attribute.new("my_name", "my_value") | ||
a.inspect.should == "my_name='my_value'" | ||
end | ||
|
||
it "accepts attributes with no value" do | ||
a = REXML::Attribute.new("my_name") | ||
a.inspect.should == "my_name=''" | ||
end | ||
|
||
it "does not escape text" do | ||
a = REXML::Attribute.new("name", "<>") | ||
a.inspect.should == "name='<>'" | ||
it "does not escape text" do | ||
a = REXML::Attribute.new("name", "<>") | ||
a.inspect.should == "name='<>'" | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,27 @@ | ||
require_relative '../../../spec_helper' | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#namespace" do | ||
it "returns the namespace url" do | ||
e = REXML::Element.new("root") | ||
e.add_attribute REXML::Attribute.new("xmlns:ns", "http://some_uri") | ||
e.namespace("ns").should == "http://some_uri" | ||
end | ||
ruby_version_is ''...'2.8' do | ||
require 'rexml/document' | ||
|
||
it "returns nil if namespace is not defined" do | ||
e = REXML::Element.new("root") | ||
e.add_attribute REXML::Attribute.new("test", "value") | ||
e.namespace("test").should == nil | ||
e.namespace("ns").should == nil | ||
end | ||
describe "REXML::Attribute#namespace" do | ||
it "returns the namespace url" do | ||
e = REXML::Element.new("root") | ||
e.add_attribute REXML::Attribute.new("xmlns:ns", "http://some_uri") | ||
e.namespace("ns").should == "http://some_uri" | ||
end | ||
|
||
it "returns nil if namespace is not defined" do | ||
e = REXML::Element.new("root") | ||
e.add_attribute REXML::Attribute.new("test", "value") | ||
e.namespace("test").should == nil | ||
e.namespace("ns").should == nil | ||
end | ||
|
||
it "defaults arg to nil" do | ||
e = REXML::Element.new("root") | ||
e.add_attribute REXML::Attribute.new("xmlns:ns", "http://some_uri") | ||
e.namespace.should == "" | ||
e.namespace("ns").should == "http://some_uri" | ||
it "defaults arg to nil" do | ||
e = REXML::Element.new("root") | ||
e.add_attribute REXML::Attribute.new("xmlns:ns", "http://some_uri") | ||
e.namespace.should == "" | ||
e.namespace("ns").should == "http://some_uri" | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,13 @@ | ||
require_relative '../../../spec_helper' | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#node_type" do | ||
it "always returns :attribute" do | ||
attr = REXML::Attribute.new("foo", "bar") | ||
attr.node_type.should == :attribute | ||
REXML::Attribute.new(attr).node_type.should == :attribute | ||
ruby_version_is ''...'2.8' do | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#node_type" do | ||
it "always returns :attribute" do | ||
attr = REXML::Attribute.new("foo", "bar") | ||
attr.node_type.should == :attribute | ||
REXML::Attribute.new(attr).node_type.should == :attribute | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,21 @@ | ||
require_relative '../../../spec_helper' | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#prefix" do | ||
it "returns the namespace of the Attribute" do | ||
ans = REXML::Attribute.new("ns:someattr", "some_value") | ||
out = REXML::Attribute.new("out:something", "some_other_value") | ||
ruby_version_is ''...'2.8' do | ||
require 'rexml/document' | ||
|
||
ans.prefix.should == "ns" | ||
out.prefix.should == "out" | ||
end | ||
describe "REXML::Attribute#prefix" do | ||
it "returns the namespace of the Attribute" do | ||
ans = REXML::Attribute.new("ns:someattr", "some_value") | ||
out = REXML::Attribute.new("out:something", "some_other_value") | ||
|
||
ans.prefix.should == "ns" | ||
out.prefix.should == "out" | ||
end | ||
|
||
it "returns an empty string for Attributes with no prefixes" do | ||
attr = REXML::Attribute.new("foo", "bar") | ||
it "returns an empty string for Attributes with no prefixes" do | ||
attr = REXML::Attribute.new("foo", "bar") | ||
|
||
attr.prefix.should == "" | ||
attr.prefix.should == "" | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,23 @@ | ||
require_relative '../../../spec_helper' | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#remove" do | ||
before :each do | ||
@e = REXML::Element.new "Root" | ||
@attr = REXML::Attribute.new("foo", "bar") | ||
end | ||
ruby_version_is ''...'2.8' do | ||
require 'rexml/document' | ||
|
||
it "deletes this Attribute from parent" do | ||
@e.add_attribute(@attr) | ||
@e.attributes["foo"].should_not == nil | ||
@attr.remove | ||
@e.attributes["foo"].should == nil | ||
end | ||
describe "REXML::Attribute#remove" do | ||
before :each do | ||
@e = REXML::Element.new "Root" | ||
@attr = REXML::Attribute.new("foo", "bar") | ||
end | ||
|
||
it "deletes this Attribute from parent" do | ||
@e.add_attribute(@attr) | ||
@e.attributes["foo"].should_not == nil | ||
@attr.remove | ||
@e.attributes["foo"].should == nil | ||
end | ||
|
||
it "does not anything if element has no parent" do | ||
-> {@attr.remove}.should_not raise_error(Exception) | ||
it "does not anything if element has no parent" do | ||
-> {@attr.remove}.should_not raise_error(Exception) | ||
end | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,17 @@ | ||
require_relative '../../../spec_helper' | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#to_s" do | ||
it "returns the value of the Attribute" do | ||
REXML::Attribute.new("name", "some_value").to_s.should == "some_value" | ||
end | ||
ruby_version_is ''...'2.8' do | ||
require 'rexml/document' | ||
|
||
describe "REXML::Attribute#to_s" do | ||
it "returns the value of the Attribute" do | ||
REXML::Attribute.new("name", "some_value").to_s.should == "some_value" | ||
end | ||
|
||
it "returns the escaped value if it was created from Attribute" do | ||
orig = REXML::Attribute.new("name", "<&>") | ||
copy = REXML::Attribute.new(orig) | ||
copy.to_s.should == "<&>" | ||
it "returns the escaped value if it was created from Attribute" do | ||
orig = REXML::Attribute.new("name", "<&>") | ||
copy = REXML::Attribute.new(orig) | ||
copy.to_s.should == "<&>" | ||
end | ||
end | ||
end |
Oops, something went wrong.