diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-06-08 07:05:36 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-06-08 07:05:36 +0000 |
commit | fd71d468a667a7fd4ebf6f131e4556e5b58095e8 (patch) | |
tree | 41bc0331fe5b574e5154c2301aa8d86ad5d34c40 | |
parent | 670140e7cf1547b5337ee0065cbb375e9416c5c6 (diff) |
merge revision(s) 27487:
* lib/net/imap (encode_utf7): encode & properly. Thanks, Kengo
Matsuyama. [ruby-dev:38063] backported from trunk.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@28214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/net/imap.rb | 2 | ||||
-rw-r--r-- | test/net/imap/test_imap.rb | 16 | ||||
-rw-r--r-- | version.h | 2 |
4 files changed, 23 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Tue Jun 8 15:45:52 2010 Shugo Maeda <shugo@ruby-lang.org> + + * lib/net/imap (encode_utf7): encode & properly. Thanks, Kengo + Matsuyama. [ruby-dev:38063] backported from trunk. + Tue Jun 8 15:43:43 2010 Masaki Suketa <masaki.suketa@nifty.ne.jp> * ext/win32ole/win32ole.c (ole_val2variant): fix the core dump diff --git a/lib/net/imap.rb b/lib/net/imap.rb index b42b0d1dea..bfb00e06b6 100644 --- a/lib/net/imap.rb +++ b/lib/net/imap.rb @@ -841,7 +841,7 @@ module Net # Encode a string from UTF-8 format to modified UTF-7. def self.encode_utf7(s) - return s.gsub(/(&)|([^\x20-\x25\x27-\x7e]+)/n) { |x| + return s.gsub(/(&)|([^\x20-\x7e]+)/u) { |x| if $1 "&-" else diff --git a/test/net/imap/test_imap.rb b/test/net/imap/test_imap.rb index 0ee217965c..94e04c1091 100644 --- a/test/net/imap/test_imap.rb +++ b/test/net/imap/test_imap.rb @@ -8,4 +8,20 @@ class IMAPTest < Test::Unit::TestCase assert_equal("OK", r.name) assert_equal("NOMODSEQ", r.data.code.name) end + + def test_encode_utf7 + utf8 = "\357\274\241\357\274\242\357\274\243" + s = Net::IMAP.encode_utf7(utf8) + assert_equal("&,yH,Iv8j-", s) + + utf8 = "\343\201\202&" + s = Net::IMAP.encode_utf7(utf8) + assert_equal("&MEI-&-", s) + end + + def test_decode_utf7 + s = Net::IMAP.decode_utf7("&,yH,Iv8j-") + utf8 = "\357\274\241\357\274\242\357\274\243" + assert_equal(utf8, s) + end end @@ -2,7 +2,7 @@ #define RUBY_RELEASE_DATE "2010-06-08" #define RUBY_VERSION_CODE 187 #define RUBY_RELEASE_CODE 20100608 -#define RUBY_PATCHLEVEL 278 +#define RUBY_PATCHLEVEL 279 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 8 |