diff options
author | Carlos Antonio da Silva <carlosantoniodasilva@gmail.com> | 2010-11-11 01:30:40 -0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-11-11 16:22:39 +0100 |
commit | 50c7aab996baafdfee4b1e4b2ca4673ee76bb19a (patch) | |
tree | 3566defa761362a366c6aa2fee2f786d9c2f775e /actionpack/test/template | |
parent | 920660b19c5419c6df1c234a84e7fec71b169544 (diff) | |
download | rails-50c7aab996baafdfee4b1e4b2ca4673ee76bb19a.tar.gz rails-50c7aab996baafdfee4b1e4b2ca4673ee76bb19a.tar.bz2 rails-50c7aab996baafdfee4b1e4b2ca4673ee76bb19a.zip |
Fix issue with rendering partials and then yielding inside a render layout call
The given block was never being executed when another render :partial call
existed before the yield call, due to the block being overriden.
This commit also adds some more tests to render with :layout option.
Diffstat (limited to 'actionpack/test/template')
-rw-r--r-- | actionpack/test/template/render_test.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/actionpack/test/template/render_test.rb b/actionpack/test/template/render_test.rb index 17bb610b6a..7736b936a1 100644 --- a/actionpack/test/template/render_test.rb +++ b/actionpack/test/template/render_test.rb @@ -247,6 +247,26 @@ module RenderTestCases @view.render(:file => "test/hello_world.erb", :layout => "layouts/yield_with_render_inline_inside") end + def test_render_with_layout_which_renders_another_partial + assert_equal %(partial html\nHello world!\n), + @view.render(:file => "test/hello_world.erb", :layout => "layouts/yield_with_render_partial_inside") + end + + def test_render_layout_with_block_and_yield + assert_equal %(Content from block!\n), + @view.render(:layout => "layouts/yield_only") { "Content from block!" } + end + + def test_render_layout_with_block_and_yield_with_params + assert_equal %(Yield! Content from block!\n), + @view.render(:layout => "layouts/yield_with_params") { |param| "#{param} Content from block!" } + end + + def test_render_layout_with_block_which_renders_another_partial_and_yields + assert_equal %(partial html\nContent from block!\n), + @view.render(:layout => "layouts/partial_and_yield") { "Content from block!" } + end + def test_render_with_nested_layout assert_equal %(<title>title</title>\n\n<div id="column">column</div>\n<div id="content">content</div>\n), @view.render(:file => "test/nested_layout.erb", :layout => "layouts/yield") |