From 61b8250adc1bca756e92174aa90a49e55efd2804 Mon Sep 17 00:00:00 2001 From: shugo Date: Wed, 5 Jun 2013 13:44:17 +0000 Subject: [PATCH] * lib/net/imap.rb (capability_response): should ignore trailing spaces. Thanks, Peter Kovacs. [ruby-core:55024] [Bug #8415] * test/net/imap/test_imap_response_parser.rb: related test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ lib/net/imap.rb | 1 + test/net/imap/test_imap_response_parser.rb | 11 +++++++++++ 3 files changed, 19 insertions(+) diff --git a/ChangeLog b/ChangeLog index 3a06ec923e..0cb44ddd54 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Jun 5 22:40:42 2013 Shugo Maeda + + * lib/net/imap.rb (capability_response): should ignore trailing + spaces. Thanks, Peter Kovacs. [ruby-core:55024] [Bug #8415] + + * test/net/imap/test_imap_response_parser.rb: related test. + Wed Jun 5 21:17:08 2013 Tanaka Akira * bignum.c (big_fdiv): Use nlz() instead of bdigbitsize(). diff --git a/lib/net/imap.rb b/lib/net/imap.rb index a816b4e263..55c611b9c6 100644 --- a/lib/net/imap.rb +++ b/lib/net/imap.rb @@ -2953,6 +2953,7 @@ module Net break when T_SPACE shift_token + next end data.push(atom.upcase) end diff --git a/test/net/imap/test_imap_response_parser.rb b/test/net/imap/test_imap_response_parser.rb index c329f4285f..cecc015133 100644 --- a/test/net/imap/test_imap_response_parser.rb +++ b/test/net/imap/test_imap_response_parser.rb @@ -237,4 +237,15 @@ EOF response.data[0].user) assert_equal("lrswickxteda", response.data[0].rights) end + + # [Bug #8415] + def test_capability + parser = Net::IMAP::ResponseParser.new + response = parser.parse("* CAPABILITY st11p00mm-iscream009 1Q49 XAPPLEPUSHSERVICE IMAP4 IMAP4rev1 SASL-IR AUTH=ATOKEN AUTH=PLAIN\r\n") + assert_equal("CAPABILITY", response.name) + assert_equal("AUTH=PLAIN", response.data.last) + response = parser.parse("* CAPABILITY st11p00mm-iscream009 1Q49 XAPPLEPUSHSERVICE IMAP4 IMAP4rev1 SASL-IR AUTH=ATOKEN AUTH=PLAIN \r\n") + assert_equal("CAPABILITY", response.name) + assert_equal("AUTH=PLAIN", response.data.last) + end end