aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch/request_test.rb
diff options
context:
space:
mode:
authorMiles Egan <milesegan@gmail.com>2010-07-18 09:10:20 -0700
committerJosé Valim <jose.valim@gmail.com>2010-10-12 00:56:07 +0200
commit3eff729079a1a9e717e7872bdae19c8703b280ac (patch)
tree83045b71ac448ffcf38fdf760b7b77f85cabf12a /actionpack/test/dispatch/request_test.rb
parent933f745dcb107cea19e2552e3c6241a886c9984e (diff)
downloadrails-3eff729079a1a9e717e7872bdae19c8703b280ac.tar.gz
rails-3eff729079a1a9e717e7872bdae19c8703b280ac.tar.bz2
rails-3eff729079a1a9e717e7872bdae19c8703b280ac.zip
make sure request parameters are accessible after rack throws an exception parsing the query string [#3030 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
Diffstat (limited to 'actionpack/test/dispatch/request_test.rb')
-rw-r--r--actionpack/test/dispatch/request_test.rb12
1 files changed, 12 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/request_test.rb b/actionpack/test/dispatch/request_test.rb
index 3efed8bef6..04709e5346 100644
--- a/actionpack/test/dispatch/request_test.rb
+++ b/actionpack/test/dispatch/request_test.rb
@@ -385,6 +385,18 @@ class RequestTest < ActiveSupport::TestCase
assert_equal({"bar" => 2}, request.query_parameters)
end
+ test "parameters still accessible after rack parse error" do
+ mock_rack_env = { "QUERY_STRING" => "x[y]=1&x[y][][w]=2", "rack.input" => "foo" }
+ request = nil
+ begin
+ request = stub_request(mock_rack_env)
+ request.parameters
+ rescue TypeError => e
+ # rack will raise a TypeError when parsing this query string
+ end
+ assert_equal({}, request.parameters)
+ end
+
test "formats with accept header" do
request = stub_request 'HTTP_ACCEPT' => 'text/html'
request.expects(:parameters).at_least_once.returns({})