From 13e1d295d69d6410e0e4350aff8dde0e5151717d Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Tue, 28 Nov 2006 23:25:00 +0000 Subject: @response.redirect_url works with 201 Created responses: just return headers['Location'] rather than checking the response status. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5643 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/test/controller/test_test.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'actionpack/test') diff --git a/actionpack/test/controller/test_test.rb b/actionpack/test/controller/test_test.rb index ee172b25a4..bc2651c281 100644 --- a/actionpack/test/controller/test_test.rb +++ b/actionpack/test/controller/test_test.rb @@ -66,6 +66,11 @@ HTML redirect_to :controller => 'fail', :id => 5 end + def create + headers['Location'] = 'created resource' + head :created + end + private def rescue_action(e) raise e @@ -463,6 +468,20 @@ HTML end end + def test_redirect_url_only_cares_about_location_header + get :create + assert_response :created + + # Redirect url doesn't care that it wasn't a :redirect response. + assert_equal 'created resource', @response.redirect_url + assert_equal @response.redirect_url, redirect_to_url + + # Must be a :redirect response. + assert_raise(Test::Unit::AssertionFailedError) do + assert_redirected_to 'created resource' + end + end + protected def with_foo_routing with_routing do |set| -- cgit v1.2.3