aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch
diff options
context:
space:
mode:
authorDiego Carrion <dc.rec1@gmail.com>2010-06-07 18:08:48 -0500
committerDavid Heinemeier Hansson <david@loudthinking.com>2010-06-07 18:09:20 -0500
commit67a60ee314f53abcde78f8ecd2a1f7c9ef8264e1 (patch)
tree816f230f970160d02e496a4ae8dc7daece83de0b /actionpack/test/dispatch
parenta04060fb6fe006b1dbc224263dd6c39525733c6d (diff)
downloadrails-67a60ee314f53abcde78f8ecd2a1f7c9ef8264e1.tar.gz
rails-67a60ee314f53abcde78f8ecd2a1f7c9ef8264e1.tar.bz2
rails-67a60ee314f53abcde78f8ecd2a1f7c9ef8264e1.zip
Add shallow routes to the new router [Closes #3765]
Diffstat (limited to 'actionpack/test/dispatch')
-rw-r--r--actionpack/test/dispatch/routing_test.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/routing_test.rb b/actionpack/test/dispatch/routing_test.rb
index ffa4f50b00..82c45f3161 100644
--- a/actionpack/test/dispatch/routing_test.rb
+++ b/actionpack/test/dispatch/routing_test.rb
@@ -34,6 +34,33 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest
end
end
+ resources :users do
+ shallow do
+ resources :photos do
+ resources :types do
+ member do
+ post :preview
+ end
+ collection do
+ delete :erase
+ end
+ end
+ end
+ end
+ end
+
+ shallow do
+ resources :teams do
+ resources :players
+ end
+
+ resources :countries do
+ resources :cities do
+ resources :places
+ end
+ end
+ end
+
match 'account/logout' => redirect("/logout"), :as => :logout_redirect
match 'account/login', :to => redirect("/login")
@@ -728,6 +755,18 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest
end
end
+ def test_shallow_routes
+ with_test_routes do
+ assert_equal '/photos/4', photo_path(4)
+ assert_equal '/types/10/edit', edit_type_path(10)
+ assert_equal '/types/5/preview', preview_type_path(5)
+ assert_equal '/photos/2/types', photo_types_path(2)
+ assert_equal '/cities/1/places', url_for(:controller => :places, :action => :index, :city_id => 1, :only_path => true)
+ assert_equal '/teams/new', url_for(:controller => :teams, :action => :new, :only_path => true)
+ assert_equal '/photos/11/types/erase', url_for(:controller => :types, :action => :erase, :photo_id => 11, :only_path => true)
+ end
+ end
+
def test_update_project_person
with_test_routes do
get '/projects/1/people/2/update'