mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Add a test case for layout nil.
This commit is contained in:
parent
c82fd8fc2a
commit
dd0275e463
2 changed files with 16 additions and 1 deletions
|
@ -249,6 +249,7 @@ module AbstractController
|
|||
# Symbol:: call the method specified by the symbol, which will return the template name
|
||||
# false:: There is no layout
|
||||
# true:: raise an ArgumentError
|
||||
# nil:: Force default layout behavior with inheritance
|
||||
#
|
||||
# ==== Parameters
|
||||
# * <tt>layout</tt> - The layout to use.
|
||||
|
|
|
@ -14,7 +14,10 @@ module AbstractControllerTests
|
|||
"layouts/overwrite.erb" => "Overwrite <%= yield %>",
|
||||
"layouts/with_false_layout.erb" => "False Layout <%= yield %>",
|
||||
"abstract_controller_tests/layouts/with_string_implied_child.erb" =>
|
||||
"With Implied <%= yield %>"
|
||||
"With Implied <%= yield %>",
|
||||
"abstract_controller_tests/layouts/with_grand_child_of_implied.erb" =>
|
||||
"With Grand Child <%= yield %>"
|
||||
|
||||
)]
|
||||
end
|
||||
|
||||
|
@ -64,6 +67,10 @@ module AbstractControllerTests
|
|||
class WithChildOfImplied < WithStringImpliedChild
|
||||
end
|
||||
|
||||
class WithGrandChildOfImplied < WithStringImpliedChild
|
||||
layout nil
|
||||
end
|
||||
|
||||
class WithProc < Base
|
||||
layout proc { |c| "overwrite" }
|
||||
|
||||
|
@ -299,6 +306,13 @@ module AbstractControllerTests
|
|||
assert_equal "With Implied Hello string!", controller.response_body
|
||||
end
|
||||
|
||||
test "when a grandchild has nil layout specified, the child has an implied layout, and the " \
|
||||
"parent has specified a layout, use the child controller layout" do
|
||||
controller = WithGrandChildOfImplied.new
|
||||
controller.process(:index)
|
||||
assert_equal "With Grand Child Hello string!", controller.response_body
|
||||
end
|
||||
|
||||
test "raises an exception when specifying layout true" do
|
||||
assert_raises ArgumentError do
|
||||
Object.class_eval do
|
||||
|
|
Loading…
Reference in a new issue