aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
authorSam Stephenson <sam@37signals.com>2005-10-13 18:09:27 +0000
committerSam Stephenson <sam@37signals.com>2005-10-13 18:09:27 +0000
commit4b72a4b12fbb33d32ae3f9b9d004ca5888d42d58 (patch)
treedf19921e5ae86f0b49d1d93e6f3aef867fc75641 /actionpack
parentf60f76eab021c9dcfe3b67de3fd41288061f3065 (diff)
downloadrails-4b72a4b12fbb33d32ae3f9b9d004ca5888d42d58.tar.gz
rails-4b72a4b12fbb33d32ae3f9b9d004ca5888d42d58.tar.bz2
rails-4b72a4b12fbb33d32ae3f9b9d004ca5888d42d58.zip
Unset the X-Requested-With header when using the xhr wrapper in functional tests. Closes #2352.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2551 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/CHANGELOG2
-rw-r--r--actionpack/lib/action_controller/test_process.rb4
-rw-r--r--actionpack/test/controller/test_test.rb5
3 files changed, 10 insertions, 1 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG
index de55a929ad..7c9251dce7 100644
--- a/actionpack/CHANGELOG
+++ b/actionpack/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Unset the X-Requested-With header when using the xhr wrapper in functional tests so that future requests aren't accidentally xhr'ed #2352 [me@julik.nl, Sam Stephenson]
+
* Unescape paths before writing cache to file system. #1877. [Damien Pollet]
* Wrap javascript_tag contents in a CDATA section and add a cdata_section method to TagHelper #1691 [Michael Schuerig, Sam Stephenson]
diff --git a/actionpack/lib/action_controller/test_process.rb b/actionpack/lib/action_controller/test_process.rb
index 783d21ff53..f7b4280d2e 100644
--- a/actionpack/lib/action_controller/test_process.rb
+++ b/actionpack/lib/action_controller/test_process.rb
@@ -303,7 +303,9 @@ module Test
def xml_http_request(request_method, action, parameters = nil, session = nil, flash = nil)
@request.env['HTTP_X_REQUESTED_WITH'] = 'XMLHttpRequest'
- self.send(request_method, action, parameters, session, flash)
+ returning self.send(request_method, action, parameters, session, flash) do
+ @request.env.delete 'HTTP_X_REQUESTED_WITH'
+ end
end
alias xhr :xml_http_request
diff --git a/actionpack/test/controller/test_test.rb b/actionpack/test/controller/test_test.rb
index 991184f37e..20fa9d60b2 100644
--- a/actionpack/test/controller/test_test.rb
+++ b/actionpack/test/controller/test_test.rb
@@ -305,6 +305,11 @@ HTML
assert_equal "192.0.0.1", @response.body
end
+ def test_header_properly_reset_after_remote_http_request
+ xhr :get, :test_params
+ assert_nil @request.env['HTTP_X_REQUESTED_WITH']
+ end
+
%w(controller response request).each do |variable|
%w(get post put delete head process).each do |method|
define_method("test_#{variable}_missing_for_#{method}_raises_error") do