diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2008-01-06 20:53:47 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2008-01-06 20:53:47 +0000 |
commit | 880081549d600a3d592241aadc8b2c6653a3d716 (patch) | |
tree | 84a6bcf7267b3724c4527228a0003df66cb1176d /activesupport/test | |
parent | a1b0349362fd6c17af5aeff481996f6fac235828 (diff) | |
download | rails-880081549d600a3d592241aadc8b2c6653a3d716.tar.gz rails-880081549d600a3d592241aadc8b2c6653a3d716.tar.bz2 rails-880081549d600a3d592241aadc8b2c6653a3d716.zip |
Use a decorator module for Files instantiated by Hash.from_xml. Add test coverage. Closes #10726 [Cheah Chu Yeow]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8579 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/test')
-rw-r--r-- | activesupport/test/core_ext/hash_ext_test.rb | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/activesupport/test/core_ext/hash_ext_test.rb b/activesupport/test/core_ext/hash_ext_test.rb index 65f14d696f..706e218abc 100644 --- a/activesupport/test/core_ext/hash_ext_test.rb +++ b/activesupport/test/core_ext/hash_ext_test.rb @@ -533,9 +533,9 @@ class HashToXmlTest < Test::Unit::TestCase def test_single_record_from_xml_with_attributes_other_than_type topic_xml = <<-EOT <rsp stat="ok"> - <photos page="1" pages="1" perpage="100" total="16"> - <photo id="175756086" owner="55569174@N00" secret="0279bf37a1" server="76" title="Colored Pencil PhotoBooth Fun" ispublic="1" isfriend="0" isfamily="0"/> - </photos> + <photos page="1" pages="1" perpage="100" total="16"> + <photo id="175756086" owner="55569174@N00" secret="0279bf37a1" server="76" title="Colored Pencil PhotoBooth Fun" ispublic="1" isfriend="0" isfamily="0"/> + </photos> </rsp> EOT @@ -599,6 +599,34 @@ class HashToXmlTest < Test::Unit::TestCase assert_equal expected_blog_hash, Hash.from_xml(blog_xml) end + def test_file_from_xml + blog_xml = <<-XML + <blog> + <logo type="file" name="logo.png" content_type="image/png"> + </logo> + </blog> + XML + hash = Hash.from_xml(blog_xml) + 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_file_from_xml_with_defaults + blog_xml = <<-XML + <blog> + <logo type="file"> + </logo> + </blog> + XML + file = Hash.from_xml(blog_xml)['blog']['logo'] + assert_equal 'untitled', file.original_filename + assert_equal 'application/octet-stream', file.content_type + end + def test_xsd_like_types_from_xml bacon_xml = <<-EOT <bacon> |