Commit 88e593ee authored by Jean-Philippe Lang's avatar Jean-Philippe Lang

Fixes unhandled case in json builder.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4464 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent 558a951e
......@@ -36,7 +36,7 @@ module Redmine
if args.any?
if args.first.is_a?(Hash)
if @struct.last.is_a?(Array)
@struct.last << args.first
@struct.last << args.first unless block
else
@struct.last[sym] = args.first
end
......@@ -50,7 +50,7 @@ module Redmine
end
if block
@struct << {}
@struct << (args.first.is_a?(Hash) ? args.first : {})
block.call(self)
ret = @struct.pop
if @struct.last.is_a?(Array)
......
......@@ -51,6 +51,17 @@ class Redmine::Views::Builders::JsonTest < HelperTestCase
b.book :title => 'Book 2', :author => 'G. Cooper'
end
end
assert_json_output({'books' => [{'title' => 'Book 1', 'author' => 'B. Smith'}, {'title' => 'Book 2', 'author' => 'G. Cooper'}]}) do |b|
b.array :books do |b|
b.book :title => 'Book 1' do
b.author 'B. Smith'
end
b.book :title => 'Book 2' do
b.author 'G. Cooper'
end
end
end
end
def test_array_with_content_tags
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment