2004-11-24 01:04:44 +00:00
|
|
|
require File.dirname(__FILE__) + '/../abstract_unit'
|
|
|
|
|
2005-02-23 14:57:08 +00:00
|
|
|
class RedirectController < ActionController::Base
|
|
|
|
def simple_redirect
|
|
|
|
redirect_to :action => "hello_world"
|
|
|
|
end
|
|
|
|
|
|
|
|
def method_redirect
|
|
|
|
redirect_to :dashbord_url, 1, "hello"
|
2004-11-24 01:04:44 +00:00
|
|
|
end
|
2005-02-23 14:57:08 +00:00
|
|
|
|
2005-04-30 08:34:02 +00:00
|
|
|
def host_redirect
|
|
|
|
redirect_to :action => "other_host", :only_path => false, :host => 'other.test.host'
|
|
|
|
end
|
|
|
|
|
2005-02-23 14:57:08 +00:00
|
|
|
def rescue_errors(e) raise e end
|
|
|
|
|
|
|
|
protected
|
|
|
|
def dashbord_url(id, message)
|
|
|
|
url_for :action => "dashboard", :params => { "id" => id, "message" => message }
|
|
|
|
end
|
|
|
|
end
|
2004-11-24 01:04:44 +00:00
|
|
|
|
2005-02-23 14:57:08 +00:00
|
|
|
class RedirectTest < Test::Unit::TestCase
|
2004-11-24 01:04:44 +00:00
|
|
|
def setup
|
2005-02-23 14:57:08 +00:00
|
|
|
@controller = RedirectController.new
|
|
|
|
@request = ActionController::TestRequest.new
|
|
|
|
@response = ActionController::TestResponse.new
|
2004-11-24 01:04:44 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def test_simple_redirect
|
2005-02-23 14:57:08 +00:00
|
|
|
get :simple_redirect
|
|
|
|
assert_redirect_url "http://test.host/redirect/hello_world"
|
2004-11-24 01:04:44 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
def test_redirect_with_method_reference_and_parameters
|
2005-02-23 14:57:08 +00:00
|
|
|
get :method_redirect
|
2005-02-24 11:50:59 +00:00
|
|
|
assert_redirect_url "http://test.host/redirect/dashboard/1?message=hello"
|
2004-11-24 01:04:44 +00:00
|
|
|
end
|
2005-04-30 08:34:02 +00:00
|
|
|
|
|
|
|
def test_simple_redirect_using_options
|
|
|
|
get :host_redirect
|
|
|
|
assert_redirected_to :action => "other_host", :only_path => false, :host => 'other.test.host'
|
|
|
|
end
|
|
|
|
end
|