diff options
author | Victor Costan <costan@gmail.com> | 2013-11-24 22:46:58 -0500 |
---|---|---|
committer | Victor Costan <costan@gmail.com> | 2013-11-25 03:09:02 -0500 |
commit | c759a93454b10d9a908d3a3a102546fc70160b91 (patch) | |
tree | 1884d7aac3fc0d32bc45bafa7cf53f22a63493eb | |
parent | 9dc89f3fc425af5cfc5fa5ea3809e554db017653 (diff) | |
download | rails-c759a93454b10d9a908d3a3a102546fc70160b91.tar.gz rails-c759a93454b10d9a908d3a3a102546fc70160b91.tar.bz2 rails-c759a93454b10d9a908d3a3a102546fc70160b91.zip |
Better error message for typos in assert_response argument.
This commit makes it really easy to debug errors due to typos like
"assert_response :succezz".
-rw-r--r-- | actionpack/CHANGELOG.md | 8 | ||||
-rw-r--r-- | actionpack/lib/action_dispatch/testing/assertions/response.rb | 3 | ||||
-rw-r--r-- | actionpack/test/assertions/response_assertions_test.rb | 8 |
3 files changed, 19 insertions, 0 deletions
diff --git a/actionpack/CHANGELOG.md b/actionpack/CHANGELOG.md index 638c05619d..e649847990 100644 --- a/actionpack/CHANGELOG.md +++ b/actionpack/CHANGELOG.md @@ -1,3 +1,11 @@ +* Better error message for typos in assert_response argument. + + When the response type argument to `assert_response` is not a known + response type, `assert_response` now throws an ArgumentError with a clear + message. This is intended to help debug typos in the response type. + + *Victor Costan* + * Fix formatting for `rake routes` when a section is shorter than a header. *Sıtkı Bağdat* diff --git a/actionpack/lib/action_dispatch/testing/assertions/response.rb b/actionpack/lib/action_dispatch/testing/assertions/response.rb index 93f9fab9c2..68feb26936 100644 --- a/actionpack/lib/action_dispatch/testing/assertions/response.rb +++ b/actionpack/lib/action_dispatch/testing/assertions/response.rb @@ -27,6 +27,9 @@ module ActionDispatch assert @response.send("#{type}?"), message else code = Rack::Utils::SYMBOL_TO_STATUS_CODE[type] + if code.nil? + raise ArgumentError, "Invalid response type :#{type}" + end assert_equal code, @response.response_code, message end else diff --git a/actionpack/test/assertions/response_assertions_test.rb b/actionpack/test/assertions/response_assertions_test.rb index ca1d58765d..8eec98e916 100644 --- a/actionpack/test/assertions/response_assertions_test.rb +++ b/actionpack/test/assertions/response_assertions_test.rb @@ -50,6 +50,14 @@ module ActionDispatch assert_response :success } end + + def test_assert_response_sym_typo + @response = FakeResponse.new 200 + + assert_raises(ArgumentError) { + assert_response :succezz + } + end end end end |