diff options
author | Steve Klabnik <steve@steveklabnik.com> | 2013-03-15 10:25:15 -0700 |
---|---|---|
committer | Steve Klabnik <steve@steveklabnik.com> | 2013-03-15 10:25:15 -0700 |
commit | 29030d3f89298905acc782df89b758d163dcf630 (patch) | |
tree | 0c99c052c3f53ff25b6fc0c73e16f29beafbe850 /actionpack/test/dispatch/request | |
parent | a662a7894b5084b569a05adfb9e19003c407900d (diff) | |
parent | b307210d4967603f033e3f1078753930535e343e (diff) | |
download | rails-29030d3f89298905acc782df89b758d163dcf630.tar.gz rails-29030d3f89298905acc782df89b758d163dcf630.tar.bz2 rails-29030d3f89298905acc782df89b758d163dcf630.zip |
Merge pull request #5606 from teohm/multipart_unicode_param_name
multipart POST - utf8 param name not encoded
Diffstat (limited to 'actionpack/test/dispatch/request')
-rw-r--r-- | actionpack/test/dispatch/request/multipart_params_parsing_test.rb | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/actionpack/test/dispatch/request/multipart_params_parsing_test.rb b/actionpack/test/dispatch/request/multipart_params_parsing_test.rb index 399f15199c..3c30a705e9 100644 --- a/actionpack/test/dispatch/request/multipart_params_parsing_test.rb +++ b/actionpack/test/dispatch/request/multipart_params_parsing_test.rb @@ -1,13 +1,15 @@ +# encoding: utf-8 require 'abstract_unit' class MultipartParamsParsingTest < ActionDispatch::IntegrationTest class TestController < ActionController::Base class << self - attr_accessor :last_request_parameters + attr_accessor :last_request_parameters, :last_parameters end def parse self.class.last_request_parameters = request.request_parameters + self.class.last_parameters = request.parameters head :ok end @@ -30,6 +32,23 @@ class MultipartParamsParsingTest < ActionDispatch::IntegrationTest assert_equal({ 'foo' => { 'baz' => 'bar'}}, parse_multipart('bracketed_param')) end + test "parse single utf8 parameter" do + assert_equal({ 'Iñtërnâtiônàlizætiøn_name' => 'Iñtërnâtiônàlizætiøn_value'}, + parse_multipart('single_utf8_param'), "request.request_parameters") + assert_equal( + 'Iñtërnâtiônàlizætiøn_value', + TestController.last_parameters['Iñtërnâtiônàlizætiøn_name'], "request.parameters") + end + + test "parse bracketed utf8 parameter" do + assert_equal({ 'Iñtërnâtiônàlizætiøn_name' => { + 'Iñtërnâtiônàlizætiøn_nested_name' => 'Iñtërnâtiônàlizætiøn_value'} }, + parse_multipart('bracketed_utf8_param'), "request.request_parameters") + assert_equal( + {'Iñtërnâtiônàlizætiøn_nested_name' => 'Iñtërnâtiônàlizætiøn_value'}, + TestController.last_parameters['Iñtërnâtiônàlizætiøn_name'], "request.parameters") + end + test "parses text file" do params = parse_multipart('text_file') assert_equal %w(file foo), params.keys.sort |