aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/hash_ext_test.rb
diff options
context:
space:
mode:
authorRick Olson <technoweenie@gmail.com>2006-09-01 16:09:18 +0000
committerRick Olson <technoweenie@gmail.com>2006-09-01 16:09:18 +0000
commite4a4287c971f6e61f59815988f5fc69176cb14de (patch)
treebf1237a7899e023ff9bf54d449af4ad517265cc6 /activesupport/test/core_ext/hash_ext_test.rb
parent5f175edde59e65b991d84fe30cad2b102fc7347b (diff)
downloadrails-e4a4287c971f6e61f59815988f5fc69176cb14de.tar.gz
rails-e4a4287c971f6e61f59815988f5fc69176cb14de.tar.bz2
rails-e4a4287c971f6e61f59815988f5fc69176cb14de.zip
Fix cases where empty xml nodes weren't being translated to nil in Hash.create_from_xml [Rick Olson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4895 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.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/hash_ext_test.rb b/activesupport/test/core_ext/hash_ext_test.rb
index f0a50ec5fe..d2372dcc32 100644
--- a/activesupport/test/core_ext/hash_ext_test.rb
+++ b/activesupport/test/core_ext/hash_ext_test.rb
@@ -339,6 +339,30 @@ class HashToXmlTest < Test::Unit::TestCase
assert_equal expected_topic_hash, Hash.create_from_xml(topic_xml)["topic"]
end
+ def test_single_record_from_xml_with_nil_values
+ topic_xml = <<-EOT
+ <topic>
+ <title></title>
+ <id type="integer"></id>
+ <approved type="boolean"></approved>
+ <written-on type="date"></written-on>
+ <viewed-at type="datetime"></viewed-at>
+ <parent-id></parent-id>
+ </topic>
+ EOT
+
+ expected_topic_hash = {
+ :title => nil,
+ :id => nil,
+ :approved => nil,
+ :written_on => nil,
+ :viewed_at => nil,
+ :parent_id => nil
+ }.stringify_keys
+
+ assert_equal expected_topic_hash, Hash.create_from_xml(topic_xml)["topic"]
+ end
+
def test_multiple_records_from_xml
topics_xml = <<-EOT
<topics>