aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/controller
diff options
context:
space:
mode:
authorBlueHotDog <dannifriedland@gmail.com>2013-08-30 12:53:03 +0300
committerBlueHotDog <dannifriedland@gmail.com>2013-10-09 12:36:26 +0300
commit8642c2aadc94b6763290711384c265289b02faaa (patch)
tree0dcbcfc75a2d3b40fb08cddd27808e865dfe46e0 /actionpack/test/controller
parent941516dabcc5fd02eb736f457197bd115c85f2fb (diff)
downloadrails-8642c2aadc94b6763290711384c265289b02faaa.tar.gz
rails-8642c2aadc94b6763290711384c265289b02faaa.tar.bz2
rails-8642c2aadc94b6763290711384c265289b02faaa.zip
Fixing repond_with working directly on the options hash
This fixes an issue where the respond_with worked directly with the given options hash, so that if a user relied on it after calling respond_with, the hash wouldn't be the same. Fixes #12029
Diffstat (limited to 'actionpack/test/controller')
-rw-r--r--actionpack/test/controller/mime/respond_with_test.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/actionpack/test/controller/mime/respond_with_test.rb b/actionpack/test/controller/mime/respond_with_test.rb
index 76af9e3414..a70592fa1b 100644
--- a/actionpack/test/controller/mime/respond_with_test.rb
+++ b/actionpack/test/controller/mime/respond_with_test.rb
@@ -65,7 +65,17 @@ class RespondWithController < ActionController::Base
respond_with(resource, :responder => responder)
end
+ def respond_with_additional_params
+ @params = RespondWithController.params
+ respond_with({:result => resource}, @params)
+ end
+
protected
+ def self.params
+ {
+ :foo => 'bar'
+ }
+ end
def resource
Customer.new("david", request.delete? ? nil : 13)
@@ -145,6 +155,11 @@ class RespondWithControllerTest < ActionController::TestCase
Mime::Type.unregister(:mobile)
end
+ def test_respond_with_shouldnt_modify_original_hash
+ get :respond_with_additional_params
+ assert_equal RespondWithController.params, assigns(:params)
+ end
+
def test_using_resource
@request.accept = "application/xml"
get :using_resource