diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2004-11-24 01:04:44 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2004-11-24 01:04:44 +0000 |
commit | db045dbbf60b53dbe013ef25554fd013baf88134 (patch) | |
tree | 257830e3c76458c8ff3d1329de83f32b23926028 /actionpack/test/controller/redirect_test.rb | |
download | rails-db045dbbf60b53dbe013ef25554fd013baf88134.tar.gz rails-db045dbbf60b53dbe013ef25554fd013baf88134.tar.bz2 rails-db045dbbf60b53dbe013ef25554fd013baf88134.zip |
Initial
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/test/controller/redirect_test.rb')
-rwxr-xr-x | actionpack/test/controller/redirect_test.rb | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/actionpack/test/controller/redirect_test.rb b/actionpack/test/controller/redirect_test.rb new file mode 100755 index 0000000000..6302016a53 --- /dev/null +++ b/actionpack/test/controller/redirect_test.rb @@ -0,0 +1,44 @@ +require File.dirname(__FILE__) + '/../abstract_unit' + +class RedirectTest < Test::Unit::TestCase + class RedirectController < ActionController::Base + def simple_redirect + redirect_to :action => "hello_world" + end + + def method_redirect + redirect_to :dashbord_url, 1, "hello" + end + + def rescue_errors(e) raise e end + + protected + def dashbord_url(id, message) + url_for :action => "dashboard", :params => { "id" => id, "message" => message } + end + end + + def setup + @request = ActionController::TestRequest.new + @response = ActionController::TestResponse.new + end + + def test_simple_redirect + @request.path = "/redirect/simple_redirect" + @request.action = "simple_redirect" + response = process_request + assert_equal "http://test.host/redirect/hello_world", response.headers["location"] + end + + def test_redirect_with_method_reference_and_parameters + @request.path = "/redirect/method_redirect" + @request.action = "method_redirect" + response = process_request + assert_equal "http://test.host/redirect/dashboard?message=hello&id=1", response.headers["location"] + end + + private + def process_request + RedirectController.process(@request, @response) + end +end
\ No newline at end of file |