From 6ce3bf70a24c69d8e35e8ab84dfc823042172d91 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Mon, 22 May 2006 22:59:56 +0000 Subject: follow_redirect doesn't complain about being redirected to the same controller. Closes #5153. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4361 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/test/controller/test_test.rb | 46 ++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 7 deletions(-) (limited to 'actionpack/test') diff --git a/actionpack/test/controller/test_test.rb b/actionpack/test/controller/test_test.rb index 2d33a3d9d4..2c341e751b 100644 --- a/actionpack/test/controller/test_test.rb +++ b/actionpack/test/controller/test_test.rb @@ -58,8 +58,15 @@ HTML redirect_to :generate_url, :id => 5 end + def redirect_to_same_controller + redirect_to :controller => 'test', :action => 'test_uri', :id => 5 + end + + def redirect_to_different_controller + redirect_to :controller => 'fail', :id => 5 + end + private - def rescue_action(e) raise e end @@ -405,14 +412,39 @@ HTML end def test_assert_redirected_to_symbol - with_routing do |set| - set.draw do - set.generate_url 'foo', :controller => 'test' - set.connect ':controller/:action/:id' - end - + with_foo_routing do |set| get :redirect_to_symbol + assert_response :redirect assert_redirected_to :generate_url end end + + def test_assert_follow_redirect_to_same_controller + with_foo_routing do |set| + get :redirect_to_same_controller + assert_response :redirect + assert_redirected_to :controller => 'test_test/test', :action => 'test_uri', :id => 5 + assert_nothing_raised { follow_redirect } + end + end + + def test_assert_follow_redirect_to_different_controller + with_foo_routing do |set| + get :redirect_to_different_controller + assert_response :redirect + assert_redirected_to :controller => 'fail', :id => 5 + assert_raise(RuntimeError) { follow_redirect } + end + end + + protected + def with_foo_routing + with_routing do |set| + set.draw do + set.generate_url 'foo', :controller => 'test' + set.connect ':controller/:action/:id' + end + yield set + end + end end -- cgit v1.2.3