<\/EvergreenTerrace\s*><\/Springfield\s*>/
+ end
+
+ it "returns document with support for IE" do
+ @d.write(@str, -1, false, true)
+ @str.should == ""
+ end
end
end
diff --git a/spec/ruby/library/rexml/document/xml_decl_spec.rb b/spec/ruby/library/rexml/document/xml_decl_spec.rb
index 30288a150b..6862c7bb6b 100644
--- a/spec/ruby/library/rexml/document/xml_decl_spec.rb
+++ b/spec/ruby/library/rexml/document/xml_decl_spec.rb
@@ -1,15 +1,18 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Document#xml_decl" do
- it "returns XML declaration of the document" do
- d = REXML::Document.new
- decl = REXML::XMLDecl.new("1.0", "UTF-16", "yes")
- d.add decl
- d.xml_decl.should == decl
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns default XML declaration unless present" do
- REXML::Document.new.xml_decl.should == REXML::XMLDecl.new
+ describe "REXML::Document#xml_decl" do
+ it "returns XML declaration of the document" do
+ d = REXML::Document.new
+ decl = REXML::XMLDecl.new("1.0", "UTF-16", "yes")
+ d.add decl
+ d.xml_decl.should == decl
+ end
+
+ it "returns default XML declaration unless present" do
+ REXML::Document.new.xml_decl.should == REXML::XMLDecl.new
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/add_attribute_spec.rb b/spec/ruby/library/rexml/element/add_attribute_spec.rb
index d15fb81ef1..b688f1db65 100644
--- a/spec/ruby/library/rexml/element/add_attribute_spec.rb
+++ b/spec/ruby/library/rexml/element/add_attribute_spec.rb
@@ -1,41 +1,44 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#add_attribute" do
- before :each do
- @person = REXML::Element.new "person"
- @person.attributes["name"] = "Bill"
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "adds a new attribute" do
- @person.add_attribute("age", "17")
- @person.attributes["age"].should == "17"
- end
+ describe "REXML::Element#add_attribute" do
+ before :each do
+ @person = REXML::Element.new "person"
+ @person.attributes["name"] = "Bill"
+ end
- it "overwrites an existing attribute" do
- @person.add_attribute("name", "Bill")
- @person.attributes["name"].should == "Bill"
- end
+ it "adds a new attribute" do
+ @person.add_attribute("age", "17")
+ @person.attributes["age"].should == "17"
+ end
- it "accepts a pair of strings" do
- @person.add_attribute("male", "true")
- @person.attributes["male"].should == "true"
- end
+ it "overwrites an existing attribute" do
+ @person.add_attribute("name", "Bill")
+ @person.attributes["name"].should == "Bill"
+ end
- it "accepts an Attribute for key" do
- attr = REXML::Attribute.new("male", "true")
- @person.add_attribute attr
- @person.attributes["male"].should == "true"
- end
+ it "accepts a pair of strings" do
+ @person.add_attribute("male", "true")
+ @person.attributes["male"].should == "true"
+ end
- it "ignores value if key is an Attribute" do
- attr = REXML::Attribute.new("male", "true")
- @person.add_attribute(attr, "false")
- @person.attributes["male"].should == "true"
- end
+ it "accepts an Attribute for key" do
+ attr = REXML::Attribute.new("male", "true")
+ @person.add_attribute attr
+ @person.attributes["male"].should == "true"
+ end
- it "returns the attribute added" do
- attr = REXML::Attribute.new("name", "Tony")
- @person.add_attribute(attr).should == attr
+ it "ignores value if key is an Attribute" do
+ attr = REXML::Attribute.new("male", "true")
+ @person.add_attribute(attr, "false")
+ @person.attributes["male"].should == "true"
+ end
+
+ it "returns the attribute added" do
+ attr = REXML::Attribute.new("name", "Tony")
+ @person.add_attribute(attr).should == attr
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/add_attributes_spec.rb b/spec/ruby/library/rexml/element/add_attributes_spec.rb
index b462fdf5fe..8e7e991f11 100644
--- a/spec/ruby/library/rexml/element/add_attributes_spec.rb
+++ b/spec/ruby/library/rexml/element/add_attributes_spec.rb
@@ -1,22 +1,25 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#add_attributes" do
- before :each do
- @person = REXML::Element.new "person"
- @person.attributes["name"] = "Bill"
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "adds multiple attributes from a hash" do
- @person.add_attributes({"name" => "Joe", "age" => "27"})
- @person.attributes["name"].should == "Joe"
- @person.attributes["age"].should == "27"
- end
+ describe "REXML::Element#add_attributes" do
+ before :each do
+ @person = REXML::Element.new "person"
+ @person.attributes["name"] = "Bill"
+ end
- it "adds multiple attributes from an array" do
- attrs = { "name" => "Joe", "age" => "27"}
- @person.add_attributes attrs.to_a
- @person.attributes["name"].should == "Joe"
- @person.attributes["age"].should == "27"
+ it "adds multiple attributes from a hash" do
+ @person.add_attributes({"name" => "Joe", "age" => "27"})
+ @person.attributes["name"].should == "Joe"
+ @person.attributes["age"].should == "27"
+ end
+
+ it "adds multiple attributes from an array" do
+ attrs = { "name" => "Joe", "age" => "27"}
+ @person.add_attributes attrs.to_a
+ @person.attributes["name"].should == "Joe"
+ @person.attributes["age"].should == "27"
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/add_element_spec.rb b/spec/ruby/library/rexml/element/add_element_spec.rb
index 8e2ffe3148..90fb36f8e3 100644
--- a/spec/ruby/library/rexml/element/add_element_spec.rb
+++ b/spec/ruby/library/rexml/element/add_element_spec.rb
@@ -1,39 +1,41 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
-describe "REXML::Element#add_element" do
- before :each do
- @root = REXML::Element.new("root")
- end
+ describe "REXML::Element#add_element" do
+ before :each do
+ @root = REXML::Element.new("root")
+ end
- it "adds a child without attributes" do
- name = REXML::Element.new("name")
- @root.add_element name
- @root.elements["name"].name.should == name.name
- @root.elements["name"].attributes.should == name.attributes
- @root.elements["name"].context.should == name.context
- end
+ it "adds a child without attributes" do
+ name = REXML::Element.new("name")
+ @root.add_element name
+ @root.elements["name"].name.should == name.name
+ @root.elements["name"].attributes.should == name.attributes
+ @root.elements["name"].context.should == name.context
+ end
- it "adds a child with attributes" do
- person = REXML::Element.new("person")
- @root.add_element(person, {"name" => "Madonna"})
- @root.elements["person"].name.should == person.name
- @root.elements["person"].attributes.should == person.attributes
- @root.elements["person"].context.should == person.context
- end
+ it "adds a child with attributes" do
+ person = REXML::Element.new("person")
+ @root.add_element(person, {"name" => "Madonna"})
+ @root.elements["person"].name.should == person.name
+ @root.elements["person"].attributes.should == person.attributes
+ @root.elements["person"].context.should == person.context
+ end
- it "adds a child with name" do
- @root.add_element "name"
- @root.elements["name"].name.should == "name"
- @root.elements["name"].attributes.should == {}
- @root.elements["name"].context.should == nil
- end
+ it "adds a child with name" do
+ @root.add_element "name"
+ @root.elements["name"].name.should == "name"
+ @root.elements["name"].attributes.should == {}
+ @root.elements["name"].context.should == nil
+ end
- it "returns the added child" do
- name = @root.add_element "name"
- @root.elements["name"].name.should == name.name
- @root.elements["name"].attributes.should == name.attributes
- @root.elements["name"].context.should == name.context
+ it "returns the added child" do
+ name = @root.add_element "name"
+ @root.elements["name"].name.should == name.name
+ @root.elements["name"].attributes.should == name.attributes
+ @root.elements["name"].context.should == name.context
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/add_namespace_spec.rb b/spec/ruby/library/rexml/element/add_namespace_spec.rb
index 77c00eec46..5e601dcf28 100644
--- a/spec/ruby/library/rexml/element/add_namespace_spec.rb
+++ b/spec/ruby/library/rexml/element/add_namespace_spec.rb
@@ -1,23 +1,26 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#add_namespace" do
- before :each do
- @elem = REXML::Element.new("person")
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "adds a namespace to element" do
- @elem.add_namespace("foo", "bar")
- @elem.namespace("foo").should == "bar"
- end
+ describe "REXML::Element#add_namespace" do
+ before :each do
+ @elem = REXML::Element.new("person")
+ end
- it "accepts a prefix string as prefix" do
- @elem.add_namespace("xmlns:foo", "bar")
- @elem.namespace("foo").should == "bar"
- end
+ it "adds a namespace to element" do
+ @elem.add_namespace("foo", "bar")
+ @elem.namespace("foo").should == "bar"
+ end
- it "uses prefix as URI if uri is nil" do
- @elem.add_namespace("some_uri", nil)
- @elem.namespace.should == "some_uri"
+ it "accepts a prefix string as prefix" do
+ @elem.add_namespace("xmlns:foo", "bar")
+ @elem.namespace("foo").should == "bar"
+ end
+
+ it "uses prefix as URI if uri is nil" do
+ @elem.add_namespace("some_uri", nil)
+ @elem.namespace.should == "some_uri"
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/add_text_spec.rb b/spec/ruby/library/rexml/element/add_text_spec.rb
index 54e127bf4b..200d748e61 100644
--- a/spec/ruby/library/rexml/element/add_text_spec.rb
+++ b/spec/ruby/library/rexml/element/add_text_spec.rb
@@ -1,24 +1,27 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#add_text" do
- before :each do
- @name = REXML::Element.new "Name"
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "adds text to an element" do
- @name.add_text "Ringo"
- @name.to_s.should == "Ringo"
- end
+ describe "REXML::Element#add_text" do
+ before :each do
+ @name = REXML::Element.new "Name"
+ end
- it "accepts a Text" do
- @name.add_text(REXML::Text.new("Ringo"))
- @name.to_s.should == "Ringo"
- end
+ it "adds text to an element" do
+ @name.add_text "Ringo"
+ @name.to_s.should == "Ringo"
+ end
- it "joins the new text with the old one" do
- @name.add_text "Ringo"
- @name.add_text " Starr"
- @name.to_s.should == "Ringo Starr"
+ it "accepts a Text" do
+ @name.add_text(REXML::Text.new("Ringo"))
+ @name.to_s.should == "Ringo"
+ end
+
+ it "joins the new text with the old one" do
+ @name.add_text "Ringo"
+ @name.add_text " Starr"
+ @name.to_s.should == "Ringo Starr"
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/attribute_spec.rb b/spec/ruby/library/rexml/element/attribute_spec.rb
index e40d612ef3..7b2c26658a 100644
--- a/spec/ruby/library/rexml/element/attribute_spec.rb
+++ b/spec/ruby/library/rexml/element/attribute_spec.rb
@@ -1,17 +1,20 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#attribute" do
- it "returns an attribute by name" do
- person = REXML::Element.new "Person"
- attribute = REXML::Attribute.new("drink", "coffee")
- person.add_attribute(attribute)
- person.attribute("drink").should == attribute
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "supports attributes inside namespaces" do
- e = REXML::Element.new("element")
- e.add_attributes({"xmlns:ns" => "http://some_uri"})
- e.attribute("ns", "ns").to_s.should == "http://some_uri"
+ describe "REXML::Element#attribute" do
+ it "returns an attribute by name" do
+ person = REXML::Element.new "Person"
+ attribute = REXML::Attribute.new("drink", "coffee")
+ person.add_attribute(attribute)
+ person.attribute("drink").should == attribute
+ end
+
+ it "supports attributes inside namespaces" do
+ e = REXML::Element.new("element")
+ e.add_attributes({"xmlns:ns" => "http://some_uri"})
+ e.attribute("ns", "ns").to_s.should == "http://some_uri"
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/attributes_spec.rb b/spec/ruby/library/rexml/element/attributes_spec.rb
index 8959b769a8..79a3368a9e 100644
--- a/spec/ruby/library/rexml/element/attributes_spec.rb
+++ b/spec/ruby/library/rexml/element/attributes_spec.rb
@@ -1,19 +1,22 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#attributes" do
- it "returns element's Attributes" do
- p = REXML::Element.new "Person"
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- name = REXML::Attribute.new("name", "John")
- attrs = REXML::Attributes.new(p)
- attrs.add name
+ describe "REXML::Element#attributes" do
+ it "returns element's Attributes" do
+ p = REXML::Element.new "Person"
- p.add_attribute name
- p.attributes.should == attrs
- end
+ name = REXML::Attribute.new("name", "John")
+ attrs = REXML::Attributes.new(p)
+ attrs.add name
- it "returns an empty hash if element has no attributes" do
- REXML::Element.new("Person").attributes.should == {}
+ p.add_attribute name
+ p.attributes.should == attrs
+ end
+
+ it "returns an empty hash if element has no attributes" do
+ REXML::Element.new("Person").attributes.should == {}
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/cdatas_spec.rb b/spec/ruby/library/rexml/element/cdatas_spec.rb
index a371a5734b..4cc592aae3 100644
--- a/spec/ruby/library/rexml/element/cdatas_spec.rb
+++ b/spec/ruby/library/rexml/element/cdatas_spec.rb
@@ -1,24 +1,27 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#cdatas" do
- before :each do
- @e = REXML::Element.new("Root")
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns the array of children cdatas" do
- c = REXML::CData.new("Primary")
- d = REXML::CData.new("Secondary")
- @e << c
- @e << d
- @e.cdatas.should == [c, d]
- end
+ describe "REXML::Element#cdatas" do
+ before :each do
+ @e = REXML::Element.new("Root")
+ end
- it "freezes the returned array" do
- @e.cdatas.frozen?.should == true
- end
+ it "returns the array of children cdatas" do
+ c = REXML::CData.new("Primary")
+ d = REXML::CData.new("Secondary")
+ @e << c
+ @e << d
+ @e.cdatas.should == [c, d]
+ end
- it "returns an empty array if element has no cdata" do
- @e.cdatas.should == []
+ it "freezes the returned array" do
+ @e.cdatas.frozen?.should == true
+ end
+
+ it "returns an empty array if element has no cdata" do
+ @e.cdatas.should == []
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/clone_spec.rb b/spec/ruby/library/rexml/element/clone_spec.rb
index d26392db41..06948585a4 100644
--- a/spec/ruby/library/rexml/element/clone_spec.rb
+++ b/spec/ruby/library/rexml/element/clone_spec.rb
@@ -1,29 +1,32 @@
-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
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "copies the attributes" do
- @e.add_attribute("foo", "bar")
- @e.clone.to_s.should == @e.to_s
- end
+ 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 "does not copy the text" do
- @e.add_text "some text..."
- @e.clone.to_s.should_not == @e
- @e.clone.to_s.should == ""
- 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 child elements" do
- b = REXML::Element.new "b"
- @e << b
- @e.clone.should_not == @e
- @e.clone.to_s.should == ""
+ it "does not copy the text" do
+ @e.add_text "some text..."
+ @e.clone.to_s.should_not == @e
+ @e.clone.to_s.should == ""
+ 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 == ""
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/comments_spec.rb b/spec/ruby/library/rexml/element/comments_spec.rb
index 9dac2cc5b8..59a0b3e4fb 100644
--- a/spec/ruby/library/rexml/element/comments_spec.rb
+++ b/spec/ruby/library/rexml/element/comments_spec.rb
@@ -1,20 +1,23 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#comments" do
- before :each do
- @e = REXML::Element.new "root"
- @c1 = REXML::Comment.new "this is a comment"
- @c2 = REXML::Comment.new "this is another comment"
- @e << @c1
- @e << @c2
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns the array of comments" do
- @e.comments.should == [@c1, @c2]
- end
+ describe "REXML::Element#comments" do
+ before :each do
+ @e = REXML::Element.new "root"
+ @c1 = REXML::Comment.new "this is a comment"
+ @c2 = REXML::Comment.new "this is another comment"
+ @e << @c1
+ @e << @c2
+ end
- it "returns a frozen object" do
- @e.comments.frozen?.should == true
+ it "returns the array of comments" do
+ @e.comments.should == [@c1, @c2]
+ end
+
+ it "returns a frozen object" do
+ @e.comments.frozen?.should == true
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/delete_attribute_spec.rb b/spec/ruby/library/rexml/element/delete_attribute_spec.rb
index 5c55c5efda..9d8669e405 100644
--- a/spec/ruby/library/rexml/element/delete_attribute_spec.rb
+++ b/spec/ruby/library/rexml/element/delete_attribute_spec.rb
@@ -1,39 +1,43 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#delete_attribute" do
- before :each do
- @e = REXML::Element.new("Person")
- @attr = REXML::Attribute.new("name", "Sean")
- @e.add_attribute(@attr)
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "deletes an attribute from the element" do
- @e.delete_attribute("name")
- @e.attributes["name"].should be_nil
- end
-
-# Bug was filled with a patch in Ruby's tracker #20298
- quarantine! do
- it "receives an Attribute" do
+ describe "REXML::Element#delete_attribute" do
+ before :each do
+ @e = REXML::Element.new("Person")
+ @attr = REXML::Attribute.new("name", "Sean")
@e.add_attribute(@attr)
- @e.delete_attribute(@attr)
+ end
+
+ it "deletes an attribute from the element" do
+ @e.delete_attribute("name")
@e.attributes["name"].should be_nil
end
- end
- # Docs say that it returns the removed attribute but then examples
- # show it returns the element with the attribute removed.
- # Also fixed in #20298
- it "returns the element with the attribute removed" do
- elem = @e.delete_attribute("name")
- elem.attributes.should be_empty
- elem.to_s.should eql("")
- end
+ # Bug was filled with a patch in Ruby's tracker #20298
+ quarantine! do
+ it "receives an Attribute" do
+ @e.add_attribute(@attr)
+ @e.delete_attribute(@attr)
+ @e.attributes["name"].should be_nil
+ end
+ end
- it "returns nil if the attribute does not exist" do
- @e.delete_attribute("name")
- at = @e.delete_attribute("name")
- at.should be_nil
+ # Docs say that it returns the removed attribute but then examples
+ # show it returns the element with the attribute removed.
+ # Also fixed in #20298
+ it "returns the element with the attribute removed" do
+ elem = @e.delete_attribute("name")
+ elem.attributes.should be_empty
+ elem.to_s.should eql("")
+ end
+
+ it "returns nil if the attribute does not exist" do
+ @e.delete_attribute("name")
+ at = @e.delete_attribute("name")
+ at.should be_nil
+ end
end
end
+
diff --git a/spec/ruby/library/rexml/element/delete_element_spec.rb b/spec/ruby/library/rexml/element/delete_element_spec.rb
index 9417229bd4..f2c50eb95e 100644
--- a/spec/ruby/library/rexml/element/delete_element_spec.rb
+++ b/spec/ruby/library/rexml/element/delete_element_spec.rb
@@ -1,49 +1,52 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#delete_element" do
- before :each do
- @root = REXML::Element.new("root")
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "deletes the child element" do
- node = REXML::Element.new("some_node")
- @root.add_element node
- @root.delete_element node
- @root.elements.size.should == 0
- end
+ describe "REXML::Element#delete_element" do
+ before :each do
+ @root = REXML::Element.new("root")
+ end
- it "deletes a child via XPath" do
- @root.add_element "some_node"
- @root.delete_element "some_node"
- @root.elements.size.should == 0
- end
+ it "deletes the child element" do
+ node = REXML::Element.new("some_node")
+ @root.add_element node
+ @root.delete_element node
+ @root.elements.size.should == 0
+ end
- it "deletes the child at index" do
- @root.add_element "some_node"
- @root.delete_element 1
- @root.elements.size.should == 0
- end
+ it "deletes a child via XPath" do
+ @root.add_element "some_node"
+ @root.delete_element "some_node"
+ @root.elements.size.should == 0
+ end
- # According to the docs this should return the deleted element
- # but it won't if it's an Element.
- it "deletes Element and returns it" do
- node = REXML::Element.new("some_node")
- @root.add_element node
- del_node = @root.delete_element node
- del_node.should == node
- end
+ it "deletes the child at index" do
+ @root.add_element "some_node"
+ @root.delete_element 1
+ @root.elements.size.should == 0
+ end
- # Note how passing the string will return the removed element
- # but passing the Element as above won't.
- it "deletes an element and returns it" do
- node = REXML::Element.new("some_node")
- @root.add_element node
- del_node = @root.delete_element "some_node"
- del_node.should == node
- end
+ # According to the docs this should return the deleted element
+ # but it won't if it's an Element.
+ it "deletes Element and returns it" do
+ node = REXML::Element.new("some_node")
+ @root.add_element node
+ del_node = @root.delete_element node
+ del_node.should == node
+ end
- it "returns nil unless element exists" do
- @root.delete_element("something").should == nil
+ # Note how passing the string will return the removed element
+ # but passing the Element as above won't.
+ it "deletes an element and returns it" do
+ node = REXML::Element.new("some_node")
+ @root.add_element node
+ del_node = @root.delete_element "some_node"
+ del_node.should == node
+ end
+
+ it "returns nil unless element exists" do
+ @root.delete_element("something").should == nil
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/delete_namespace_spec.rb b/spec/ruby/library/rexml/element/delete_namespace_spec.rb
index 8683a40cab..4b37c2c41c 100644
--- a/spec/ruby/library/rexml/element/delete_namespace_spec.rb
+++ b/spec/ruby/library/rexml/element/delete_namespace_spec.rb
@@ -1,25 +1,28 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#delete_namespace" do
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- before :each do
- @doc = REXML::Document.new ""
- end
+ describe "REXML::Element#delete_namespace" do
- it "deletes a namespace from the element" do
- @doc.root.delete_namespace 'foo'
- @doc.root.namespace("foo").should be_nil
- @doc.root.to_s.should == ""
- end
+ before :each do
+ @doc = REXML::Document.new ""
+ end
- it "deletes default namespace when called with no args" do
- @doc.root.delete_namespace
- @doc.root.namespace.should be_empty
- @doc.root.to_s.should == ""
- end
+ it "deletes a namespace from the element" do
+ @doc.root.delete_namespace 'foo'
+ @doc.root.namespace("foo").should be_nil
+ @doc.root.to_s.should == ""
+ end
- it "returns the element" do
- @doc.root.delete_namespace.should == @doc.root
+ it "deletes default namespace when called with no args" do
+ @doc.root.delete_namespace
+ @doc.root.namespace.should be_empty
+ @doc.root.to_s.should == ""
+ end
+
+ it "returns the element" do
+ @doc.root.delete_namespace.should == @doc.root
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/document_spec.rb b/spec/ruby/library/rexml/element/document_spec.rb
index 24773580f2..c9f74c4056 100644
--- a/spec/ruby/library/rexml/element/document_spec.rb
+++ b/spec/ruby/library/rexml/element/document_spec.rb
@@ -1,16 +1,19 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#document" do
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns the element's document" do
- d = REXML::Document.new("")
- d << REXML::XMLDecl.new
- d.root.document.should == d
- d.root.document.to_s.should == d.to_s
- end
+ describe "REXML::Element#document" do
- it "returns nil if it belongs to no document" do
- REXML::Element.new("standalone").document.should be_nil
+ it "returns the element's document" do
+ d = REXML::Document.new("")
+ d << REXML::XMLDecl.new
+ d.root.document.should == d
+ d.root.document.to_s.should == d.to_s
+ end
+
+ it "returns nil if it belongs to no document" do
+ REXML::Element.new("standalone").document.should be_nil
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/each_element_with_attribute_spec.rb b/spec/ruby/library/rexml/element/each_element_with_attribute_spec.rb
index 3c5da3f015..5d6f4b371a 100644
--- a/spec/ruby/library/rexml/element/each_element_with_attribute_spec.rb
+++ b/spec/ruby/library/rexml/element/each_element_with_attribute_spec.rb
@@ -1,35 +1,38 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#each_element_with_attributes" do
- before :each do
- @document = REXML::Element.new("people")
- @father = REXML::Element.new("Person")
- @father.attributes["name"] = "Joe"
- @son = REXML::Element.new("Child")
- @son.attributes["name"] = "Fred"
- @document.root << @father
- @document.root << @son
- @childs = []
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns childs with attribute" do
- @document.each_element_with_attribute("name") { |elem| @childs << elem }
- @childs[0].should == @father
- @childs[1].should == @son
- end
+ describe "REXML::Element#each_element_with_attributes" do
+ before :each do
+ @document = REXML::Element.new("people")
+ @father = REXML::Element.new("Person")
+ @father.attributes["name"] = "Joe"
+ @son = REXML::Element.new("Child")
+ @son.attributes["name"] = "Fred"
+ @document.root << @father
+ @document.root << @son
+ @childs = []
+ end
- it "takes attribute value as second argument" do
- @document.each_element_with_attribute("name", "Fred"){ |elem| elem.should == @son }
- end
+ it "returns childs with attribute" do
+ @document.each_element_with_attribute("name") { |elem| @childs << elem }
+ @childs[0].should == @father
+ @childs[1].should == @son
+ end
- it "takes max number of childs as third argument" do
- @document.each_element_with_attribute("name", nil, 1) { |elem| @childs << elem }
- @childs.size.should == 1
- @childs[0].should == @father
- end
+ it "takes attribute value as second argument" do
+ @document.each_element_with_attribute("name", "Fred"){ |elem| elem.should == @son }
+ end
- it "takes XPath filter as fourth argument" do
- @document.each_element_with_attribute("name", nil, 0, "Child"){ |elem| elem.should == @son}
+ it "takes max number of childs as third argument" do
+ @document.each_element_with_attribute("name", nil, 1) { |elem| @childs << elem }
+ @childs.size.should == 1
+ @childs[0].should == @father
+ end
+
+ it "takes XPath filter as fourth argument" do
+ @document.each_element_with_attribute("name", nil, 0, "Child"){ |elem| elem.should == @son}
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/each_element_with_text_spec.rb b/spec/ruby/library/rexml/element/each_element_with_text_spec.rb
index 5f9e5b85dc..65f5ea5f11 100644
--- a/spec/ruby/library/rexml/element/each_element_with_text_spec.rb
+++ b/spec/ruby/library/rexml/element/each_element_with_text_spec.rb
@@ -1,31 +1,34 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#each_element_with_text" do
- before :each do
- @document = REXML::Element.new("people")
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- @joe = REXML::Element.new("Person")
- @joe.text = "Joe"
- @fred = REXML::Element.new("Person")
- @fred.text = "Fred"
- @another = REXML::Element.new("AnotherPerson")
- @another.text = "Fred"
- @document.root << @joe
- @document.root << @fred
- @document.root << @another
- @childs = []
- end
+ describe "REXML::Element#each_element_with_text" do
+ before :each do
+ @document = REXML::Element.new("people")
- it "returns childs with text" do
- @document.each_element_with_text("Joe"){|c| c.should == @joe}
- end
+ @joe = REXML::Element.new("Person")
+ @joe.text = "Joe"
+ @fred = REXML::Element.new("Person")
+ @fred.text = "Fred"
+ @another = REXML::Element.new("AnotherPerson")
+ @another.text = "Fred"
+ @document.root << @joe
+ @document.root << @fred
+ @document.root << @another
+ @childs = []
+ end
- it "takes max as second argument" do
- @document.each_element_with_text("Fred", 1){ |c| c.should == @fred}
- end
+ it "returns childs with text" do
+ @document.each_element_with_text("Joe"){|c| c.should == @joe}
+ end
- it "takes XPath filter as third argument" do
- @document.each_element_with_text("Fred", 0, "Person"){ |c| c.should == @fred}
+ it "takes max as second argument" do
+ @document.each_element_with_text("Fred", 1){ |c| c.should == @fred}
+ end
+
+ it "takes XPath filter as third argument" do
+ @document.each_element_with_text("Fred", 0, "Person"){ |c| c.should == @fred}
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/element_reference_spec.rb b/spec/ruby/library/rexml/element/element_reference_spec.rb
index 9660ff7507..0deaf990eb 100644
--- a/spec/ruby/library/rexml/element/element_reference_spec.rb
+++ b/spec/ruby/library/rexml/element/element_reference_spec.rb
@@ -1,20 +1,23 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#[]" do
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- before :each do
- @doc = REXML::Document.new("")
- @child = REXML::Element.new("child")
- @doc.root.add_element @child
- end
+ describe "REXML::Element#[]" do
- it "return attribute value if argument is string or symbol" do
- @doc.root[:foo].should == 'bar'
- @doc.root['foo'].should == 'bar'
- end
+ before :each do
+ @doc = REXML::Document.new("")
+ @child = REXML::Element.new("child")
+ @doc.root.add_element @child
+ end
- it "return nth element if argument is int" do
- @doc.root[0].should == @child
+ it "return attribute value if argument is string or symbol" do
+ @doc.root[:foo].should == 'bar'
+ @doc.root['foo'].should == 'bar'
+ end
+
+ it "return nth element if argument is int" do
+ @doc.root[0].should == @child
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/get_text_spec.rb b/spec/ruby/library/rexml/element/get_text_spec.rb
index 8ee9ea0824..cfdc758acd 100644
--- a/spec/ruby/library/rexml/element/get_text_spec.rb
+++ b/spec/ruby/library/rexml/element/get_text_spec.rb
@@ -1,18 +1,21 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#get_text" do
- before :each do
- @doc = REXML::Document.new "some textthis is bold! more text
"
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns the first text child node" do
- @doc.root.get_text.value.should == "some text"
- @doc.root.get_text.should be_kind_of(REXML::Text)
- end
+ describe "REXML::Element#get_text" do
+ before :each do
+ @doc = REXML::Document.new "some textthis is bold! more text
"
+ end
- it "returns text from an element matching path" do
- @doc.root.get_text("b").value.should == "this is bold!"
- @doc.root.get_text("b").should be_kind_of(REXML::Text)
+ it "returns the first text child node" do
+ @doc.root.get_text.value.should == "some text"
+ @doc.root.get_text.should be_kind_of(REXML::Text)
+ end
+
+ it "returns text from an element matching path" do
+ @doc.root.get_text("b").value.should == "this is bold!"
+ @doc.root.get_text("b").should be_kind_of(REXML::Text)
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/has_attributes_spec.rb b/spec/ruby/library/rexml/element/has_attributes_spec.rb
index f89ec675f5..83d71396c4 100644
--- a/spec/ruby/library/rexml/element/has_attributes_spec.rb
+++ b/spec/ruby/library/rexml/element/has_attributes_spec.rb
@@ -1,17 +1,20 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#has_attributes?" do
- before :each do
- @e = REXML::Element.new("test_elem")
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns true when element has any attributes" do
- @e.add_attribute("name", "Joe")
- @e.has_attributes?.should be_true
- end
+ describe "REXML::Element#has_attributes?" do
+ before :each do
+ @e = REXML::Element.new("test_elem")
+ end
- it "returns false if element has no attributes" do
- @e.has_attributes?.should be_false
+ it "returns true when element has any attributes" do
+ @e.add_attribute("name", "Joe")
+ @e.has_attributes?.should be_true
+ end
+
+ it "returns false if element has no attributes" do
+ @e.has_attributes?.should be_false
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/has_elements_spec.rb b/spec/ruby/library/rexml/element/has_elements_spec.rb
index dc5fc9c25b..815a987ca0 100644
--- a/spec/ruby/library/rexml/element/has_elements_spec.rb
+++ b/spec/ruby/library/rexml/element/has_elements_spec.rb
@@ -1,18 +1,21 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#has_elements?" do
- before :each do
- @e = REXML::Element.new("root")
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns true if element has child elements" do
- child = REXML::Element.new("child")
- @e << child
- @e.has_elements?.should be_true
- end
+ describe "REXML::Element#has_elements?" do
+ before :each do
+ @e = REXML::Element.new("root")
+ end
- it "returns false if element doesn't have child elements" do
- @e.has_elements?.should be_false
+ it "returns true if element has child elements" do
+ child = REXML::Element.new("child")
+ @e << child
+ @e.has_elements?.should be_true
+ end
+
+ it "returns false if element doesn't have child elements" do
+ @e.has_elements?.should be_false
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/has_text_spec.rb b/spec/ruby/library/rexml/element/has_text_spec.rb
index e9d5a176cb..f2c5bc4ffa 100644
--- a/spec/ruby/library/rexml/element/has_text_spec.rb
+++ b/spec/ruby/library/rexml/element/has_text_spec.rb
@@ -1,16 +1,19 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#has_text?" do
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns true if element has a Text child" do
- e = REXML::Element.new("Person")
- e.text = "My text"
- e.has_text?.should be_true
- end
+ describe "REXML::Element#has_text?" do
- it "returns false if it has no Text childs" do
- e = REXML::Element.new("Person")
- e.has_text?.should be_false
+ it "returns true if element has a Text child" do
+ e = REXML::Element.new("Person")
+ e.text = "My text"
+ e.has_text?.should be_true
+ end
+
+ it "returns false if it has no Text childs" do
+ e = REXML::Element.new("Person")
+ e.has_text?.should be_false
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/inspect_spec.rb b/spec/ruby/library/rexml/element/inspect_spec.rb
index f45edd0b1f..5eb8ef2265 100644
--- a/spec/ruby/library/rexml/element/inspect_spec.rb
+++ b/spec/ruby/library/rexml/element/inspect_spec.rb
@@ -1,27 +1,30 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#inspect" do
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- before :each do
- @name = REXML::Element.new "name"
- end
+ describe "REXML::Element#inspect" do
- it "returns the node as a string" do
- @name.inspect.should == ""
- end
+ before :each do
+ @name = REXML::Element.new "name"
+ end
- it "inserts '...' if the node has children" do
- e = REXML::Element.new "last_name"
- @name << e
- @name.inspect.should == " ... >"
- # This might make more sense but differs from MRI's default behavior
- # @name.inspect.should == " ... "
- end
+ it "returns the node as a string" do
+ @name.inspect.should == ""
+ end
- it "inserts the attributes in the string" do
- @name.add_attribute "language"
- @name.attributes["language"] = "english"
- @name.inspect.should == ""
+ it "inserts '...' if the node has children" do
+ e = REXML::Element.new "last_name"
+ @name << e
+ @name.inspect.should == " ... >"
+ # This might make more sense but differs from MRI's default behavior
+ # @name.inspect.should == " ... "
+ end
+
+ it "inserts the attributes in the string" do
+ @name.add_attribute "language"
+ @name.attributes["language"] = "english"
+ @name.inspect.should == ""
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/instructions_spec.rb b/spec/ruby/library/rexml/element/instructions_spec.rb
index aa2d192e7c..bd9dfcef50 100644
--- a/spec/ruby/library/rexml/element/instructions_spec.rb
+++ b/spec/ruby/library/rexml/element/instructions_spec.rb
@@ -1,21 +1,24 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#instructions" do
- before :each do
- @elem = REXML::Element.new("root")
- end
- it "returns the Instruction children nodes" do
- inst = REXML::Instruction.new("xml-stylesheet", "href='headlines.css'")
- @elem << inst
- @elem.instructions.first.should == inst
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns an empty array if it has no Instruction children" do
- @elem.instructions.should be_empty
- end
+ describe "REXML::Element#instructions" do
+ before :each do
+ @elem = REXML::Element.new("root")
+ end
+ it "returns the Instruction children nodes" do
+ inst = REXML::Instruction.new("xml-stylesheet", "href='headlines.css'")
+ @elem << inst
+ @elem.instructions.first.should == inst
+ end
- it "freezes the returned array" do
- @elem.instructions.frozen?.should be_true
+ it "returns an empty array if it has no Instruction children" do
+ @elem.instructions.should be_empty
+ end
+
+ it "freezes the returned array" do
+ @elem.instructions.frozen?.should be_true
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/namespace_spec.rb b/spec/ruby/library/rexml/element/namespace_spec.rb
index 89662f3599..a359887826 100644
--- a/spec/ruby/library/rexml/element/namespace_spec.rb
+++ b/spec/ruby/library/rexml/element/namespace_spec.rb
@@ -1,27 +1,30 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#namespace" do
- before :each do
- @doc = REXML::Document.new("")
- @elem = @doc.elements["//b"]
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns the default namespace" do
- @elem.namespace.should == "1"
- end
+ describe "REXML::Element#namespace" do
+ before :each do
+ @doc = REXML::Document.new("")
+ @elem = @doc.elements["//b"]
+ end
- it "accepts a namespace prefix" do
- @elem.namespace("y").should == "2"
- @doc.elements["//c"].namespace("z").should == "3"
- end
+ it "returns the default namespace" do
+ @elem.namespace.should == "1"
+ end
- it "returns an empty String if default namespace is not defined" do
- e = REXML::Document.new("")
- e.root.namespace.should be_empty
- end
+ it "accepts a namespace prefix" do
+ @elem.namespace("y").should == "2"
+ @doc.elements["//c"].namespace("z").should == "3"
+ end
- it "returns nil if namespace is not defined" do
- @elem.namespace("z").should be_nil
+ it "returns an empty String if default namespace is not defined" do
+ e = REXML::Document.new("")
+ e.root.namespace.should be_empty
+ end
+
+ it "returns nil if namespace is not defined" do
+ @elem.namespace("z").should be_nil
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/namespaces_spec.rb b/spec/ruby/library/rexml/element/namespaces_spec.rb
index a84c1d1dab..7bf8ec6421 100644
--- a/spec/ruby/library/rexml/element/namespaces_spec.rb
+++ b/spec/ruby/library/rexml/element/namespaces_spec.rb
@@ -1,32 +1,35 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#namespaces" do
- before :each do
- doc = REXML::Document.new("")
- @elem = doc.elements["//c"]
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns a hash of the namespaces" do
- ns = {"y"=>"2", "z"=>"3", "xmlns"=>"1"}
- @elem.namespaces.keys.sort.should == ns.keys.sort
- @elem.namespaces.values.sort.should == ns.values.sort
- end
+ describe "REXML::Element#namespaces" do
+ before :each do
+ doc = REXML::Document.new("")
+ @elem = doc.elements["//c"]
+ end
- it "returns an empty hash if no namespaces exist" do
- e = REXML::Element.new "element"
- e.namespaces.kind_of?(Hash).should == true
- e.namespaces.should be_empty
- end
+ it "returns a hash of the namespaces" do
+ ns = {"y"=>"2", "z"=>"3", "xmlns"=>"1"}
+ @elem.namespaces.keys.sort.should == ns.keys.sort
+ @elem.namespaces.values.sort.should == ns.values.sort
+ end
- it "uses namespace prefixes as keys" do
- prefixes = ["y", "z", "xmlns"]
- @elem.namespaces.keys.sort.should == prefixes.sort
- end
+ it "returns an empty hash if no namespaces exist" do
+ e = REXML::Element.new "element"
+ e.namespaces.kind_of?(Hash).should == true
+ e.namespaces.should be_empty
+ end
- it "uses namespace values as the hash values" do
- values = ["2", "3", "1"]
- @elem.namespaces.values.sort.should == values.sort
- end
+ it "uses namespace prefixes as keys" do
+ prefixes = ["y", "z", "xmlns"]
+ @elem.namespaces.keys.sort.should == prefixes.sort
+ end
+ it "uses namespace values as the hash values" do
+ values = ["2", "3", "1"]
+ @elem.namespaces.values.sort.should == values.sort
+ end
+
+ end
end
diff --git a/spec/ruby/library/rexml/element/new_spec.rb b/spec/ruby/library/rexml/element/new_spec.rb
index 4ffdf4dabe..35a8438495 100644
--- a/spec/ruby/library/rexml/element/new_spec.rb
+++ b/spec/ruby/library/rexml/element/new_spec.rb
@@ -1,35 +1,38 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#new" do
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "creates element from tag name" do
- REXML::Element.new("foo").name.should == "foo"
- end
+ describe "REXML::Element#new" do
- 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 tag name" do
+ REXML::Element.new("foo").name.should == "foo"
+ 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 "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 "takes parent as second argument" do
- parent = REXML::Element.new "foo"
- child = REXML::Element.new "bar", parent
- child.parent.should == parent
- 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 context as third argument" do
- context = {"some_key" => "some_value"}
- REXML::Element.new("foo", nil, context).context.should == context
+ 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
end
diff --git a/spec/ruby/library/rexml/element/next_element_spec.rb b/spec/ruby/library/rexml/element/next_element_spec.rb
index 5b6d6cad9b..2c7875a248 100644
--- a/spec/ruby/library/rexml/element/next_element_spec.rb
+++ b/spec/ruby/library/rexml/element/next_element_spec.rb
@@ -1,19 +1,22 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#next_element" do
- before :each do
- @a = REXML::Element.new "a"
- @b = REXML::Element.new "b"
- @c = REXML::Element.new "c"
- @a.root << @b
- @a.root << @c
- end
- it "returns next existing element" do
- @a.elements["b"].next_element.should == @c
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns nil on last element" do
- @a.elements["c"].next_element.should == nil
+ describe "REXML::Element#next_element" do
+ before :each do
+ @a = REXML::Element.new "a"
+ @b = REXML::Element.new "b"
+ @c = REXML::Element.new "c"
+ @a.root << @b
+ @a.root << @c
+ end
+ it "returns next existing element" do
+ @a.elements["b"].next_element.should == @c
+ end
+
+ it "returns nil on last element" do
+ @a.elements["c"].next_element.should == nil
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/node_type_spec.rb b/spec/ruby/library/rexml/element/node_type_spec.rb
index bcab9e126d..d641dd89d3 100644
--- a/spec/ruby/library/rexml/element/node_type_spec.rb
+++ b/spec/ruby/library/rexml/element/node_type_spec.rb
@@ -1,8 +1,11 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#node_type" do
- it "returns :element" do
- REXML::Element.new("MyElem").node_type.should == :element
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
+
+ describe "REXML::Element#node_type" do
+ it "returns :element" do
+ REXML::Element.new("MyElem").node_type.should == :element
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/prefixes_spec.rb b/spec/ruby/library/rexml/element/prefixes_spec.rb
index b6edf9a847..77557e165a 100644
--- a/spec/ruby/library/rexml/element/prefixes_spec.rb
+++ b/spec/ruby/library/rexml/element/prefixes_spec.rb
@@ -1,23 +1,26 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#prefixes" do
- before :each do
- doc = REXML::Document.new("")
- @elem = doc.elements["//c"]
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns an array of the prefixes of the namespaces" do
- @elem.prefixes.should == ["y", "z"]
- end
+ describe "REXML::Element#prefixes" do
+ before :each do
+ doc = REXML::Document.new("")
+ @elem = doc.elements["//c"]
+ end
- it "does not include the default namespace" do
- @elem.prefixes.include?("xmlns").should == false
- end
+ it "returns an array of the prefixes of the namespaces" do
+ @elem.prefixes.should == ["y", "z"]
+ end
- it "returns an empty array if no namespace was defined" do
- doc = REXML::Document.new ""
- root = doc.elements["//root"]
- root.prefixes.should == []
+ it "does not include the default namespace" do
+ @elem.prefixes.include?("xmlns").should == false
+ end
+
+ it "returns an empty array if no namespace was defined" do
+ doc = REXML::Document.new ""
+ root = doc.elements["//root"]
+ root.prefixes.should == []
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/previous_element_spec.rb b/spec/ruby/library/rexml/element/previous_element_spec.rb
index 2fe79d955f..aa19c187be 100644
--- a/spec/ruby/library/rexml/element/previous_element_spec.rb
+++ b/spec/ruby/library/rexml/element/previous_element_spec.rb
@@ -1,20 +1,23 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#previous_element" do
- before :each do
- @a = REXML::Element.new "a"
- @b = REXML::Element.new "b"
- @c = REXML::Element.new "c"
- @a.root << @b
- @a.root << @c
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns previous element" do
- @a.elements["c"].previous_element.should == @b
- end
+ describe "REXML::Element#previous_element" do
+ before :each do
+ @a = REXML::Element.new "a"
+ @b = REXML::Element.new "b"
+ @c = REXML::Element.new "c"
+ @a.root << @b
+ @a.root << @c
+ end
- it "returns nil on first element" do
- @a.elements["b"].previous_element.should == nil
+ it "returns previous element" do
+ @a.elements["c"].previous_element.should == @b
+ end
+
+ it "returns nil on first element" do
+ @a.elements["b"].previous_element.should == nil
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/raw_spec.rb b/spec/ruby/library/rexml/element/raw_spec.rb
index 404ccce5f4..2a913e1ac7 100644
--- a/spec/ruby/library/rexml/element/raw_spec.rb
+++ b/spec/ruby/library/rexml/element/raw_spec.rb
@@ -1,24 +1,27 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#raw" do
- it "returns true if raw mode is set to all" do
- REXML::Element.new("MyElem", nil, {raw: :all}).raw.should == true
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns true if raw mode is set to expanded_name" do
- REXML::Element.new("MyElem", nil, {raw: "MyElem"}).raw.should == true
- end
+ describe "REXML::Element#raw" do
+ it "returns true if raw mode is set to all" do
+ REXML::Element.new("MyElem", nil, {raw: :all}).raw.should == true
+ end
- it "returns false if raw mode is not set" do
- REXML::Element.new("MyElem", nil, {raw: ""}).raw.should == false
- end
+ it "returns true if raw mode is set to expanded_name" do
+ REXML::Element.new("MyElem", nil, {raw: "MyElem"}).raw.should == true
+ end
- it "returns false if raw is not :all or expanded_name" do
- REXML::Element.new("MyElem", nil, {raw: "Something"}).raw.should == false
- end
+ it "returns false if raw mode is not set" do
+ REXML::Element.new("MyElem", nil, {raw: ""}).raw.should == false
+ end
- it "returns nil if context is not set" do
- REXML::Element.new("MyElem").raw.should == nil
+ it "returns false if raw is not :all or expanded_name" do
+ REXML::Element.new("MyElem", nil, {raw: "Something"}).raw.should == false
+ end
+
+ it "returns nil if context is not set" do
+ REXML::Element.new("MyElem").raw.should == nil
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/root_spec.rb b/spec/ruby/library/rexml/element/root_spec.rb
index 1e0669033e..4e88446ac2 100644
--- a/spec/ruby/library/rexml/element/root_spec.rb
+++ b/spec/ruby/library/rexml/element/root_spec.rb
@@ -1,28 +1,31 @@
require_relative '../../../spec_helper'
-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
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns first child on documents" do
- @doc.root.should == @root
- end
+ 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 self on root nodes" do
- @root.root.should == @root
- end
+ it "returns first child on documents" do
+ @doc.root.should == @root
+ end
- it "returns parent's root on child nodes" do
- @node.root.should == @root
- end
+ it "returns self on root nodes" do
+ @root.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
+ 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
diff --git a/spec/ruby/library/rexml/element/text_spec.rb b/spec/ruby/library/rexml/element/text_spec.rb
index 7c290c4cda..b7d493589e 100644
--- a/spec/ruby/library/rexml/element/text_spec.rb
+++ b/spec/ruby/library/rexml/element/text_spec.rb
@@ -1,46 +1,49 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#text" do
- before :each do
- @e = REXML::Element.new "name"
- @e.text = "John"
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
+
+ describe "REXML::Element#text" do
+ before :each do
+ @e = REXML::Element.new "name"
+ @e.text = "John"
+ end
+
+ it "returns the text node of element" do
+ @e.text.should == "John"
+ end
+
+ it "returns the text node value" do
+ t = REXML::Text.new "Joe"
+ @e.text = t
+ @e.text.should == "Joe"
+ @e.text.should_not == t
+ end
+
+ it "returns nil if no text is attached" do
+ elem = REXML::Element.new "name"
+ elem.text.should == nil
+ end
end
- it "returns the text node of element" do
- @e.text.should == "John"
- end
+ describe "REXML::Element#text=" do
+ before :each do
+ @e = REXML::Element.new "name"
+ @e.text = "John"
+ end
- it "returns the text node value" do
- t = REXML::Text.new "Joe"
- @e.text = t
- @e.text.should == "Joe"
- @e.text.should_not == t
- end
+ it "sets the text node" do
+ @e.to_s.should == "John"
+ end
- it "returns nil if no text is attached" do
- elem = REXML::Element.new "name"
- elem.text.should == nil
- end
-end
-
-describe "REXML::Element#text=" do
- before :each do
- @e = REXML::Element.new "name"
- @e.text = "John"
- end
-
- it "sets the text node" do
- @e.to_s.should == "John"
- end
-
- it "replaces existing text" do
- @e.text = "Joe"
- @e.to_s.should == "Joe"
- end
-
- it "receives nil as an argument" do
- @e.text = nil
- @e.to_s.should == ""
+ it "replaces existing text" do
+ @e.text = "Joe"
+ @e.to_s.should == "Joe"
+ end
+
+ it "receives nil as an argument" do
+ @e.text = nil
+ @e.to_s.should == ""
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/texts_spec.rb b/spec/ruby/library/rexml/element/texts_spec.rb
index 7975833c89..7f610ba31b 100644
--- a/spec/ruby/library/rexml/element/texts_spec.rb
+++ b/spec/ruby/library/rexml/element/texts_spec.rb
@@ -1,16 +1,19 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#texts" do
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns an array of the Text children" do
- e = REXML::Element.new("root")
- e.add_text "First"
- e.add_text "Second"
- e.texts.should == ["FirstSecond"]
- end
+ describe "REXML::Element#texts" do
- it "returns an empty array if it has no Text children" do
- REXML::Element.new("root").texts.should == []
+ it "returns an array of the Text children" do
+ e = REXML::Element.new("root")
+ e.add_text "First"
+ e.add_text "Second"
+ e.texts.should == ["FirstSecond"]
+ end
+
+ it "returns an empty array if it has no Text children" do
+ REXML::Element.new("root").texts.should == []
+ end
end
end
diff --git a/spec/ruby/library/rexml/element/whitespace_spec.rb b/spec/ruby/library/rexml/element/whitespace_spec.rb
index dc785ae5ce..8cd2e5b5e8 100644
--- a/spec/ruby/library/rexml/element/whitespace_spec.rb
+++ b/spec/ruby/library/rexml/element/whitespace_spec.rb
@@ -1,23 +1,26 @@
-require 'rexml/document'
require_relative '../../../spec_helper'
-describe "REXML::Element#whitespace" do
- it "returns true if whitespace is respected in the element" do
- e = REXML::Element.new("root")
- e.whitespace.should be_true
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- e = REXML::Element.new("root", nil, respect_whitespace: :all)
- e.whitespace.should be_true
+ describe "REXML::Element#whitespace" do
+ it "returns true if whitespace is respected in the element" do
+ e = REXML::Element.new("root")
+ e.whitespace.should be_true
- e = REXML::Element.new("root", nil, respect_whitespace: ["root"])
- e.whitespace.should be_true
- end
+ e = REXML::Element.new("root", nil, respect_whitespace: :all)
+ e.whitespace.should be_true
- it "returns false if whitespace is ignored inside element" do
- e = REXML::Element.new("root", nil, compress_whitespace: :all)
- e.whitespace.should be_false
+ e = REXML::Element.new("root", nil, respect_whitespace: ["root"])
+ e.whitespace.should be_true
+ end
- e = REXML::Element.new("root", nil, compress_whitespace: ["root"])
- e.whitespace.should be_false
+ it "returns false if whitespace is ignored inside element" do
+ e = REXML::Element.new("root", nil, compress_whitespace: :all)
+ e.whitespace.should be_false
+
+ e = REXML::Element.new("root", nil, compress_whitespace: ["root"])
+ e.whitespace.should be_false
+ end
end
end
diff --git a/spec/ruby/library/rexml/node/each_recursive_spec.rb b/spec/ruby/library/rexml/node/each_recursive_spec.rb
index dd4aa9a2f2..4a669a399d 100644
--- a/spec/ruby/library/rexml/node/each_recursive_spec.rb
+++ b/spec/ruby/library/rexml/node/each_recursive_spec.rb
@@ -1,21 +1,24 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Node#each_recursive" do
- before :each do
- @doc = REXML::Document.new
- @doc << REXML::XMLDecl.new
- @root = REXML::Element.new "root"
- @child1 = REXML::Element.new "child1"
- @child2 = REXML::Element.new "child2"
- @root << @child1
- @root << @child2
- @doc << @root
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "visits all subnodes of self" do
- nodes = []
- @doc.each_recursive { |node| nodes << node}
- nodes.should == [@root, @child1, @child2]
+ describe "REXML::Node#each_recursive" do
+ before :each do
+ @doc = REXML::Document.new
+ @doc << REXML::XMLDecl.new
+ @root = REXML::Element.new "root"
+ @child1 = REXML::Element.new "child1"
+ @child2 = REXML::Element.new "child2"
+ @root << @child1
+ @root << @child2
+ @doc << @root
+ end
+
+ it "visits all subnodes of self" do
+ nodes = []
+ @doc.each_recursive { |node| nodes << node}
+ nodes.should == [@root, @child1, @child2]
+ end
end
end
diff --git a/spec/ruby/library/rexml/node/find_first_recursive_spec.rb b/spec/ruby/library/rexml/node/find_first_recursive_spec.rb
index ba46f2ca35..ab7900a3ac 100644
--- a/spec/ruby/library/rexml/node/find_first_recursive_spec.rb
+++ b/spec/ruby/library/rexml/node/find_first_recursive_spec.rb
@@ -1,25 +1,28 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Node#find_first_recursive" do
- before :each do
- @e = REXML::Element.new("root")
- @node1 = REXML::Element.new("node")
- @node2 = REXML::Element.new("another node")
- @subnode = REXML::Element.new("another node")
- @node1 << @subnode
- @e << @node1
- @e << @node2
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "finds the first element that matches block" do
- found = @e.find_first_recursive { |n| n.to_s == ""}
- found.should == @node1
- end
+ describe "REXML::Node#find_first_recursive" do
+ before :each do
+ @e = REXML::Element.new("root")
+ @node1 = REXML::Element.new("node")
+ @node2 = REXML::Element.new("another node")
+ @subnode = REXML::Element.new("another node")
+ @node1 << @subnode
+ @e << @node1
+ @e << @node2
+ end
- it "visits the nodes in preorder" do
- found = @e.find_first_recursive { |n| n.to_s == ""}
- found.should == @subnode
- found.should_not == @node2
+ it "finds the first element that matches block" do
+ found = @e.find_first_recursive { |n| n.to_s == ""}
+ found.should == @node1
+ end
+
+ it "visits the nodes in preorder" do
+ found = @e.find_first_recursive { |n| n.to_s == ""}
+ found.should == @subnode
+ found.should_not == @node2
+ end
end
end
diff --git a/spec/ruby/library/rexml/node/index_in_parent_spec.rb b/spec/ruby/library/rexml/node/index_in_parent_spec.rb
index 092851e3e7..1c75c8cd54 100644
--- a/spec/ruby/library/rexml/node/index_in_parent_spec.rb
+++ b/spec/ruby/library/rexml/node/index_in_parent_spec.rb
@@ -1,15 +1,18 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Node#index_in_parent" do
- it "returns the index (starting from 1) of self in parent" do
- e = REXML::Element.new("root")
- node1 = REXML::Element.new("node")
- node2 = REXML::Element.new("another node")
- e << node1
- e << node2
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- node1.index_in_parent.should == 1
- node2.index_in_parent.should == 2
+ describe "REXML::Node#index_in_parent" do
+ it "returns the index (starting from 1) of self in parent" do
+ e = REXML::Element.new("root")
+ node1 = REXML::Element.new("node")
+ node2 = REXML::Element.new("another node")
+ e << node1
+ e << node2
+
+ node1.index_in_parent.should == 1
+ node2.index_in_parent.should == 2
+ end
end
end
diff --git a/spec/ruby/library/rexml/node/next_sibling_node_spec.rb b/spec/ruby/library/rexml/node/next_sibling_node_spec.rb
index 2e8601627d..0aac3fee0f 100644
--- a/spec/ruby/library/rexml/node/next_sibling_node_spec.rb
+++ b/spec/ruby/library/rexml/node/next_sibling_node_spec.rb
@@ -1,21 +1,24 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Node#next_sibling_node" do
- before :each do
- @e = REXML::Element.new("root")
- @node1 = REXML::Element.new("node")
- @node2 = REXML::Element.new("another node")
- @e << @node1
- @e << @node2
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns the next child node in parent" do
- @node1.next_sibling_node.should == @node2
- end
+ describe "REXML::Node#next_sibling_node" do
+ before :each do
+ @e = REXML::Element.new("root")
+ @node1 = REXML::Element.new("node")
+ @node2 = REXML::Element.new("another node")
+ @e << @node1
+ @e << @node2
+ end
- it "returns nil if there are no more child nodes next" do
- @node2.next_sibling_node.should == nil
- @e.next_sibling_node.should == nil
+ it "returns the next child node in parent" do
+ @node1.next_sibling_node.should == @node2
+ end
+
+ it "returns nil if there are no more child nodes next" do
+ @node2.next_sibling_node.should == nil
+ @e.next_sibling_node.should == nil
+ end
end
end
diff --git a/spec/ruby/library/rexml/node/parent_spec.rb b/spec/ruby/library/rexml/node/parent_spec.rb
index d88ba69657..693ee9d5c2 100644
--- a/spec/ruby/library/rexml/node/parent_spec.rb
+++ b/spec/ruby/library/rexml/node/parent_spec.rb
@@ -1,20 +1,23 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Node#parent?" do
- it "returns true for Elements" do
- e = REXML::Element.new("foo")
- e.parent?.should == true
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns true for Documents" do
- e = REXML::Document.new
- e.parent?.should == true
- end
+ describe "REXML::Node#parent?" do
+ it "returns true for Elements" do
+ e = REXML::Element.new("foo")
+ e.parent?.should == true
+ end
- # This includes attributes, CDatas and declarations.
- it "returns false for Texts" do
- e = REXML::Text.new("foo")
- e.parent?.should == false
+ it "returns true for Documents" do
+ e = REXML::Document.new
+ e.parent?.should == true
+ end
+
+ # This includes attributes, CDatas and declarations.
+ it "returns false for Texts" do
+ e = REXML::Text.new("foo")
+ e.parent?.should == false
+ end
end
end
diff --git a/spec/ruby/library/rexml/node/previous_sibling_node_spec.rb b/spec/ruby/library/rexml/node/previous_sibling_node_spec.rb
index 8b96f1565a..ca07e1e1f9 100644
--- a/spec/ruby/library/rexml/node/previous_sibling_node_spec.rb
+++ b/spec/ruby/library/rexml/node/previous_sibling_node_spec.rb
@@ -1,21 +1,24 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Node#previous_sibling_node" do
- before :each do
- @e = REXML::Element.new("root")
- @node1 = REXML::Element.new("node")
- @node2 = REXML::Element.new("another node")
- @e << @node1
- @e << @node2
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns the previous child node in parent" do
- @node2.previous_sibling_node.should == @node1
- end
+ describe "REXML::Node#previous_sibling_node" do
+ before :each do
+ @e = REXML::Element.new("root")
+ @node1 = REXML::Element.new("node")
+ @node2 = REXML::Element.new("another node")
+ @e << @node1
+ @e << @node2
+ end
- it "returns nil if there are no more child nodes before" do
- @node1.previous_sibling_node.should == nil
- @e.previous_sibling_node.should == nil
+ it "returns the previous child node in parent" do
+ @node2.previous_sibling_node.should == @node1
+ end
+
+ it "returns nil if there are no more child nodes before" do
+ @node1.previous_sibling_node.should == nil
+ @e.previous_sibling_node.should == nil
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/append_spec.rb b/spec/ruby/library/rexml/text/append_spec.rb
index de281fb0b0..be5636e84d 100644
--- a/spec/ruby/library/rexml/text/append_spec.rb
+++ b/spec/ruby/library/rexml/text/append_spec.rb
@@ -1,10 +1,13 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text#<<" do
- it "appends a string to this text node" do
- text = REXML::Text.new("foo")
- text << "bar"
- text.should == "foobar"
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
+
+ describe "REXML::Text#<<" do
+ it "appends a string to this text node" do
+ text = REXML::Text.new("foo")
+ text << "bar"
+ text.should == "foobar"
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/clone_spec.rb b/spec/ruby/library/rexml/text/clone_spec.rb
index 8031e140c7..28feef40e9 100644
--- a/spec/ruby/library/rexml/text/clone_spec.rb
+++ b/spec/ruby/library/rexml/text/clone_spec.rb
@@ -1,10 +1,13 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text#clone" do
- it "creates a copy of this node" do
- text = REXML::Text.new("foo")
- text.clone.should == "foo"
- text.clone.should == text
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
+
+ describe "REXML::Text#clone" do
+ it "creates a copy of this node" do
+ text = REXML::Text.new("foo")
+ text.clone.should == "foo"
+ text.clone.should == text
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/comparison_spec.rb b/spec/ruby/library/rexml/text/comparison_spec.rb
index 8bc5d66a03..ebd95683c6 100644
--- a/spec/ruby/library/rexml/text/comparison_spec.rb
+++ b/spec/ruby/library/rexml/text/comparison_spec.rb
@@ -1,25 +1,28 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text#<=>" do
- before :each do
- @first = REXML::Text.new("abc")
- @last = REXML::Text.new("def")
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns -1 if lvalue is less than rvalue" do
- val = @first <=> @last
- val.should == -1
- end
+ describe "REXML::Text#<=>" do
+ before :each do
+ @first = REXML::Text.new("abc")
+ @last = REXML::Text.new("def")
+ end
- it "returns -1 if lvalue is greater than rvalue" do
- val = @last <=> @first
- val.should == 1
- end
+ it "returns -1 if lvalue is less than rvalue" do
+ val = @first <=> @last
+ val.should == -1
+ end
- it "returns 0 if both values are equal" do
- tmp = REXML::Text.new("tmp")
- val = tmp <=> tmp
- val.should == 0
+ it "returns -1 if lvalue is greater than rvalue" do
+ val = @last <=> @first
+ val.should == 1
+ end
+
+ it "returns 0 if both values are equal" do
+ tmp = REXML::Text.new("tmp")
+ val = tmp <=> tmp
+ val.should == 0
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/empty_spec.rb b/spec/ruby/library/rexml/text/empty_spec.rb
index d0b66b7a2a..392b536a4c 100644
--- a/spec/ruby/library/rexml/text/empty_spec.rb
+++ b/spec/ruby/library/rexml/text/empty_spec.rb
@@ -1,12 +1,15 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text#empty?" do
- it "returns true if the text is empty" do
- REXML::Text.new("").empty?.should == true
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "returns false if the text is not empty" do
- REXML::Text.new("some_text").empty?.should == false
+ describe "REXML::Text#empty?" do
+ it "returns true if the text is empty" do
+ REXML::Text.new("").empty?.should == true
+ end
+
+ it "returns false if the text is not empty" do
+ REXML::Text.new("some_text").empty?.should == false
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/indent_text_spec.rb b/spec/ruby/library/rexml/text/indent_text_spec.rb
index 1b0ee5ab16..16cba7faf6 100644
--- a/spec/ruby/library/rexml/text/indent_text_spec.rb
+++ b/spec/ruby/library/rexml/text/indent_text_spec.rb
@@ -1,23 +1,26 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text#indent_text" do
- before :each do
- @t = REXML::Text.new("")
- end
- it "indents a string with default parameters" do
- @t.indent_text("foo").should == "\tfoo"
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "accepts a custom indentation level as second argument" do
- @t.indent_text("foo", 2, "\t", true).should == "\t\tfoo"
- end
+ describe "REXML::Text#indent_text" do
+ before :each do
+ @t = REXML::Text.new("")
+ end
+ it "indents a string with default parameters" do
+ @t.indent_text("foo").should == "\tfoo"
+ end
- it "accepts a custom separator as third argument" do
- @t.indent_text("foo", 1, "\n", true).should == "\nfoo"
- end
+ it "accepts a custom indentation level as second argument" do
+ @t.indent_text("foo", 2, "\t", true).should == "\t\tfoo"
+ end
- it "accepts a fourth parameter to skip the first line" do
- @t.indent_text("foo", 1, "\t", false).should == "foo"
+ it "accepts a custom separator as third argument" do
+ @t.indent_text("foo", 1, "\n", true).should == "\nfoo"
+ end
+
+ it "accepts a fourth parameter to skip the first line" do
+ @t.indent_text("foo", 1, "\t", false).should == "foo"
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/inspect_spec.rb b/spec/ruby/library/rexml/text/inspect_spec.rb
index 0d66088a64..87203b246c 100644
--- a/spec/ruby/library/rexml/text/inspect_spec.rb
+++ b/spec/ruby/library/rexml/text/inspect_spec.rb
@@ -1,8 +1,11 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text#inspect" do
- it "inspects the string attribute as a string" do
- REXML::Text.new("a text").inspect.should == "a text".inspect
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
+
+ describe "REXML::Text#inspect" do
+ it "inspects the string attribute as a string" do
+ REXML::Text.new("a text").inspect.should == "a text".inspect
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/new_spec.rb b/spec/ruby/library/rexml/text/new_spec.rb
index 3c081dec30..7a39f11fa6 100644
--- a/spec/ruby/library/rexml/text/new_spec.rb
+++ b/spec/ruby/library/rexml/text/new_spec.rb
@@ -1,48 +1,51 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text.new" do
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "creates a Text child node with no parent" do
- t = REXML::Text.new("test")
- t.should be_kind_of(REXML::Child)
- t.should == "test"
- t.parent.should == nil
- end
+ describe "REXML::Text.new" do
- it "respects whitespace if second argument is true" do
- t = REXML::Text.new("testing whitespace", true)
- t.should == "testing whitespace"
- t = REXML::Text.new(" ", true)
- t.should == " "
- end
+ it "creates a Text child node with no parent" do
+ t = REXML::Text.new("test")
+ t.should be_kind_of(REXML::Child)
+ t.should == "test"
+ t.parent.should == nil
+ end
- it "receives a parent as third argument" do
- e = REXML::Element.new("root")
- t = REXML::Text.new("test", false, e)
- t.parent.should == e
- e.to_s.should == "test"
- end
+ it "respects whitespace if second argument is true" do
+ t = REXML::Text.new("testing whitespace", true)
+ t.should == "testing whitespace"
+ t = REXML::Text.new(" ", true)
+ t.should == " "
+ end
- it "expects escaped text if raw is true" do
- t = REXML::Text.new("<&>", false, nil, true)
- t.should == "<&>"
+ it "receives a parent as third argument" do
+ e = REXML::Element.new("root")
+ t = REXML::Text.new("test", false, e)
+ t.parent.should == e
+ e.to_s.should == "test"
+ end
- ->{ REXML::Text.new("<&>", false, nil, true)}.should raise_error(Exception)
- end
+ it "expects escaped text if raw is true" do
+ t = REXML::Text.new("<&>", false, nil, true)
+ t.should == "<&>"
- it "uses raw value of the parent if raw is nil" do
- e1 = REXML::Element.new("root", nil, { raw: :all})
- -> {REXML::Text.new("<&>", false, e1)}.should raise_error(Exception)
+ ->{ REXML::Text.new("<&>", false, nil, true)}.should raise_error(Exception)
+ end
- e2 = REXML::Element.new("root", nil, { raw: []})
- e2.raw.should be_false
- t1 = REXML::Text.new("<&>", false, e2)
- t1.should == "<&>"
- end
+ it "uses raw value of the parent if raw is nil" do
+ e1 = REXML::Element.new("root", nil, { raw: :all})
+ -> {REXML::Text.new("<&>", false, e1)}.should raise_error(Exception)
- it "escapes the values if raw is false" do
- t = REXML::Text.new("<&>", false, nil, false)
- t.should == "<&>"
+ e2 = REXML::Element.new("root", nil, { raw: []})
+ e2.raw.should be_false
+ t1 = REXML::Text.new("<&>", false, e2)
+ t1.should == "<&>"
+ end
+
+ it "escapes the values if raw is false" do
+ t = REXML::Text.new("<&>", false, nil, false)
+ t.should == "<&>"
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/node_type_spec.rb b/spec/ruby/library/rexml/text/node_type_spec.rb
index 1c25a74dad..17fefb87f1 100644
--- a/spec/ruby/library/rexml/text/node_type_spec.rb
+++ b/spec/ruby/library/rexml/text/node_type_spec.rb
@@ -1,8 +1,11 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text#node_type" do
- it "returns :text" do
- REXML::Text.new("test").node_type.should == :text
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
+
+ describe "REXML::Text#node_type" do
+ it "returns :text" do
+ REXML::Text.new("test").node_type.should == :text
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/normalize_spec.rb b/spec/ruby/library/rexml/text/normalize_spec.rb
index ce3b2b3b5f..10ce92615a 100644
--- a/spec/ruby/library/rexml/text/normalize_spec.rb
+++ b/spec/ruby/library/rexml/text/normalize_spec.rb
@@ -1,8 +1,11 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text.normalize" do
- it "escapes a string with <, >, &, ' and \" " do
- REXML::Text.normalize("< > & \" '").should == "< > & " '"
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
+
+ describe "REXML::Text.normalize" do
+ it "escapes a string with <, >, &, ' and \" " do
+ REXML::Text.normalize("< > & \" '").should == "< > & " '"
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/read_with_substitution_spec.rb b/spec/ruby/library/rexml/text/read_with_substitution_spec.rb
index 83b42f6d6b..4bf54c1b31 100644
--- a/spec/ruby/library/rexml/text/read_with_substitution_spec.rb
+++ b/spec/ruby/library/rexml/text/read_with_substitution_spec.rb
@@ -1,12 +1,15 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text.read_with_substitution" do
- it "reads a text and escapes entities" do
- REXML::Text.read_with_substitution("< > & " '").should == "< > & \" '"
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "accepts an regex for invalid expressions and raises an error if text matches" do
- -> {REXML::Text.read_with_substitution("this is illegal", /illegal/)}.should raise_error(Exception)
+ describe "REXML::Text.read_with_substitution" do
+ it "reads a text and escapes entities" do
+ REXML::Text.read_with_substitution("< > & " '").should == "< > & \" '"
+ end
+
+ it "accepts an regex for invalid expressions and raises an error if text matches" do
+ -> {REXML::Text.read_with_substitution("this is illegal", /illegal/)}.should raise_error(Exception)
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/to_s_spec.rb b/spec/ruby/library/rexml/text/to_s_spec.rb
index 14d7399a60..f7e0e0b284 100644
--- a/spec/ruby/library/rexml/text/to_s_spec.rb
+++ b/spec/ruby/library/rexml/text/to_s_spec.rb
@@ -1,17 +1,20 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text#to_s" do
- it "returns the string of this Text node" do
- u = REXML::Text.new("sean russell", false, nil, true)
- u.to_s.should == "sean russell"
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- t = REXML::Text.new("some test text")
- t.to_s.should == "some test text"
- end
+ describe "REXML::Text#to_s" do
+ it "returns the string of this Text node" do
+ u = REXML::Text.new("sean russell", false, nil, true)
+ u.to_s.should == "sean russell"
- it "escapes the text" do
- t = REXML::Text.new("& < >")
- t.to_s.should == "& < >"
+ t = REXML::Text.new("some test text")
+ t.to_s.should == "some test text"
+ end
+
+ it "escapes the text" do
+ t = REXML::Text.new("& < >")
+ t.to_s.should == "& < >"
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/unnormalize_spec.rb b/spec/ruby/library/rexml/text/unnormalize_spec.rb
index 3072809c13..0f173710fa 100644
--- a/spec/ruby/library/rexml/text/unnormalize_spec.rb
+++ b/spec/ruby/library/rexml/text/unnormalize_spec.rb
@@ -1,8 +1,11 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text.unnormalize" do
- it "unescapes a string with the values defined in SETUTITSBUS" do
- REXML::Text.unnormalize("< > & " '").should == "< > & \" '"
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
+
+ describe "REXML::Text.unnormalize" do
+ it "unescapes a string with the values defined in SETUTITSBUS" do
+ REXML::Text.unnormalize("< > & " '").should == "< > & \" '"
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/value_spec.rb b/spec/ruby/library/rexml/text/value_spec.rb
index b0545b3cbd..f566412128 100644
--- a/spec/ruby/library/rexml/text/value_spec.rb
+++ b/spec/ruby/library/rexml/text/value_spec.rb
@@ -1,37 +1,40 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text#value" do
- it "returns the text value of this node" do
- REXML::Text.new("test").value.should == "test"
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
+
+ describe "REXML::Text#value" do
+ it "returns the text value of this node" do
+ REXML::Text.new("test").value.should == "test"
+ end
+
+ it "does not escape entities" do
+ REXML::Text.new("& \"").value.should == "& \""
+ end
+
+ it "follows the respect_whitespace attribute" do
+ REXML::Text.new("test bar", false).value.should == "test bar"
+ REXML::Text.new("test bar", true).value.should == "test bar"
+ end
+
+ it "ignores the raw attribute" do
+ REXML::Text.new("sean russell", false, nil, true).value.should == "sean russell"
+ end
end
- it "does not escape entities" do
- REXML::Text.new("& \"").value.should == "& \""
- end
+ describe "REXML::Text#value=" do
+ before :each do
+ @t = REXML::Text.new("new")
+ end
- it "follows the respect_whitespace attribute" do
- REXML::Text.new("test bar", false).value.should == "test bar"
- REXML::Text.new("test bar", true).value.should == "test bar"
- end
+ it "sets the text of the node" do
+ @t.value = "another text"
+ @t.to_s.should == "another text"
+ end
- it "ignores the raw attribute" do
- REXML::Text.new("sean russell", false, nil, true).value.should == "sean russell"
- end
-end
-
-describe "REXML::Text#value=" do
- before :each do
- @t = REXML::Text.new("new")
- end
-
- it "sets the text of the node" do
- @t.value = "another text"
- @t.to_s.should == "another text"
- end
-
- it "escapes entities" do
- @t.value = ""
- @t.to_s.should == "<a>"
+ it "escapes entities" do
+ @t.value = ""
+ @t.to_s.should == "<a>"
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/wrap_spec.rb b/spec/ruby/library/rexml/text/wrap_spec.rb
index 0b60fd4151..415775dd47 100644
--- a/spec/ruby/library/rexml/text/wrap_spec.rb
+++ b/spec/ruby/library/rexml/text/wrap_spec.rb
@@ -1,20 +1,23 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text#wrap" do
- before :each do
- @t = REXML::Text.new("abc def")
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- it "wraps the text at width" do
- @t.wrap("abc def", 3, false).should == "abc\ndef"
- end
+ describe "REXML::Text#wrap" do
+ before :each do
+ @t = REXML::Text.new("abc def")
+ end
- it "returns the string if width is greater than the size of the string" do
- @t.wrap("abc def", 10, false).should == "abc def"
- end
+ it "wraps the text at width" do
+ @t.wrap("abc def", 3, false).should == "abc\ndef"
+ end
- it "takes a newline at the beginning option as the third parameter" do
- @t.wrap("abc def", 3, true).should == "\nabc\ndef"
+ it "returns the string if width is greater than the size of the string" do
+ @t.wrap("abc def", 10, false).should == "abc def"
+ end
+
+ it "takes a newline at the beginning option as the third parameter" do
+ @t.wrap("abc def", 3, true).should == "\nabc\ndef"
+ end
end
end
diff --git a/spec/ruby/library/rexml/text/write_with_substitution_spec.rb b/spec/ruby/library/rexml/text/write_with_substitution_spec.rb
index ee79489d86..1737b443d7 100644
--- a/spec/ruby/library/rexml/text/write_with_substitution_spec.rb
+++ b/spec/ruby/library/rexml/text/write_with_substitution_spec.rb
@@ -1,33 +1,36 @@
require_relative '../../../spec_helper'
-require 'rexml/document'
-describe "REXML::Text#write_with_substitution" do
- before :each do
- @t = REXML::Text.new("test")
- @f = tmp("rexml_spec")
- @file = File.open(@f, "w+")
- end
+ruby_version_is ''...'2.8' do
+ require 'rexml/document'
- after :each do
- @file.close
- rm_r @f
- end
+ describe "REXML::Text#write_with_substitution" do
+ before :each do
+ @t = REXML::Text.new("test")
+ @f = tmp("rexml_spec")
+ @file = File.open(@f, "w+")
+ end
- it "writes out the input to a String" do
- s = ""
- @t.write_with_substitution(s, "some text")
- s.should == "some text"
- end
+ after :each do
+ @file.close
+ rm_r @f
+ end
- it "writes out the input to an IO" do
- @t.write_with_substitution(@file, "some text")
- @file.rewind
- @file.gets.should == "some text"
- end
+ it "writes out the input to a String" do
+ s = ""
+ @t.write_with_substitution(s, "some text")
+ s.should == "some text"
+ end
- it "escapes characters" do
- @t.write_with_substitution(@file, "& < >")
- @file.rewind
- @file.gets.should == "& < >"
+ it "writes out the input to an IO" do
+ @t.write_with_substitution(@file, "some text")
+ @file.rewind
+ @file.gets.should == "some text"
+ end
+
+ it "escapes characters" do
+ @t.write_with_substitution(@file, "& < >")
+ @file.rewind
+ @file.gets.should == "& < >"
+ end
end
end