diff options
author | Grey Baker <greysteil@gmail.com> | 2016-07-12 16:41:09 +0100 |
---|---|---|
committer | Grey Baker <greysteil@gmail.com> | 2016-07-12 16:41:09 +0100 |
commit | fe859a54219740fa8b4e09a592820d2ee12ba222 (patch) | |
tree | e02383486dfc0eb60178f30bbcb414611cc0a08a /actionpack/test/dispatch | |
parent | de1227a5472f688469379054d271b59be1ecfcd0 (diff) | |
download | rails-fe859a54219740fa8b4e09a592820d2ee12ba222.tar.gz rails-fe859a54219740fa8b4e09a592820d2ee12ba222.tar.bz2 rails-fe859a54219740fa8b4e09a592820d2ee12ba222.zip |
Handle `Rack::QueryParser` errors in `ActionDispatch::ExceptionWrapper`
Rack [recently](https://github.com/rack/rack/commit/7e7a3890449b5cf5b86929c79373506e5f1909fb)
moved the namespace of its `ParameterTypeError` and `InvalidParameterError`
errors. Whilst an alias for the old name was added, the logic in
`ActionDispatch::ExceptionWrapper` was still broken by this change, since it
relies on the class name.
This PR updates `ActionDispatch::ExceptionWrapper` to handle the Rack 2.0
namespaced errors correctly. We no longer need to worry about the old names,
since Rails specifies Rack ~> 2.0.
Diffstat (limited to 'actionpack/test/dispatch')
-rw-r--r-- | actionpack/test/dispatch/exception_wrapper_test.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/exception_wrapper_test.rb b/actionpack/test/dispatch/exception_wrapper_test.rb index dfbb91c0ca..0959cf2805 100644 --- a/actionpack/test/dispatch/exception_wrapper_test.rb +++ b/actionpack/test/dispatch/exception_wrapper_test.rb @@ -57,6 +57,12 @@ module ActionDispatch assert_equal [ "lib/file.rb:42:in `index'" ], wrapper.application_trace end + test '#status_code returns 400 for Rack::Utils::ParameterTypeError' do + exception = Rack::Utils::ParameterTypeError.new + wrapper = ExceptionWrapper.new(@cleaner, exception) + assert_equal 400, wrapper.status_code + end + test '#application_trace cannot be nil' do nil_backtrace_wrapper = ExceptionWrapper.new(@cleaner, BadlyDefinedError.new) nil_cleaner_wrapper = ExceptionWrapper.new(nil, BadlyDefinedError.new) |