aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-06-26 05:23:41 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-06-26 05:23:41 +0000
commitee4c834ed2339eaff5dc888e2148a15b9cdbd615 (patch)
tree97efd58e7b37c081d3ecbcffde3ec98f1b89c563 /actionpack/lib/action_controller
parent1bb676b6c0fd5f181e1b0b155be6bc6ffeb67d02 (diff)
downloadrails-ee4c834ed2339eaff5dc888e2148a15b9cdbd615.tar.gz
rails-ee4c834ed2339eaff5dc888e2148a15b9cdbd615.tar.bz2
rails-ee4c834ed2339eaff5dc888e2148a15b9cdbd615.zip
Added testing of named routes #1506 [Nicholas Seckar]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1517 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/assertions.rb7
-rw-r--r--actionpack/lib/action_controller/routing.rb2
-rw-r--r--actionpack/lib/action_controller/test_process.rb7
3 files changed, 14 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/assertions.rb b/actionpack/lib/action_controller/assertions.rb
index 4a6f4daae5..f2eb2fd2f4 100644
--- a/actionpack/lib/action_controller/assertions.rb
+++ b/actionpack/lib/action_controller/assertions.rb
@@ -26,6 +26,13 @@ module Test #:nodoc:
#
# For redirects within the same controller, you can even call follow_redirect and the redirect will be follow triggering another
# action call which can then be asserted against.
+ #
+ # == Testing named routes
+ #
+ # If you're using named routes, they can be easily tested using the original named routes methods straight in the test case.
+ # Example:
+ #
+ # assert_redirected_to page_url(:title => 'foo')
module Assertions
# Asserts that the response is one of the following types:
#
diff --git a/actionpack/lib/action_controller/routing.rb b/actionpack/lib/action_controller/routing.rb
index 3a1ef27234..184be83781 100644
--- a/actionpack/lib/action_controller/routing.rb
+++ b/actionpack/lib/action_controller/routing.rb
@@ -567,7 +567,7 @@ module ActionController
protected url_helper_name(name), hash_access_name(name)
- Helpers << url_helper_name(name)
+ Helpers << url_helper_name(name).to_sym
Helpers.uniq!
end
diff --git a/actionpack/lib/action_controller/test_process.rb b/actionpack/lib/action_controller/test_process.rb
index 0480d50f57..93d9dd8a2f 100644
--- a/actionpack/lib/action_controller/test_process.rb
+++ b/actionpack/lib/action_controller/test_process.rb
@@ -324,6 +324,11 @@ module Test
$:.unshift File.dirname(__FILE__) + "/vendor/html-scanner"
require 'html/document'
end
- end
+
+ def method_missing(selector, *args)
+ return @controller.send(selector, *args) if ActionController::Routing::NamedRoutes::Helpers.include?(selector)
+ return super
+ end
+ end
end
end