mirror of
https://github.com/github/rails.git
synced 2026-02-01 17:54:59 -05:00
More compatible Hash.create_from_xml. Closes #5523.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4510 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
*SVN*
|
||||
|
||||
* More compatible Hash.create_from_xml. #5523 [nunemaker@gmail.com]
|
||||
|
||||
* Added Enumerable#sum for calculating a sum from the elements [DHH, jonathan@daikini.com]. Examples:
|
||||
|
||||
[1, 2, 3].sum
|
||||
|
||||
@@ -113,6 +113,8 @@ module ActiveSupport #:nodoc:
|
||||
when 1 then value.first
|
||||
else value
|
||||
end
|
||||
when "String"
|
||||
value
|
||||
else
|
||||
raise "can't typecast #{value.inspect}"
|
||||
end
|
||||
|
||||
@@ -357,4 +357,27 @@ class HashToXmlTest < Test::Unit::TestCase
|
||||
|
||||
assert_equal expected_topic_hash, Hash.create_from_xml(topics_xml)["topics"]["topic"].first
|
||||
end
|
||||
|
||||
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>
|
||||
</rsp>
|
||||
EOT
|
||||
|
||||
expected_topic_hash = {
|
||||
:id => "175756086",
|
||||
:owner => "55569174@N00",
|
||||
:secret => "0279bf37a1",
|
||||
:server => "76",
|
||||
:title => "Colored Pencil PhotoBooth Fun",
|
||||
:ispublic => "1",
|
||||
:isfriend => "0",
|
||||
:isfamily => "0",
|
||||
}.stringify_keys
|
||||
|
||||
assert_equal expected_topic_hash, Hash.create_from_xml(topic_xml)["rsp"]["photos"]["photo"]
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user