fixing wildcard path matching when wildcard is inside parenthesis

This commit is contained in:
Aaron Patterson
2011-07-26 17:33:22 -07:00
committed by Xavier Noria
parent ab422b04a2
commit f445bb2671
2 changed files with 8 additions and 1 deletions

View File

@@ -51,7 +51,7 @@ module ActionDispatch
IGNORE_OPTIONS = [:to, :as, :via, :on, :constraints, :defaults, :only, :except, :anchor, :shallow, :shallow_path, :shallow_prefix]
ANCHOR_CHARACTERS_REGEX = %r{\A(\\A|\^)|(\\Z|\\z|\$)\Z}
SHORTHAND_REGEX = %r{^/[\w/]+$}
WILDCARD_PATH = %r{\*([^/]+)$}
WILDCARD_PATH = %r{\*([^/\)]+)\)?$}
def initialize(set, scope, path, options)
@set, @scope = set, scope

View File

@@ -35,6 +35,13 @@ module ActionDispatch
Mapper.new FakeSet.new
end
def test_mapping_requirements
options = { :controller => 'foo', :action => 'bar' }
m = Mapper::Mapping.new FakeSet.new, {}, '/store/:name(*rest)', options
_, _, requirements, _ = m.to_route
assert_equal(/.+?/, requirements[:rest])
end
def test_map_slash
fakeset = FakeSet.new
mapper = Mapper.new fakeset