From 7ec665303d125c945f7d59affb904f974143a087 Mon Sep 17 00:00:00 2001 From: Arthur Neves Date: Tue, 13 May 2014 00:03:38 -0400 Subject: Fix regression on `assert_redirected_to`. `assert_redirected_to` would fail if there is no controller set on a `ActionDispatch::IntegrationTest`, as _compute_redirect_to_location would be called on the controller to build the url. This regression was introduced after 1dacfbabf3bb1e0a9057dd2a016b1804e7fa38c0. [fixes #14691] --- actionpack/lib/action_dispatch/testing/assertions/response.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'actionpack/lib/action_dispatch') 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 -- cgit v1.2.3