From b5ae1be2cd1aef2f6ed7a53a4684c6b7eb35304f Mon Sep 17 00:00:00 2001 From: Kohei Suzuki Date: Tue, 4 Aug 2015 21:26:28 +0900 Subject: Add failing spec on utf8 filename with percent character --- .../test/dispatch/request/multipart_params_parsing_test.rb | 11 +++++++++++ actionpack/test/fixtures/multipart/utf8_filename | 10 ++++++++++ 2 files changed, 21 insertions(+) create mode 100644 actionpack/test/fixtures/multipart/utf8_filename (limited to 'actionpack/test') diff --git a/actionpack/test/dispatch/request/multipart_params_parsing_test.rb b/actionpack/test/dispatch/request/multipart_params_parsing_test.rb index 939a771c65..b36fbd3c76 100644 --- a/actionpack/test/dispatch/request/multipart_params_parsing_test.rb +++ b/actionpack/test/dispatch/request/multipart_params_parsing_test.rb @@ -63,6 +63,17 @@ class MultipartParamsParsingTest < ActionDispatch::IntegrationTest assert_equal 'contents', file.read end + test "parses utf8 filename with percent character" do + params = parse_multipart('utf8_filename') + assert_equal %w(file foo), params.keys.sort + assert_equal 'bar', params['foo'] + + file = params['file'] + assert_equal 'ファイル%名.txt', file.original_filename + assert_equal "text/plain", file.content_type + assert_equal 'contents', file.read + end + test "parses boundary problem file" do params = parse_multipart('boundary_problem_file') assert_equal %w(file foo), params.keys.sort diff --git a/actionpack/test/fixtures/multipart/utf8_filename b/actionpack/test/fixtures/multipart/utf8_filename new file mode 100644 index 0000000000..60738d53b0 --- /dev/null +++ b/actionpack/test/fixtures/multipart/utf8_filename @@ -0,0 +1,10 @@ +--AaB03x +Content-Disposition: form-data; name="foo" + +bar +--AaB03x +Content-Disposition: form-data; name="file"; filename="ファイル%名.txt" +Content-Type: text/plain + +contents +--AaB03x-- -- cgit v1.2.3