From ddd243a9c11b54fd13328a86a34ae997f63cb839 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Thu, 26 Apr 2007 01:14:17 +0000 Subject: Pull file from xml value only if it's a Hash. Closes #8190. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6583 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activesupport/lib/active_support/core_ext/hash/conversions.rb | 4 ++-- activesupport/test/core_ext/hash_ext_test.rb | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'activesupport') diff --git a/activesupport/lib/active_support/core_ext/hash/conversions.rb b/activesupport/lib/active_support/core_ext/hash/conversions.rb index e4103f1cb7..2334bb671b 100644 --- a/activesupport/lib/active_support/core_ext/hash/conversions.rb +++ b/activesupport/lib/active_support/core_ext/hash/conversions.rb @@ -173,7 +173,7 @@ module ActiveSupport #:nodoc: # Turn { :files => { :file => # } into { :files => # } so it is compatible with # how multipart uploaded files from HTML appear - if xml_value && xml_value["file"].is_a?(StringIO) + if xml_value.is_a?(Hash) && xml_value["file"].is_a?(StringIO) xml_value["file"] else xml_value @@ -218,4 +218,4 @@ module ActiveSupport #:nodoc: end end end -end \ No newline at end of file +end diff --git a/activesupport/test/core_ext/hash_ext_test.rb b/activesupport/test/core_ext/hash_ext_test.rb index ba121cc352..a428fe5061 100644 --- a/activesupport/test/core_ext/hash_ext_test.rb +++ b/activesupport/test/core_ext/hash_ext_test.rb @@ -572,6 +572,12 @@ class HashToXmlTest < Test::Unit::TestCase assert_equal expected, hash.to_xml(@xml_options) end end + + def test_empty_string_works_for_typecast_xml_value + assert_nothing_raised do + Hash.send(:typecast_xml_value, "") + end + end end class QueryTest < Test::Unit::TestCase -- cgit v1.2.3