8000 issue34138: fix implementation of utf8 append and tests · python/cpython@c116b76 · GitHub
[go: up one dir, main page]

Skip to content

Commit c116b76

Browse files
committed
issue34138: fix implementation of utf8 append and tests
1 parent 5a92499 commit c116b76

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

Lib/imaplib.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -994,7 +994,7 @@ def _command(self, name, *args):
994994
literator = None
995995
if self.utf8_enabled:
996996
data = data + bytes(' UTF8 (~{%s}' % len(literal), self._encoding)
997-
literal = literal + b')'
997+
literal = literal + CRLF + b')'
998998
else:
999999
data = data + bytes(' {%s}' % len(literal), self._encoding)
10001000

Lib/test/test_imaplib.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -312,6 +312,7 @@ def cmd_AUTHENTICATE(self, tag, args):
312312
def cmd_APPEND(self, tag, args):
313313
self._send_textline('+')
314314
self.server.response = yield
315+
yield
315316
self._send_tagged(tag, 'OK', 'okay')
316317
client, server = self._setup(UTF8AppendServer)
317318
self.assertEqual(client._encoding, 'ascii')
@@ -325,7 +326,7 @@ def cmd_APPEND(self, tag, args):
325326
typ, data = client.append(None, None, None, msg_string.encode('utf-8'))
326327
self.assertEqual(typ, 'OK')
327328
self.assertEqual(server.response,
328-
('UTF8 (%s)\r\n' % msg_string).encode('utf-8'))
329+
('%s' % msg_string).encode('utf-8'))
329330

330331
def test_search_disallows_charset_in_utf8_mode(self):
331332
class UTF8Server(SimpleIMAPHandler):
@@ -760,6 +761,7 @@ class UTF8AppendServer(self.UTF8Server):
760761
def cmd_APPEND(self, tag, args):
761762
self._send_textline('+')
762763
self.server.response = yield
764+
yield
763765
self._send_tagged(tag, 'OK', 'okay')
764766

765767
with self.reaped_pair(UTF8AppendServer) as (server, client):
@@ -777,7 +779,7 @@ def cmd_APPEND(self, tag, args):
777779
self.assertEqual(typ, 'OK')
778780
self.assertEqual(
779781
server.response,
780-
('UTF8 (%s)\r\n' % msg_string).encode('utf-8')
782+
('%s' % msg_string).encode('utf-8')
781783
)
782784

783785
# XXX also need a test that makes sure that the Literal and Untagged_status

0 commit comments

Comments
 (0)
0