aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2010-03-02 14:07:42 -0800
committerJeremy Kemper <jeremy@bitsweat.net>2010-03-02 14:16:25 -0800
commit9f83cdc38e03dc3e65a702b00dc4a3cc0bb44e60 (patch)
treee3d28c9f3bf1522bad9acf1215e255df4cd1d5be /actionpack
parent6d7d03b77c281014ab01177ed47b7e887866e3f9 (diff)
downloadrails-9f83cdc38e03dc3e65a702b00dc4a3cc0bb44e60.tar.gz
rails-9f83cdc38e03dc3e65a702b00dc4a3cc0bb44e60.tar.bz2
rails-9f83cdc38e03dc3e65a702b00dc4a3cc0bb44e60.zip
No longer add missing leading / on path args to assert_redirected_to. Deprecated in 2.3.6.
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_dispatch/testing/assertions/response.rb23
-rw-r--r--actionpack/test/controller/action_pack_assertions_test.rb6
2 files changed, 18 insertions, 11 deletions
diff --git a/actionpack/lib/action_dispatch/testing/assertions/response.rb b/actionpack/lib/action_dispatch/testing/assertions/response.rb
index c2486d3730..937c9f48d2 100644
--- a/actionpack/lib/action_dispatch/testing/assertions/response.rb
+++ b/actionpack/lib/action_dispatch/testing/assertions/response.rb
@@ -132,16 +132,21 @@ module ActionDispatch
end
def normalize_argument_to_redirection(fragment)
- after_routing = @controller.url_for(fragment)
- if after_routing =~ %r{^\w+://.*}
- after_routing
- else
- # FIXME - this should probably get removed.
- if after_routing.first != '/'
- after_routing = '/' + after_routing
+ case fragment
+ when %r{^\w[\w\d+.-]*:.*}
+ fragment
+ when String
+ if fragment =~ %r{^\w[\w\d+.-]*:.*}
+ fragment
+ else
+ @request.protocol + @request.host_with_port + fragment
end
- @request.protocol + @request.host_with_port + after_routing
- end
+ when :back
+ raise RedirectBackError unless refer = @request.headers["Referer"]
+ refer
+ else
+ @controller.url_for(fragment)
+ end.gsub(/[\r\n]/, '')
end
def validate_request!
diff --git a/actionpack/test/controller/action_pack_assertions_test.rb b/actionpack/test/controller/action_pack_assertions_test.rb
index 6906dc97e8..26e0d6d844 100644
--- a/actionpack/test/controller/action_pack_assertions_test.rb
+++ b/actionpack/test/controller/action_pack_assertions_test.rb
@@ -469,9 +469,11 @@ class ActionPackAssertionsControllerTest < ActionController::TestCase
assert_redirected_to '/some/path'
end
- def test_redirected_to_url_no_leadling_slash
+ def test_redirected_to_url_no_leading_slash_fails
process :redirect_to_path
- assert_redirected_to 'some/path'
+ assert_raise ActiveSupport::TestCase::Assertion do
+ assert_redirected_to 'some/path'
+ end
end
def test_redirected_to_url_full_url