aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/xml_mini/nokogiri_engine_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/test/xml_mini/nokogiri_engine_test.rb')
-rw-r--r--activesupport/test/xml_mini/nokogiri_engine_test.rb182
1 files changed, 91 insertions, 91 deletions
diff --git a/activesupport/test/xml_mini/nokogiri_engine_test.rb b/activesupport/test/xml_mini/nokogiri_engine_test.rb
index dd169e7eb4..44b82da4e4 100644
--- a/activesupport/test/xml_mini/nokogiri_engine_test.rb
+++ b/activesupport/test/xml_mini/nokogiri_engine_test.rb
@@ -3,38 +3,38 @@ begin
rescue LoadError
# Skip nokogiri tests
else
-require "abstract_unit"
-require "active_support/xml_mini"
-require "active_support/core_ext/hash/conversions"
-
-class NokogiriEngineTest < ActiveSupport::TestCase
- def setup
- @default_backend = ActiveSupport::XmlMini.backend
- ActiveSupport::XmlMini.backend = "Nokogiri"
- end
+ require "abstract_unit"
+ require "active_support/xml_mini"
+ require "active_support/core_ext/hash/conversions"
+
+ class NokogiriEngineTest < ActiveSupport::TestCase
+ def setup
+ @default_backend = ActiveSupport::XmlMini.backend
+ ActiveSupport::XmlMini.backend = "Nokogiri"
+ end
- def teardown
- ActiveSupport::XmlMini.backend = @default_backend
- end
+ def teardown
+ ActiveSupport::XmlMini.backend = @default_backend
+ end
- def test_file_from_xml
- hash = Hash.from_xml(<<-eoxml)
+ def test_file_from_xml
+ hash = Hash.from_xml(<<-eoxml)
<blog>
<logo type="file" name="logo.png" content_type="image/png">
</logo>
</blog>
eoxml
- assert hash.has_key?("blog")
- assert hash["blog"].has_key?("logo")
+ assert hash.has_key?("blog")
+ assert hash["blog"].has_key?("logo")
- file = hash["blog"]["logo"]
- assert_equal "logo.png", file.original_filename
- assert_equal "image/png", file.content_type
- end
+ file = hash["blog"]["logo"]
+ assert_equal "logo.png", file.original_filename
+ assert_equal "image/png", file.content_type
+ end
- def test_exception_thrown_on_expansion_attack
- assert_raise Nokogiri::XML::SyntaxError do
- attack_xml = <<-EOT
+ def test_exception_thrown_on_expansion_attack
+ assert_raise Nokogiri::XML::SyntaxError do
+ attack_xml = <<-EOT
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE member [
<!ENTITY a "&b;&b;&b;&b;&b;&b;&b;&b;&b;&b;">
@@ -49,22 +49,22 @@ class NokogiriEngineTest < ActiveSupport::TestCase
&a;
</member>
EOT
- Hash.from_xml(attack_xml)
+ Hash.from_xml(attack_xml)
+ end
end
- end
- def test_setting_nokogiri_as_backend
- ActiveSupport::XmlMini.backend = "Nokogiri"
- assert_equal ActiveSupport::XmlMini_Nokogiri, ActiveSupport::XmlMini.backend
- end
+ def test_setting_nokogiri_as_backend
+ ActiveSupport::XmlMini.backend = "Nokogiri"
+ assert_equal ActiveSupport::XmlMini_Nokogiri, ActiveSupport::XmlMini.backend
+ end
- def test_blank_returns_empty_hash
- assert_equal({}, ActiveSupport::XmlMini.parse(nil))
- assert_equal({}, ActiveSupport::XmlMini.parse(""))
- end
+ def test_blank_returns_empty_hash
+ assert_equal({}, ActiveSupport::XmlMini.parse(nil))
+ assert_equal({}, ActiveSupport::XmlMini.parse(""))
+ end
- def test_array_type_makes_an_array
- assert_equal_rexml(<<-eoxml)
+ def test_array_type_makes_an_array
+ assert_equal_rexml(<<-eoxml)
<blog>
<posts type="array">
<post>a post</post>
@@ -72,67 +72,67 @@ class NokogiriEngineTest < ActiveSupport::TestCase
</posts>
</blog>
eoxml
- end
+ end
- def test_one_node_document_as_hash
- assert_equal_rexml(<<-eoxml)
- <products/>
- eoxml
- end
+ def test_one_node_document_as_hash
+ assert_equal_rexml(<<-eoxml)
+ <products/>
+ eoxml
+ end
- def test_one_node_with_attributes_document_as_hash
- assert_equal_rexml(<<-eoxml)
- <products foo="bar"/>
- eoxml
- end
+ def test_one_node_with_attributes_document_as_hash
+ assert_equal_rexml(<<-eoxml)
+ <products foo="bar"/>
+ eoxml
+ end
- def test_products_node_with_book_node_as_hash
- assert_equal_rexml(<<-eoxml)
+ def test_products_node_with_book_node_as_hash
+ assert_equal_rexml(<<-eoxml)
<products>
<book name="awesome" id="12345" />
</products>
eoxml
- end
+ end
- def test_products_node_with_two_book_nodes_as_hash
- assert_equal_rexml(<<-eoxml)
+ def test_products_node_with_two_book_nodes_as_hash
+ assert_equal_rexml(<<-eoxml)
<products>
<book name="awesome" id="12345" />
<book name="america" id="67890" />
</products>
eoxml
- end
+ end
- def test_single_node_with_content_as_hash
- assert_equal_rexml(<<-eoxml)
+ def test_single_node_with_content_as_hash
+ assert_equal_rexml(<<-eoxml)
<products>
hello world
</products>
eoxml
- end
+ end
- def test_children_with_children
- assert_equal_rexml(<<-eoxml)
+ def test_children_with_children
+ assert_equal_rexml(<<-eoxml)
<root>
<products>
<book name="america" id="67890" />
</products>
</root>
eoxml
- end
+ end
- def test_children_with_text
- assert_equal_rexml(<<-eoxml)
+ def test_children_with_text
+ assert_equal_rexml(<<-eoxml)
<root>
<products>
hello everyone
</products>
</root>
eoxml
- end
+ end
- def test_children_with_non_adjacent_text
- assert_equal_rexml(<<-eoxml)
+ def test_children_with_non_adjacent_text
+ assert_equal_rexml(<<-eoxml)
<root>
good
<products>
@@ -141,10 +141,10 @@ class NokogiriEngineTest < ActiveSupport::TestCase
morning
</root>
eoxml
- end
+ end
- def test_parse_from_io
- io = StringIO.new(<<-eoxml)
+ def test_parse_from_io
+ io = StringIO.new(<<-eoxml)
<root>
good
<products>
@@ -153,31 +153,31 @@ class NokogiriEngineTest < ActiveSupport::TestCase
morning
</root>
eoxml
- assert_equal_rexml(io)
- end
+ assert_equal_rexml(io)
+ end
- def test_children_with_simple_cdata
- assert_equal_rexml(<<-eoxml)
+ def test_children_with_simple_cdata
+ assert_equal_rexml(<<-eoxml)
<root>
<products>
<![CDATA[cdatablock]]>
</products>
</root>
eoxml
- end
+ end
- def test_children_with_multiple_cdata
- assert_equal_rexml(<<-eoxml)
+ def test_children_with_multiple_cdata
+ assert_equal_rexml(<<-eoxml)
<root>
<products>
<![CDATA[cdatablock1]]><![CDATA[cdatablock2]]>
</products>
</root>
eoxml
- end
+ end
- def test_children_with_text_and_cdata
- assert_equal_rexml(<<-eoxml)
+ def test_children_with_text_and_cdata
+ assert_equal_rexml(<<-eoxml)
<root>
<products>
hello <![CDATA[cdatablock]]>
@@ -185,31 +185,31 @@ class NokogiriEngineTest < ActiveSupport::TestCase
</products>
</root>
eoxml
- end
+ end
- def test_children_with_blank_text
- assert_equal_rexml(<<-eoxml)
+ def test_children_with_blank_text
+ assert_equal_rexml(<<-eoxml)
<root>
<products> </products>
</root>
eoxml
- end
+ end
- def test_children_with_blank_text_and_attribute
- assert_equal_rexml(<<-eoxml)
+ def test_children_with_blank_text_and_attribute
+ assert_equal_rexml(<<-eoxml)
<root>
<products type="file"> </products>
</root>
eoxml
- 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
-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
+ end
end