diff options
author | Yves Senn <yves.senn@gmail.com> | 2013-02-21 17:43:49 +0100 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2013-02-21 17:44:31 +0100 |
commit | c88ee76928a85cc34318d0442b38da4c850b7030 (patch) | |
tree | 100c61dcc5b70741ddf9238d558de38650eaf0a2 /actionpack/test | |
parent | ea544e9b481d669fa0a0863b872b6e9034806d07 (diff) | |
download | rails-c88ee76928a85cc34318d0442b38da4c850b7030.tar.gz rails-c88ee76928a85cc34318d0442b38da4c850b7030.tar.bz2 rails-c88ee76928a85cc34318d0442b38da4c850b7030.zip |
determine the match shorthand target early.
Closes #7554.
This patch determines the `controller#action` directly
in the `match` method when the shorthand syntax is used.
this prevents problems with namespaces and scopes.
Diffstat (limited to 'actionpack/test')
-rw-r--r-- | actionpack/test/dispatch/routing_test.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/routing_test.rb b/actionpack/test/dispatch/routing_test.rb index 143733254b..37ad9ddb6b 100644 --- a/actionpack/test/dispatch/routing_test.rb +++ b/actionpack/test/dispatch/routing_test.rb @@ -1146,6 +1146,33 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest assert_equal 'api/products#list', @response.body end + def test_match_shorthand_inside_scope_with_variables_with_controller + draw do + scope ':locale' do + match 'questions/new', via: [:get] + end + end + + get '/de/questions/new' + assert_equal 'questions#new', @response.body + assert_equal 'de', @request.params[:locale] + end + + def test_match_shorthand_inside_nested_namespaces_and_scopes_with_controller + draw do + namespace :api do + namespace :v3 do + scope ':locale' do + get "products/list" + end + end + end + end + + get '/api/v3/en/products/list' + assert_equal 'api/v3/products#list', @response.body + end + def test_dynamically_generated_helpers_on_collection_do_not_clobber_resources_url_helper draw do resources :replies do |