ruby-changes:38548
From: nagachika <ko1@a...>
Date: Sun, 24 May 2015 03:43:26 +0900 (JST)
Subject: [ruby-changes:38548] nagachika:r50629 (ruby_2_2): merge revision(s) 50444: [Backport #11128]
nagachika 2015-05-24 03:43:05 +0900 (Sun, 24 May 2015) New Revision: 50629 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=50629 Log: merge revision(s) 50444: [Backport #11128] * lib/net/imap.rb (body_ext_mpart): should work even if body-fld-dsp is omitted. [ruby-core:69093] [Bug #11128] Modified directories: branches/ruby_2_2/ Modified files: branches/ruby_2_2/ChangeLog branches/ruby_2_2/lib/net/imap.rb branches/ruby_2_2/test/net/imap/test_imap_response_parser.rb branches/ruby_2_2/version.h Index: ruby_2_2/ChangeLog =================================================================== --- ruby_2_2/ChangeLog (revision 50628) +++ ruby_2_2/ChangeLog (revision 50629) @@ -1,3 +1,8 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ChangeLog#L1 +Sun May 24 03:41:45 2015 Shugo Maeda <shugo@r...> + + * lib/net/imap.rb (body_ext_mpart): should work even if body-fld-dsp + is omitted. [ruby-core:69093] [Bug #11128] + Sun May 24 03:37:14 2015 SHIBATA Hiroshi <hsbt@r...> * string.c: added documentation for character sequence \' with String#sub Index: ruby_2_2/lib/net/imap.rb =================================================================== --- ruby_2_2/lib/net/imap.rb (revision 50628) +++ ruby_2_2/lib/net/imap.rb (revision 50629) @@ -2625,7 +2625,13 @@ module Net https://github.com/ruby/ruby/blob/trunk/ruby_2_2/lib/net/imap.rb#L2625 return param end disposition = body_fld_dsp - match(T_SPACE) + + token = lookahead + if token.symbol == T_SPACE + shift_token + else + return param, disposition + end language = body_fld_lang token = lookahead Index: ruby_2_2/version.h =================================================================== --- ruby_2_2/version.h (revision 50628) +++ ruby_2_2/version.h (revision 50629) @@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/version.h#L1 #define RUBY_VERSION "2.2.3" #define RUBY_RELEASE_DATE "2015-05-24" -#define RUBY_PATCHLEVEL 125 +#define RUBY_PATCHLEVEL 126 #define RUBY_RELEASE_YEAR 2015 #define RUBY_RELEASE_MONTH 5 Index: ruby_2_2/test/net/imap/test_imap_response_parser.rb =================================================================== --- ruby_2_2/test/net/imap/test_imap_response_parser.rb (revision 50628) +++ ruby_2_2/test/net/imap/test_imap_response_parser.rb (revision 50629) @@ -276,4 +276,17 @@ EOF https://github.com/ruby/ruby/blob/trunk/ruby_2_2/test/net/imap/test_imap_response_parser.rb#L276 assert_equal("SEARCH", response.name) assert_equal([87216, 87221], response.data) end + + # [Bug #11128] + def test_body_ext_mpart_without_lang + parser = Net::IMAP::ResponseParser.new + response = parser.parse("* 4 FETCH (BODY (((\"text\" \"plain\" (\"charset\" \"utf-8\") NIL NIL \"7bit\" 257 9 NIL NIL NIL NIL)(\"text\" \"html\" (\"charset\" \"utf-8\") NIL NIL \"quoted-printable\" 655 9 NIL NIL NIL NIL) \"alternative\" (\"boundary\" \"001a1137a5047848dd05157ddaa1\") NIL)(\"application\" \"pdf\" (\"name\" \"test.xml\" \"x-apple-part-url\" \"9D00D9A2-98AB-4EFB-85BA-FB255F8BF3D7\") NIL NIL \"base64\" 4383638 NIL (\"attachment\" (\"filename\" \"test.xml\")) NIL NIL) \"mixed\" (\"boundary\" \"001a1137a5047848e405157ddaa3\") NIL))\r\n") + assert_equal("FETCH", response.name) + body = response.data.attr["BODY"] + assert_equal(nil, body.parts[0].disposition) + assert_equal(nil, body.parts[0].language) + assert_equal("ATTACHMENT", body.parts[1].disposition.dsp_type) + assert_equal("test.xml", body.parts[1].disposition.param["FILENAME"]) + assert_equal(nil, body.parts[1].language) + end end Property changes on: ruby_2_2 ___________________________________________________________________ Modified: svn:mergeinfo Merged /trunk:r50444 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/