aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorArthur Nogueira Neves <github@arthurnn.com>2016-09-10 22:40:56 -0400
committerGitHub <noreply@github.com>2016-09-10 22:40:56 -0400
commita09135d6d27642a54a2b21b41b0a370f5a3357a1 (patch)
treeb8b7c7ed1327ed867ebb61fb0c886ec077cfc5be /actionpack
parent0f80cb1b2b12f3c220391784d3a16473d7b87669 (diff)
parent040ca9cf5b7e193f0fb15166135643daa60f9237 (diff)
downloadrails-a09135d6d27642a54a2b21b41b0a370f5a3357a1.tar.gz
rails-a09135d6d27642a54a2b21b41b0a370f5a3357a1.tar.bz2
rails-a09135d6d27642a54a2b21b41b0a370f5a3357a1.zip
Merge pull request #26442 from kirs/action-controller-session-options-mutate1
Do not mutate AC::TestRequest::DEFAULT_OPTIONS
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_controller/test_case.rb2
-rw-r--r--actionpack/test/controller/request/test_request_test.rb5
2 files changed, 6 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/test_case.rb b/actionpack/lib/action_controller/test_case.rb
index 16ddd3b304..09f2a79d85 100644
--- a/actionpack/lib/action_controller/test_case.rb
+++ b/actionpack/lib/action_controller/test_case.rb
@@ -51,7 +51,7 @@ module ActionController
super(env)
self.session = session
- self.session_options = TestSession::DEFAULT_OPTIONS
+ self.session_options = TestSession::DEFAULT_OPTIONS.dup
@controller_class = controller_class
@custom_param_parsers = {
xml: lambda { |raw_post| Hash.from_xml(raw_post)["hash"] }
diff --git a/actionpack/test/controller/request/test_request_test.rb b/actionpack/test/controller/request/test_request_test.rb
index 6e0ca957c3..fa049fbc9f 100644
--- a/actionpack/test/controller/request/test_request_test.rb
+++ b/actionpack/test/controller/request/test_request_test.rb
@@ -6,6 +6,11 @@ class ActionController::TestRequestTest < ActionController::TestCase
assert @request.session_options
end
+ def test_mutating_session_options_does_not_affect_default_options
+ @request.session_options[:myparam] = 123
+ assert_equal nil, ActionController::TestSession::DEFAULT_OPTIONS[:myparam]
+ end
+
ActionDispatch::Session::AbstractStore::DEFAULT_OPTIONS.each_key do |option|
test "rack default session options #{option} exists in session options and is default" do
assert_equal(ActionDispatch::Session::AbstractStore::DEFAULT_OPTIONS[option],