aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/hash_ext_test.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2008-01-06 20:53:47 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2008-01-06 20:53:47 +0000
commit880081549d600a3d592241aadc8b2c6653a3d716 (patch)
tree84a6bcf7267b3724c4527228a0003df66cb1176d /activesupport/test/core_ext/hash_ext_test.rb
parenta1b0349362fd6c17af5aeff481996f6fac235828 (diff)
downloadrails-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/core_ext/hash_ext_test.rb')
-rw-r--r--activesupport/test/core_ext/hash_ext_test.rb34
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>