diff options
author | Guo Xiang Tan <tgx_world@hotmail.com> | 2014-11-05 23:38:02 +0800 |
---|---|---|
committer | Guo Xiang Tan <tgx_world@hotmail.com> | 2014-11-05 23:38:02 +0800 |
commit | 76f5a9afb35e52bbdc392d6fc35422e22be987c2 (patch) | |
tree | 6581a2f161bb6c435b47db72fc93fb576b8aae63 /actionpack/test | |
parent | 00ae750b23f0f9f59fd7058fc3bff043d2a04c5f (diff) | |
download | rails-76f5a9afb35e52bbdc392d6fc35422e22be987c2.tar.gz rails-76f5a9afb35e52bbdc392d6fc35422e22be987c2.tar.bz2 rails-76f5a9afb35e52bbdc392d6fc35422e22be987c2.zip |
Remove session to allow `with_routing` to be called twice.
Fixes: https://github.com/rails/rails/issues/16814
Diffstat (limited to 'actionpack/test')
-rw-r--r-- | actionpack/test/abstract_unit.rb | 1 | ||||
-rw-r--r-- | actionpack/test/controller/integration_test.rb | 36 |
2 files changed, 37 insertions, 0 deletions
diff --git a/actionpack/test/abstract_unit.rb b/actionpack/test/abstract_unit.rb index 69312e4c22..63c9ab04c9 100644 --- a/actionpack/test/abstract_unit.rb +++ b/actionpack/test/abstract_unit.rb @@ -194,6 +194,7 @@ class ActionDispatch::IntegrationTest < ActiveSupport::TestCase yield temporary_routes ensure self.class.app = old_app + self.remove! silence_warnings { Object.const_set(:SharedTestRoutes, old_routes) } end diff --git a/actionpack/test/controller/integration_test.rb b/actionpack/test/controller/integration_test.rb index d91a1657b3..27b30536b0 100644 --- a/actionpack/test/controller/integration_test.rb +++ b/actionpack/test/controller/integration_test.rb @@ -814,3 +814,39 @@ class HeadWithStatusActionIntegrationTest < ActionDispatch::IntegrationTest assert_response :ok end end + +class IntegrationWithRoutingTest < ActionDispatch::IntegrationTest + class FooController < ActionController::Base + def index + render plain: 'ok' + end + end + + def test_with_routing_resets_session + klass_namespace = self.class.name.underscore + + with_routing do |routes| + routes.draw do + namespace klass_namespace do + resources :foo, path: '/with' + end + end + + get '/integration_with_routing_test/with' + assert_response 200 + assert_equal 'ok', response.body + end + + with_routing do |routes| + routes.draw do + namespace klass_namespace do + resources :foo, path: '/routing' + end + end + + get '/integration_with_routing_test/routing' + assert_response 200 + assert_equal 'ok', response.body + end + end +end |