diff options
Diffstat (limited to 'activesupport')
-rwxr-xr-x | activesupport/Rakefile | 4 | ||||
-rw-r--r-- | activesupport/lib/active_support/buffered_logger.rb | 2 | ||||
-rw-r--r-- | activesupport/lib/active_support/testing/performance/jruby.rb | 2 | ||||
-rw-r--r-- | activesupport/lib/active_support/xml_mini/jdom.rb | 12 | ||||
-rw-r--r-- | activesupport/test/xml_mini/jdom_engine_test.rb | 165 |
5 files changed, 92 insertions, 93 deletions
diff --git a/activesupport/Rakefile b/activesupport/Rakefile index d117ca6356..822c9d98ae 100755 --- a/activesupport/Rakefile +++ b/activesupport/Rakefile @@ -1,5 +1,5 @@ require 'rake/testtask' -require 'rake/gempackagetask' +require 'rubygems/package_task' task :default => :test Rake::TestTask.new do |t| @@ -20,7 +20,7 @@ dist_dirs = [ "lib", "test"] spec = eval(File.read('activesupport.gemspec')) -Rake::GemPackageTask.new(spec) do |p| +Gem::PackageTask.new(spec) do |p| p.gem_spec = spec end diff --git a/activesupport/lib/active_support/buffered_logger.rb b/activesupport/lib/active_support/buffered_logger.rb index 2668087f57..26412cd7f4 100644 --- a/activesupport/lib/active_support/buffered_logger.rb +++ b/activesupport/lib/active_support/buffered_logger.rb @@ -77,7 +77,7 @@ module ActiveSupport # def info # def warn # def debug - for severity in Severity.constants + Severity.constants.each do |severity| class_eval <<-EOT, __FILE__, __LINE__ + 1 def #{severity.downcase}(message = nil, progname = nil, &block) # def debug(message = nil, progname = nil, &block) add(#{severity}, message, progname, &block) # add(DEBUG, message, progname, &block) 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 |