aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2014-02-26 15:48:49 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2014-02-26 15:48:49 -0800
commit8d8ea78a89d56be0eaec6badb79c8f5674f22439 (patch)
tree41398a39dafe99fa7f66241b96249825ea1ac130 /actionpack/test
parent59ec4562a2e70df455b2e44a67c340fa5254e26e (diff)
parenta351149e805910cd980bee1558e56e61c4a82db2 (diff)
downloadrails-8d8ea78a89d56be0eaec6badb79c8f5674f22439.tar.gz
rails-8d8ea78a89d56be0eaec6badb79c8f5674f22439.tar.bz2
rails-8d8ea78a89d56be0eaec6badb79c8f5674f22439.zip
Merge pull request #14105 from twooster/fix-controller-tests
Fix controller test not resetting @_url_options
Diffstat (limited to 'actionpack/test')
-rw-r--r--actionpack/test/controller/test_case_test.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/actionpack/test/controller/test_case_test.rb b/actionpack/test/controller/test_case_test.rb
index 5ff4a383ec..fbc10baf21 100644
--- a/actionpack/test/controller/test_case_test.rb
+++ b/actionpack/test/controller/test_case_test.rb
@@ -163,6 +163,29 @@ XML
end
end
+ class DefaultUrlOptionsCachingController < ActionController::Base
+ before_filter { @dynamic_opt = 'opt' }
+
+ def test_url_options_reset
+ render text: url_for(params)
+ end
+
+ def default_url_options
+ if defined?(@dynamic_opt)
+ super.merge dynamic_opt: @dynamic_opt
+ else
+ super
+ end
+ end
+ end
+
+ def test_url_options_reset
+ @controller = DefaultUrlOptionsCachingController.new
+ get :test_url_options_reset
+ assert_nil @request.params['dynamic_opt']
+ assert_match(/dynamic_opt=opt/, @response.body)
+ end
+
def test_raw_post_handling
params = Hash[:page, {:name => 'page name'}, 'some key', 123]
post :render_raw_post, params.dup