diff options
author | Sergey Alekseev <sergey.alekseev.minsk@gmail.com> | 2015-03-31 10:06:22 +0300 |
---|---|---|
committer | Sergey Alekseev <sergey.alekseev.minsk@gmail.com> | 2015-03-31 10:06:22 +0300 |
commit | 7f546318d56b75bafb798d0c178578600fd6939e (patch) | |
tree | 2977fed6e2234d4a0320b78a9d227d7d94acf6b0 /actionpack/test/dispatch | |
parent | 151aa690a2f62e2daee106079e88ff43cd770611 (diff) | |
download | rails-7f546318d56b75bafb798d0c178578600fd6939e.tar.gz rails-7f546318d56b75bafb798d0c178578600fd6939e.tar.bz2 rails-7f546318d56b75bafb798d0c178578600fd6939e.zip |
write a test for `#form_data?`
The initial attempt was to remove the method at all in
https://github.com/sergey-alekseev/rails/commit/4926aa68c98673e7be88a2d2b57d72dc490bc71c.
The method overrides Rack's `#form_data?`
https://github.com/rack/rack/blob/6f8808d4201e68e4bd780441b3b7bb3ee6d1f43e/lib/rack/request.rb#L172-L184.
Which may have some incorrect implementation actually. `type.nil?` isn't possible I suppose. I'll check.
Diffstat (limited to 'actionpack/test/dispatch')
-rw-r--r-- | actionpack/test/dispatch/request_test.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/request_test.rb b/actionpack/test/dispatch/request_test.rb index f208cfda89..672dbd636c 100644 --- a/actionpack/test/dispatch/request_test.rb +++ b/actionpack/test/dispatch/request_test.rb @@ -1172,3 +1172,23 @@ class RequestVariant < BaseRequestTest end end end + +class RequestFormData < BaseRequestTest + test 'media_type is from the FORM_DATA_MEDIA_TYPES array' do + assert stub_request('CONTENT_TYPE' => 'application/x-www-form-urlencoded').form_data? + assert stub_request('CONTENT_TYPE' => 'multipart/form-data').form_data? + end + + test 'media_type is not from the FORM_DATA_MEDIA_TYPES array' do + assert !stub_request('CONTENT_TYPE' => 'application/xml').form_data? + assert !stub_request('CONTENT_TYPE' => 'multipart/related').form_data? + end + + test 'no Content-Type header is provided and the request_method is POST' do + request = stub_request('REQUEST_METHOD' => 'POST') + + assert_equal '', request.media_type + assert_equal 'POST', request.request_method + assert !request.form_data? + end +end |