rails--rails/actionpack/test/new_base/render_layout_test.rb

59 lines
1.7 KiB
Ruby

require File.join(File.expand_path(File.dirname(__FILE__)), "test_helper")
module ControllerLayouts
class ImplicitController < ::ApplicationController
self.view_paths = [ActionView::Template::FixturePath.new(
"layouts/application.html.erb" => "OMG <%= yield %> KTHXBAI",
"layouts/override.html.erb" => "Override! <%= yield %>",
"basic.html.erb" => "Hello world!"
)]
def index
render :template => "basic"
end
def override
render :template => "basic", :layout => "override"
end
def builder_override
end
end
class TestImplicitLayout < SimpleRouteCase
describe "rendering a normal template, but using the implicit layout"
get "/controller_layouts/implicit/index"
assert_body "OMG Hello world! KTHXBAI"
assert_status 200
end
class ImplicitNameController < ::ApplicationController
self.view_paths = [ActionView::Template::FixturePath.new(
"layouts/controller_layouts/implicit_name.html.erb" => "OMGIMPLICIT <%= yield %> KTHXBAI",
"basic.html.erb" => "Hello world!"
)]
def index
render :template => "basic"
end
end
class TestImplicitNamedLayout < SimpleRouteCase
describe "rendering a normal template, but using an implicit NAMED layout"
get "/controller_layouts/implicit_name/index"
assert_body "OMGIMPLICIT Hello world! KTHXBAI"
assert_status 200
end
class TestOverridingImplicitLayout < SimpleRouteCase
describe "overriding an implicit layout with render :layout option"
get "/controller_layouts/implicit/override"
assert_body "Override! Hello world!"
end
end