aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller
diff options
context:
space:
mode:
authorJamis Buck <jamis@37signals.com>2006-06-05 14:31:38 +0000
committerJamis Buck <jamis@37signals.com>2006-06-05 14:31:38 +0000
commit332fcfaf6bee6b3ae0911e9bbe24ded9af757868 (patch)
tree3cb23140f478836e75d9de1a6c447e5e1320e1ab /actionpack/test/controller
parent7d88146e9ed908d663786a45c87cdeaa56135a39 (diff)
downloadrails-332fcfaf6bee6b3ae0911e9bbe24ded9af757868.tar.gz
rails-332fcfaf6bee6b3ae0911e9bbe24ded9af757868.tar.bz2
rails-332fcfaf6bee6b3ae0911e9bbe24ded9af757868.zip
Make sure regexp chunks are grouped when the segment has a regexp constraint so that captures are counted correctly (closes #5267)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4434 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/test/controller')
-rw-r--r--actionpack/test/controller/routing_test.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/actionpack/test/controller/routing_test.rb b/actionpack/test/controller/routing_test.rb
index 3f8397c95e..6388c6af03 100644
--- a/actionpack/test/controller/routing_test.rb
+++ b/actionpack/test/controller/routing_test.rb
@@ -1230,6 +1230,29 @@ class RouteSetTest < Test::Unit::TestCase
ensure
Object.send(:remove_const, :PeopleController)
end
+
+ def test_typo_recognition
+ Object.const_set(:ArticlesController, Class.new)
+
+ set.draw do |map|
+ map.connect 'articles/:year/:month/:day/:title',
+ :controller => 'articles', :action => 'permalink',
+ :year => /\d{4}/, :day => /\d{1,2}/, :month => /\d{1,2}/
+ end
+
+ request.path = "/articles/2005/11/05/a-very-interesting-article"
+ request.method = :get
+ assert_nothing_raised { set.recognize(request) }
+ assert_equal("permalink", request.path_parameters[:action])
+ assert_equal("2005", request.path_parameters[:year])
+ assert_equal("11", request.path_parameters[:month])
+ assert_equal("05", request.path_parameters[:day])
+ assert_equal("a-very-interesting-article", request.path_parameters[:title])
+
+ ensure
+ Object.send(:remove_const, :ArticlesController)
+ end
+
def test_recognize_with_conditions_and_format
Object.const_set(:PeopleController, Class.new)