summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--lib/net/imap.rb1
-rw-r--r--test/net/imap/test_imap_response_parser.rb11
3 files changed, 19 insertions, 0 deletions
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 <shugo@ruby-lang.org>
+
+ * 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 <akr@fsij.org>
* 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