aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller/redirect_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/test/controller/redirect_test.rb')
-rwxr-xr-xactionpack/test/controller/redirect_test.rb55
1 files changed, 55 insertions, 0 deletions
diff --git a/actionpack/test/controller/redirect_test.rb b/actionpack/test/controller/redirect_test.rb
index ee20457508..36e742453a 100755
--- a/actionpack/test/controller/redirect_test.rb
+++ b/actionpack/test/controller/redirect_test.rb
@@ -13,6 +13,10 @@ class RedirectController < ActionController::Base
redirect_to :action => "other_host", :only_path => false, :host => 'other.test.host'
end
+ def module_redirect
+ redirect_to :controller => 'module_test/module_redirect', :action => "hello_world"
+ end
+
def rescue_errors(e) raise e end
protected
@@ -42,4 +46,55 @@ class RedirectTest < Test::Unit::TestCase
get :host_redirect
assert_redirected_to :action => "other_host", :only_path => false, :host => 'other.test.host'
end
+
+ def test_module_redirect
+ get :module_redirect
+ assert_redirect_url "http://test.host/module_test/module_redirect/hello_world"
+ end
+
+ def test_module_redirect_using_options
+ get :module_redirect
+ assert_redirected_to :controller => 'module_test/module_redirect', :action => 'hello_world'
+ end
end
+
+module ModuleTest
+ class ModuleRedirectController < ::RedirectController
+ def module_redirect
+ redirect_to :controller => '/redirect', :action => "hello_world"
+ end
+ end
+
+ class ModuleRedirectTest < Test::Unit::TestCase
+ def setup
+ @controller = ModuleRedirectController.new
+ @request = ActionController::TestRequest.new
+ @response = ActionController::TestResponse.new
+ end
+
+ def test_simple_redirect
+ get :simple_redirect
+ assert_redirect_url "http://test.host/module_test/module_redirect/hello_world"
+ end
+
+ def test_redirect_with_method_reference_and_parameters
+ get :method_redirect
+ assert_redirect_url "http://test.host/module_test/module_redirect/dashboard/1?message=hello"
+ end
+
+ def test_simple_redirect_using_options
+ get :host_redirect
+ assert_redirected_to :action => "other_host", :only_path => false, :host => 'other.test.host'
+ end
+
+ def test_module_redirect
+ get :module_redirect
+ assert_redirect_url "http://test.host/redirect/hello_world"
+ end
+
+ def test_module_redirect_using_options
+ get :module_redirect
+ assert_redirected_to :controller => 'redirect', :action => "hello_world"
+ end
+ end
+end \ No newline at end of file