summaryrefslogtreecommitdiff
path: root/test/spec_multipart.rb
diff options
context:
space:
mode:
authorSamuel Williams <samuel.williams@oriontransfer.co.nz>2023-01-19 16:53:48 -0800
committerGitHub <noreply@github.com>2023-01-19 16:53:48 -0800
commit54368a0981c46c2c62137e47795b38de50dabefb (patch)
treebac26fec0cb31cf085294b57d64aa2325414bb5a /test/spec_multipart.rb
parent35a8574710b310966a5f3a7cb7f937b93509aeb3 (diff)
downloadrack-54368a0981c46c2c62137e47795b38de50dabefb.tar.gz
Make `env['rack.input']` optional. (#2018)
Diffstat (limited to 'test/spec_multipart.rb')
-rw-r--r--test/spec_multipart.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/test/spec_multipart.rb b/test/spec_multipart.rb
index 43bb90b2..7097528a 100644
--- a/test/spec_multipart.rb
+++ b/test/spec_multipart.rb
@@ -30,8 +30,7 @@ describe Rack::Multipart do
end
it "return nil if content type is not multipart" do
- env = Rack::MockRequest.env_for("/",
- "CONTENT_TYPE" => 'application/x-www-form-urlencoded')
+ env = Rack::MockRequest.env_for("/", "CONTENT_TYPE" => 'application/x-www-form-urlencoded', :input => "")
Rack::Multipart.parse_multipart(env).must_be_nil
end
@@ -42,6 +41,13 @@ describe Rack::Multipart do
}.must_raise Rack::Multipart::Error
end
+ it "raises a bad request exception if no body is given but content type indicates a multipart body" do
+ env = Rack::MockRequest.env_for("/", "CONTENT_TYPE" => 'multipart/form-data; boundary=BurgerBurger', :input => nil)
+ lambda {
+ Rack::Multipart.parse_multipart(env)
+ }.must_raise Rack::Multipart::MissingInputError
+ end
+
it "parse multipart content when content type present but disposition is not" do
env = Rack::MockRequest.env_for("/", multipart_fixture(:content_type_and_no_disposition))
params = Rack::Multipart.parse_multipart(env)