diff options
author | chiwenchen <cwchen2000@gmail.com> | 2021-07-13 10:06:35 +0800 |
---|---|---|
committer | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2022-01-21 01:48:33 +1300 |
commit | dbec6b653b835efe24028744f1651efa0f6ebd5e (patch) | |
tree | 37769893795f452849d8d0aedb4cb7a6cd4d976c /test | |
parent | 3b956292297db76688e2797f756e1d191a53dcb8 (diff) | |
download | rack-dbec6b653b835efe24028744f1651efa0f6ebd5e.tar.gz |
Prefer `filename*` over `filename` when processing multipart data.
Diffstat (limited to 'test')
-rw-r--r-- | test/multipart/filename_multi | 6 | ||||
-rw-r--r-- | test/spec_multipart.rb | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/test/multipart/filename_multi b/test/multipart/filename_multi new file mode 100644 index 00000000..9ab5e1ef --- /dev/null +++ b/test/multipart/filename_multi @@ -0,0 +1,6 @@ +--AaB03x
+Content-Disposition: form-data; name="files"; filename="foo"; filename*=utf-8''bar
+Content-Type: application/octet-stream
+
+contents
+--AaB03x--
diff --git a/test/spec_multipart.rb b/test/spec_multipart.rb index b8917943..f4de71cf 100644 --- a/test/spec_multipart.rb +++ b/test/spec_multipart.rb @@ -49,6 +49,12 @@ describe Rack::Multipart do params["text"].must_equal "contents" end + it "parse multipart content with different filename and filename*" do + env = Rack::MockRequest.env_for '/', multipart_fixture(:filename_multi) + params = Rack::Multipart.parse_multipart(env) + params["files"][:filename].must_equal "bar" + end + it "set US_ASCII encoding based on charset" do env = Rack::MockRequest.env_for("/", multipart_fixture(:content_type_and_no_filename)) params = Rack::Multipart.parse_multipart(env) |