Added yielding of builder in Hash#to_xml [DHH]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6540 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson
2007-04-19 22:32:39 +00:00
parent c97f329b2a
commit c87d242bf7
3 changed files with 15 additions and 0 deletions

View File

@@ -1,5 +1,7 @@
*SVN*
* Added yielding of builder in Hash#to_xml [DHH]
* Hash#with_indifferent_access now also converts hashes kept in arrays to indifferent access (makes it easier to treat HTML and XML parameters the same) [DHH]
* Hash#to_xml supports YAML attributes. #7502 [jonathan]

View File

@@ -99,6 +99,8 @@ module ActiveSupport #:nodoc:
end
end
end
yield options[:builder] if block_given?
end
end

View File

@@ -342,6 +342,17 @@ class HashToXmlTest < Test::Unit::TestCase
assert xml.include?(%(<age nil="true"></age>))
end
def test_one_level_with_yielding
xml = { :name => "David", :street => "Paulina" }.to_xml(@xml_options) do |xml|
xml.creator("Rails")
end
assert_equal "<person>", xml.first(8)
assert xml.include?(%(<street>Paulina</street>))
assert xml.include?(%(<name>David</name>))
assert xml.include?(%(<creator>Rails</creator>))
end
def test_two_levels
xml = { :name => "David", :address => { :street => "Paulina" } }.to_xml(@xml_options)
assert_equal "<person>", xml.first(8)