mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Add a test for rendering from the controller context.
This commit is contained in:
parent
b735761385
commit
6960a230fa
1 changed files with 54 additions and 0 deletions
54
actionpack/test/controller/new_base/render_context_test.rb
Normal file
54
actionpack/test/controller/new_base/render_context_test.rb
Normal file
|
@ -0,0 +1,54 @@
|
|||
require 'abstract_unit'
|
||||
|
||||
module RenderContext
|
||||
class BasicController < ActionController::Base
|
||||
self.view_paths = [ActionView::FixtureResolver.new(
|
||||
"render_context/basic/hello_world.html.erb" => "<%= @value %> from <%= self.__controller_method__ %>",
|
||||
"layouts/basic.html.erb" => "?<%= yield %>?"
|
||||
)]
|
||||
|
||||
# Include ViewContext
|
||||
include ActionView::Context
|
||||
|
||||
# And initialize the required variables
|
||||
before_filter do
|
||||
@output_buffer = nil
|
||||
@virtual_path = nil
|
||||
@view_flow = ActionView::OutputFlow.new
|
||||
end
|
||||
|
||||
def hello_world
|
||||
@value = "Hello"
|
||||
render :action => "hello_world", :layout => false
|
||||
end
|
||||
|
||||
def with_layout
|
||||
@value = "Hello"
|
||||
render :action => "hello_world", :layout => "basic"
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def view_context
|
||||
self
|
||||
end
|
||||
|
||||
def __controller_method__
|
||||
"controller context!"
|
||||
end
|
||||
end
|
||||
|
||||
class RenderContextTest < Rack::TestCase
|
||||
test "rendering using the controller as context" do
|
||||
get "/render_context/basic/hello_world"
|
||||
assert_body "Hello from controller context!"
|
||||
assert_status 200
|
||||
end
|
||||
|
||||
test "rendering using the controller as context with layout" do
|
||||
get "/render_context/basic/with_layout"
|
||||
assert_body "?Hello from controller context!?"
|
||||
assert_status 200
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue