diff options
4 files changed, 89 insertions, 93 deletions
diff --git a/activesupport/lib/active_support/testing/performance/jruby.rb b/activesupport/lib/active_support/testing/performance/jruby.rb index 6b27959840..326904bbac 100644 --- a/activesupport/lib/active_support/testing/performance/jruby.rb +++ b/activesupport/lib/active_support/testing/performance/jruby.rb @@ -1,6 +1,6 @@ require 'jruby/profiler' require 'java' -import java.lang.management.ManagementFactory +java_import java.lang.management.ManagementFactory module ActiveSupport module Testing diff --git a/activesupport/lib/active_support/xml_mini/jdom.rb b/activesupport/lib/active_support/xml_mini/jdom.rb index 48c1cb3fe9..7aefabfdd1 100644 --- a/activesupport/lib/active_support/xml_mini/jdom.rb +++ b/activesupport/lib/active_support/xml_mini/jdom.rb @@ -5,12 +5,12 @@ include Java require 'active_support/core_ext/object/blank' -import javax.xml.parsers.DocumentBuilder unless defined? DocumentBuilder -import javax.xml.parsers.DocumentBuilderFactory unless defined? DocumentBuilderFactory -import java.io.StringReader unless defined? StringReader -import org.xml.sax.InputSource unless defined? InputSource -import org.xml.sax.Attributes unless defined? Attributes -import org.w3c.dom.Node unless defined? Node +java_import javax.xml.parsers.DocumentBuilder unless defined? DocumentBuilder +java_import javax.xml.parsers.DocumentBuilderFactory unless defined? DocumentBuilderFactory +java_import java.io.StringReader unless defined? StringReader +java_import org.xml.sax.InputSource unless defined? InputSource +java_import org.xml.sax.Attributes unless defined? Attributes +java_import org.w3c.dom.Node unless defined? Node # = XmlMini JRuby JDOM implementation module ActiveSupport diff --git a/activesupport/test/xml_mini/jdom_engine_test.rb b/activesupport/test/xml_mini/jdom_engine_test.rb index 6b1edcbc9b..3fe5e4fd78 100644 --- a/activesupport/test/xml_mini/jdom_engine_test.rb +++ b/activesupport/test/xml_mini/jdom_engine_test.rb @@ -1,39 +1,38 @@ -require 'abstract_unit' -require 'active_support/xml_mini' -require 'active_support/core_ext/hash/conversions' - if RUBY_PLATFORM =~ /java/ + require 'abstract_unit' + require 'active_support/xml_mini' + require 'active_support/core_ext/hash/conversions' -class JDOMEngineTest < Test::Unit::TestCase - include ActiveSupport + class JDOMEngineTest < Test::Unit::TestCase + include ActiveSupport - def setup - @default_backend = XmlMini.backend - XmlMini.backend = 'JDOM' - end + def setup + @default_backend = XmlMini.backend + XmlMini.backend = 'JDOM' + end - def teardown - XmlMini.backend = @default_backend - end + def teardown + XmlMini.backend = @default_backend + end - # 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') - # - # 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 NativeException do - attack_xml = <<-EOT + # 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') + # + # 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 NativeException 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;"> @@ -47,91 +46,91 @@ class JDOMEngineTest < Test::Unit::TestCase <member> &a; </member> - EOT - Hash.from_xml(attack_xml) + EOT + Hash.from_xml(attack_xml) + end end - end - def test_setting_JDOM_as_backend - XmlMini.backend = 'JDOM' - assert_equal XmlMini_JDOM, XmlMini.backend - end + def test_setting_JDOM_as_backend + XmlMini.backend = 'JDOM' + assert_equal XmlMini_JDOM, XmlMini.backend + end - def test_blank_returns_empty_hash - assert_equal({}, XmlMini.parse(nil)) - assert_equal({}, XmlMini.parse('')) - end + def test_blank_returns_empty_hash + assert_equal({}, XmlMini.parse(nil)) + assert_equal({}, 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> <post>another post</post> </posts> </blog> - eoxml - end + eoxml + end - def test_one_node_document_as_hash - assert_equal_rexml(<<-eoxml) + def test_one_node_document_as_hash + assert_equal_rexml(<<-eoxml) <products/> - eoxml - end + eoxml + end - def test_one_node_with_attributes_document_as_hash - assert_equal_rexml(<<-eoxml) + def test_one_node_with_attributes_document_as_hash + assert_equal_rexml(<<-eoxml) <products foo="bar"/> - eoxml - end + 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 + eoxml + 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 + eoxml + 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 + eoxml + 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 + eoxml + 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 + eoxml + 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> @@ -139,15 +138,15 @@ class JDOMEngineTest < Test::Unit::TestCase </products> morning </root> - eoxml - end + eoxml + end - private - def assert_equal_rexml(xml) - hash = XmlMini.with_backend('REXML') { XmlMini.parse(xml) } - assert_equal(hash, XmlMini.parse(xml)) + private + def assert_equal_rexml(xml) + hash = XmlMini.with_backend('REXML') { XmlMini.parse(xml) } + assert_equal(hash, XmlMini.parse(xml)) + end end -end else # don't run these test because we aren't running in JRuby diff --git a/railties/test/generators/app_generator_test.rb b/railties/test/generators/app_generator_test.rb index 03353301cb..c31c65a27d 100644 --- a/railties/test/generators/app_generator_test.rb +++ b/railties/test/generators/app_generator_test.rb @@ -174,7 +174,6 @@ class AppGeneratorTest < Rails::Generators::TestCase def test_jquery_is_the_default_javascript_library run_generator - assert_file "config/application.rb", /#\s+config\.action_view\.javascript_expansions\[:defaults\]\s+=\s+%w\(prototype prototype_ujs\)/ assert_file "app/assets/javascripts/application.js" do |contents| assert_match %r{^//= require jquery}, contents assert_match %r{^//= require jquery_ujs}, contents @@ -186,7 +185,6 @@ class AppGeneratorTest < Rails::Generators::TestCase def test_other_javascript_libraries run_generator [destination_root, '-j', 'prototype'] - assert_file "config/application.rb", /#\s+config\.action_view\.javascript_expansions\[:defaults\]\s+=\s+%w\(prototype prototype_ujs\)/ assert_file "app/assets/javascripts/application.js" do |contents| assert_match %r{^//= require prototype}, contents assert_match %r{^//= require prototype_ujs}, contents @@ -198,7 +196,6 @@ class AppGeneratorTest < Rails::Generators::TestCase def test_javascript_is_skipped_if_required run_generator [destination_root, "--skip-javascript"] - assert_file "config/application.rb", /^\s+# config\.action_view\.javascript_expansions\[:defaults\]\s+=\s+%w\(\)/ assert_file "app/assets/javascripts/application.js" do |contents| assert_no_match %r{^//=\s+require\s}, contents end |