From f8f4eccd9afa1ed665980a3c5b1651f25956798a Mon Sep 17 00:00:00 2001 From: Scott Barron Date: Sat, 15 Oct 2005 02:53:21 +0000 Subject: If a component redirects when called with render_component_as_string, render the redirected to action. Fixes #2327 git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2604 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/test/controller/components_test.rb | 28 +++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) (limited to 'actionpack/test/controller/components_test.rb') diff --git a/actionpack/test/controller/components_test.rb b/actionpack/test/controller/components_test.rb index b1aa80304c..de7e8f7260 100644 --- a/actionpack/test/controller/components_test.rb +++ b/actionpack/test/controller/components_test.rb @@ -26,11 +26,19 @@ class CallerController < ActionController::Base end def set_flash - render_component(:controller => 'callee', :action => 'set_flash') + render_component(:controller => "callee", :action => "set_flash") end def use_flash - render_component(:controller => 'callee', :action => 'use_flash') + render_component(:controller => "callee", :action => "use_flash") + end + + def calling_redirected + render_component(:controller => "callee", :action => "redirected") + end + + def calling_redirected_as_string + render_template "<%= render_component(:controller => 'callee', :action => 'redirected') %>" end def rescue_action(e) raise end @@ -53,6 +61,10 @@ class CalleeController < ActionController::Base def use_flash render :text => flash[:notice] || 'no flash' end + + def redirected + redirect_to :controller => "callee", :action => "being_called" + end def rescue_action(e) raise end end @@ -97,4 +109,16 @@ class ComponentsTest < Test::Unit::TestCase get :use_flash assert_equal 'no flash', @response.body end + + def test_component_redirect_redirects + get :calling_redirected + + assert_redirected_to :action => "being_called" + end + + def test_component_as_string_redirect_renders_redirecte_action + get :calling_redirected_as_string + + assert_equal "Lady of the House, speaking", @response.body + end end \ No newline at end of file -- cgit v1.2.3