mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #3775 from karevn/master
Please pull my changes - they fix a rare problem with tests framework
This commit is contained in:
commit
ad6f689bff
2 changed files with 16 additions and 2 deletions
|
@ -598,7 +598,8 @@ module ActionDispatch
|
|||
params[key] = URI.parser.unescape(value)
|
||||
end
|
||||
end
|
||||
|
||||
old_params = env[::ActionDispatch::Routing::RouteSet::PARAMETERS_KEY]
|
||||
env[::ActionDispatch::Routing::RouteSet::PARAMETERS_KEY] = (old_params || {}).merge(params)
|
||||
dispatcher = route.app
|
||||
while dispatcher.is_a?(Mapper::Constraints) && dispatcher.matches?(env) do
|
||||
dispatcher = dispatcher.app
|
||||
|
|
|
@ -1381,6 +1381,19 @@ class RouteSetTest < ActiveSupport::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_route_with_subdomain_and_constraints_must_receive_params
|
||||
name_param = nil
|
||||
set.draw do
|
||||
match 'page/:name' => 'pages#show', :constraints => lambda {|request|
|
||||
name_param = request.params[:name]
|
||||
return true
|
||||
}
|
||||
end
|
||||
assert_equal({:controller => 'pages', :action => 'show', :name => 'mypage'},
|
||||
set.recognize_path('http://subdomain.example.org/page/mypage'))
|
||||
assert_equal(name_param, 'mypage')
|
||||
end
|
||||
|
||||
def test_route_requirement_recognize_with_ignore_case
|
||||
set.draw do
|
||||
match 'page/:name' => 'pages#show',
|
||||
|
|
Loading…
Reference in a new issue