aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorshugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-12-11 03:21:43 +0000
committershugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-12-11 03:21:43 +0000
commite48c8be89b6324d817e46e3feadfc207226d93a6 (patch)
tree7798ee244b182591f630ffd1822275aca481eeb7
parent9952139011c0e8a28e29c7d9f65edf5912a334fb (diff)
downloadruby-e48c8be89b6324d817e46e3feadfc207226d93a6.tar.gz
* lib/net/imap.rb: includes the sequence number of UID in a error
message. suggested by art lussos. [ruby-core:41413] [Feature #5692] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--lib/net/imap.rb6
-rw-r--r--test/net/imap/test_imap_response_parser.rb10
3 files changed, 19 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index bbb0b7f787..8137c3b3bd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun Dec 11 12:19:17 2011 Shugo Maeda <shugo@ruby-lang.org>
+
+ * lib/net/imap.rb: includes the sequence number of UID in a error
+ message. suggested by art lussos.
+ [ruby-core:41413] [Feature #5692]
+
Sun Dec 11 11:42:10 2011 Kazuki Tsujimoto <kazuki@callcc.net>
* ext/syslog/syslog.c: fix a typo. [ruby-core:41585] [Bug #5740]
diff --git a/lib/net/imap.rb b/lib/net/imap.rb
index a683ea388b..c8faf97c11 100644
--- a/lib/net/imap.rb
+++ b/lib/net/imap.rb
@@ -2180,12 +2180,12 @@ module Net
when "FETCH"
shift_token
match(T_SPACE)
- data = FetchData.new(n, msg_att)
+ data = FetchData.new(n, msg_att(n))
return UntaggedResponse.new(name, data, @str)
end
end
- def msg_att
+ def msg_att(n)
match(T_LPAR)
attr = {}
while true
@@ -2214,7 +2214,7 @@ module Net
when /\A(?:UID)\z/ni
name, val = uid_data
else
- parse_error("unknown attribute `%s'", token.value)
+ parse_error("unknown attribute `%s' for {%d}", token.value, n)
end
attr[name] = val
end
diff --git a/test/net/imap/test_imap_response_parser.rb b/test/net/imap/test_imap_response_parser.rb
index 6a5a117408..3f26e0b350 100644
--- a/test/net/imap/test_imap_response_parser.rb
+++ b/test/net/imap/test_imap_response_parser.rb
@@ -116,4 +116,14 @@ EOF
* 1 FETCH (UID 92285 )
EOF
end
+
+ def test_msg_att_parse_error
+ parser = Net::IMAP::ResponseParser.new
+ e = assert_raise(Net::IMAP::ResponseParseError) {
+ response = parser.parse(<<EOF.gsub(/\n/, "\r\n").taint)
+* 123 FETCH (UNKNOWN 92285)
+EOF
+ }
+ assert_match(/ for \{123\}/, e.message)
+ end
end