Permalink
Browse files

Add a test for rendering from the controller context.

  • Loading branch information...
1 parent b735761 commit 6960a230fa2c2b7cf59266fc903ce0c11e887a9f @josevalim josevalim committed May 1, 2011
Showing with 54 additions and 0 deletions.
  1. +54 −0 actionpack/test/controller/new_base/render_context_test.rb
@@ -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

0 comments on commit 6960a23

Please sign in to comment.