Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Add a test for rendering from the controller context.

  • Loading branch information...
commit 6960a230fa2c2b7cf59266fc903ce0c11e887a9f 1 parent b735761
@josevalim josevalim authored
Showing with 54 additions and 0 deletions.
  1. +54 −0 actionpack/test/controller/new_base/render_context_test.rb
View
54 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
Please sign in to comment.
Something went wrong with that request. Please try again.