Make sure :layout => false is always used when rendering inside a layout
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1970 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
3d4a323776
commit
a3469cadad
|
@ -1,5 +1,7 @@
|
|||
*SVN*
|
||||
|
||||
* Make sure :layout => false is always used when rendering inside a layout
|
||||
|
||||
* Use raise instead of assert_not_nil in Test::Unit::TestCase#process to ensure that the test variables (controller, request, response) have been set
|
||||
|
||||
* Make sure assigns are built for every request when testing #1866
|
||||
|
|
|
@ -208,6 +208,7 @@ module ActionController #:nodoc:
|
|||
template_with_options = options.is_a?(Hash)
|
||||
|
||||
if apply_layout?(template_with_options, options) && (layout = pick_layout(template_with_options, options, deprecated_layout))
|
||||
options = options.merge :layout => false if template_with_options
|
||||
logger.info("Rendering #{options} within #{layout}") if logger
|
||||
|
||||
if template_with_options
|
||||
|
|
|
@ -60,6 +60,10 @@ class NewRenderTestController < ActionController::Base
|
|||
render :action => "hello_world", :layout => false
|
||||
end
|
||||
|
||||
def layout_overriding_layout
|
||||
render :action => "hello_world", :layout => "standard"
|
||||
end
|
||||
|
||||
def rendering_nothing_on_layout
|
||||
render :nothing => true
|
||||
end
|
||||
|
@ -154,7 +158,7 @@ class NewRenderTestController < ActionController::Base
|
|||
"layouts/standard"
|
||||
when "builder_layout_test"
|
||||
"layouts/builder"
|
||||
when "action_talk_to_layout"
|
||||
when "action_talk_to_layout", "layout_overriding_layout"
|
||||
"layouts/talk_from_action"
|
||||
end
|
||||
end
|
||||
|
@ -261,6 +265,11 @@ class NewRenderTest < Test::Unit::TestCase
|
|||
assert_equal "Hello world!", @response.body
|
||||
end
|
||||
|
||||
def test_layout_overriding_layout
|
||||
get :layout_overriding_layout
|
||||
assert_no_match %r{<title>}, @response.body
|
||||
end
|
||||
|
||||
def test_rendering_nothing_on_layout
|
||||
get :rendering_nothing_on_layout
|
||||
assert_equal " ", @response.body
|
||||
|
|
Loading…
Reference in New Issue