make sure we are only doing sanity checking against regular expressions

This commit is contained in:
Aaron Patterson 2010-11-15 13:37:05 -08:00
parent 91a6db90cf
commit 0be181bfa0
2 changed files with 9 additions and 1 deletions

@ -114,7 +114,7 @@ def requirements
requirements.reverse_merge!(@scope[:constraints]) if @scope[:constraints]
@options.each { |k, v| requirements[k] = v if v.is_a?(Regexp) }
requirements.each do |_, requirement|
requirements.values.grep(Regexp).each do |requirement|
if requirement.source =~ %r{\A(\\A|\^)|(\\Z|\\z|\$)\Z}
raise ArgumentError, "Regexp anchor characters are not allowed in routing requirements: #{requirement.inspect}"
end

@ -171,6 +171,14 @@ def test_redirect_to_named_route
end
end
def test_string_constraint
with_routing do |set|
set.draw do |map|
match "photos", :to => 'action_pack_assertions#nothing', :constraints => {:subdomain => "admin"}
end
end
end
def test_assert_redirect_to_named_route_failure
with_routing do |set|
set.draw do