From b0189f3f2ffd9de95ba2332cdcfaf48d28081e18 Mon Sep 17 00:00:00 2001 From: Jamis Buck Date: Mon, 20 Mar 2006 18:16:48 +0000 Subject: Fix assert_redirected_to so it works with symbols git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4004 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/lib/action_controller/assertions.rb | 4 ++-- actionpack/test/controller/test_test.rb | 21 ++++++++++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) (limited to 'actionpack') diff --git a/actionpack/lib/action_controller/assertions.rb b/actionpack/lib/action_controller/assertions.rb index 2402e0941b..3fc65d5bd9 100644 --- a/actionpack/lib/action_controller/assertions.rb +++ b/actionpack/lib/action_controller/assertions.rb @@ -85,8 +85,8 @@ module Test #:nodoc: assert_equal(eurl, url, msg) if eurl && url assert_equal(epath, path, msg) if epath && path else - @response_diff = options.diff(@response.redirected_to) if @response.redirected_to - msg = build_message(message, "response is not a redirection to all of the options supplied (redirection is ), difference: ", + @response_diff = options.diff(@response.redirected_to) if options.is_a?(Hash) && @response.redirected_to.is_a?(Hash) + msg = build_message(message, "response is not a redirection to all of the options supplied (redirection is )#{', difference: ' if @response_diff}", @response.redirected_to || @response.redirect_url, @response_diff) assert_block(msg) do diff --git a/actionpack/test/controller/test_test.rb b/actionpack/test/controller/test_test.rb index 06a2ce3eb7..88e0c159a7 100644 --- a/actionpack/test/controller/test_test.rb +++ b/actionpack/test/controller/test_test.rb @@ -7,7 +7,7 @@ class TestTest < Test::Unit::TestCase flash["test"] = ">#{flash["test"]}<" render :text => 'ignore me' end - + def render_raw_post raise Test::Unit::AssertionFailedError, "#raw_post is blank" if request.raw_post.blank? render :text => request.raw_post @@ -54,9 +54,19 @@ HTML render :text => params[:file].size end - def rescue_action(e) - raise e + def redirect_to_symbol + redirect_to :generate_url, :id => 5 end + + private + + def rescue_action(e) + raise e + end + + def generate_url(opts) + url_for(opts.merge(:action => "test_uri")) + end end def setup @@ -393,4 +403,9 @@ HTML def test_test_uploaded_file_exception_when_file_doesnt_exist assert_raise(RuntimeError) { ActionController::TestUploadedFile.new('non_existent_file') } end + + def test_assert_redirected_to_symbol + get :redirect_to_symbol + assert_redirected_to :generate_url + end end -- cgit v1.2.3