aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch/request_test.rb
diff options
context:
space:
mode:
authorGrey Baker <greysteil@gmail.com>2016-07-13 18:44:04 +0100
committerGrey Baker <greysteil@gmail.com>2016-07-14 16:50:49 +0100
commit9f38a3fb0c9c71102da283b014503ccad92da581 (patch)
tree0bfaa2eeb07129d446ff8441ab9d4354806e7391 /actionpack/test/dispatch/request_test.rb
parentea31bdd7c8b1221d97de2392ac22d9c5fb8657d5 (diff)
downloadrails-9f38a3fb0c9c71102da283b014503ccad92da581.tar.gz
rails-9f38a3fb0c9c71102da283b014503ccad92da581.tar.bz2
rails-9f38a3fb0c9c71102da283b014503ccad92da581.zip
Check `request.path_parameters` encoding at the point they're set
Check for any non-UTF8 characters in path parameters at the point they're set in `env`. Previously they were checked for when used to get a controller class, but this meant routes that went directly to a Rack app, or skipped controller instantiation for some other reason, had to defend against non-UTF8 characters themselves.
Diffstat (limited to 'actionpack/test/dispatch/request_test.rb')
-rw-r--r--actionpack/test/dispatch/request_test.rb10
1 files changed, 3 insertions, 7 deletions
diff --git a/actionpack/test/dispatch/request_test.rb b/actionpack/test/dispatch/request_test.rb
index 8a5d85ab84..634f6d80c4 100644
--- a/actionpack/test/dispatch/request_test.rb
+++ b/actionpack/test/dispatch/request_test.rb
@@ -1018,17 +1018,13 @@ class RequestParameters < BaseRequestTest
end
test "path parameters with invalid UTF8 encoding" do
- request = stub_request(
- "action_dispatch.request.path_parameters" => { foo: "\xBE" }
- )
+ request = stub_request
err = assert_raises(ActionController::BadRequest) do
- request.check_path_parameters!
+ request.path_parameters = { foo: "\xBE" }
end
- assert_match "Invalid parameter encoding", err.message
- assert_match "foo", err.message
- assert_match "\\xBE", err.message
+ assert_equal "Invalid path parameters: Non UTF-8 value: \xBE", err.message
end
test "parameters not accessible after rack parse error of invalid UTF8 character" do