aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorAndrew White <andyw@pixeltrix.co.uk>2014-05-13 10:52:40 +0100
committerAndrew White <andyw@pixeltrix.co.uk>2014-05-13 10:52:40 +0100
commitb95ac8a20b9764c9736046eb86e7ae1b6082d65a (patch)
treedf2cde8c7c612eae210a6ce2520ff906c8fb5f6e /actionpack
parentfd6d6dc6024adb77be92f9ef7d13dbf5722c1770 (diff)
parent7ec665303d125c945f7d59affb904f974143a087 (diff)
downloadrails-b95ac8a20b9764c9736046eb86e7ae1b6082d65a.tar.gz
rails-b95ac8a20b9764c9736046eb86e7ae1b6082d65a.tar.bz2
rails-b95ac8a20b9764c9736046eb86e7ae1b6082d65a.zip
Merge pull request #15084 from arthurnn/fix_assert_redirected_to
Fix regression on `assert_redirected_to`.
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_dispatch/testing/assertions/response.rb8
-rw-r--r--actionpack/test/controller/integration_test.rb6
2 files changed, 13 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/testing/assertions/response.rb b/actionpack/lib/action_dispatch/testing/assertions/response.rb
index 68feb26936..0adc6c84ff 100644
--- a/actionpack/lib/action_dispatch/testing/assertions/response.rb
+++ b/actionpack/lib/action_dispatch/testing/assertions/response.rb
@@ -73,7 +73,13 @@ module ActionDispatch
if Regexp === fragment
fragment
else
- @controller._compute_redirect_to_location(fragment)
+ handle = @controller || Class.new(ActionController::Metal) do
+ include ActionController::Redirecting
+ def initialize(request)
+ @_request = request
+ end
+ end.new(@request)
+ handle._compute_redirect_to_location(fragment)
end
end
end
diff --git a/actionpack/test/controller/integration_test.rb b/actionpack/test/controller/integration_test.rb
index e851cc6a63..200a2dcc47 100644
--- a/actionpack/test/controller/integration_test.rb
+++ b/actionpack/test/controller/integration_test.rb
@@ -374,6 +374,10 @@ class IntegrationProcessTest < ActionDispatch::IntegrationTest
follow_redirect!
assert_response :success
assert_equal "/get", path
+
+ get '/moved'
+ assert_response :redirect
+ assert_redirected_to '/method'
end
end
@@ -511,6 +515,8 @@ class IntegrationProcessTest < ActionDispatch::IntegrationTest
end
set.draw do
+ get 'moved' => redirect('/method')
+
match ':action', :to => controller, :via => [:get, :post], :as => :action
get 'get/:action', :to => controller, :as => :get_action
end