aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/xml_mini/rexml_engine_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/test/xml_mini/rexml_engine_test.rb')
-rw-r--r--activesupport/test/xml_mini/rexml_engine_test.rb33
1 files changed, 21 insertions, 12 deletions
diff --git a/activesupport/test/xml_mini/rexml_engine_test.rb b/activesupport/test/xml_mini/rexml_engine_test.rb
index f0067ca656..dc62f3f671 100644
--- a/activesupport/test/xml_mini/rexml_engine_test.rb
+++ b/activesupport/test/xml_mini/rexml_engine_test.rb
@@ -1,5 +1,5 @@
-require 'abstract_unit'
-require 'active_support/xml_mini'
+require "abstract_unit"
+require "active_support/xml_mini"
class REXMLEngineTest < ActiveSupport::TestCase
def test_default_is_rexml
@@ -7,12 +7,12 @@ class REXMLEngineTest < ActiveSupport::TestCase
end
def test_set_rexml_as_backend
- ActiveSupport::XmlMini.backend = 'REXML'
+ ActiveSupport::XmlMini.backend = "REXML"
assert_equal ActiveSupport::XmlMini_REXML, ActiveSupport::XmlMini.backend
end
def test_parse_from_io
- ActiveSupport::XmlMini.backend = 'REXML'
+ ActiveSupport::XmlMini.backend = "REXML"
io = StringIO.new(<<-eoxml)
<root>
good
@@ -22,14 +22,23 @@ class REXMLEngineTest < ActiveSupport::TestCase
morning
</root>
eoxml
- assert_equal_rexml(io)
+ hash = ActiveSupport::XmlMini.parse(io)
+ assert hash.has_key?("root")
+ assert hash["root"].has_key?("products")
+ assert_match "good", hash["root"]["__content__"]
+ products = hash["root"]["products"]
+ assert products.has_key?("__content__")
+ assert_match "hello everyone", products["__content__"]
end
- private
- def assert_equal_rexml(xml)
- parsed_xml = ActiveSupport::XmlMini.parse(xml)
- xml.rewind if xml.respond_to?(:rewind)
- hash = ActiveSupport::XmlMini.with_backend('REXML') { ActiveSupport::XmlMini.parse(xml) }
- assert_equal(hash, parsed_xml)
- end
+ def test_parse_from_empty_string
+ ActiveSupport::XmlMini.backend = "REXML"
+ assert_equal({}, ActiveSupport::XmlMini.parse(""))
+ end
+
+ def test_parse_from_frozen_string
+ ActiveSupport::XmlMini.backend = "REXML"
+ xml_string = "<root></root>".freeze
+ assert_equal({ "root" => {} }, ActiveSupport::XmlMini.parse(xml_string))
+ end
end