Skip to content

Commit 4e46ab2

Browse files
gh-153494: Use a charset unknown to iconv in the LookupError test
The iconv-based codec (gh-152997) now resolves NF_Z_62-010 on platforms that provide iconv(3), so it no longer triggers LookupError. Use a name that neither Python nor iconv knows. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 94a8424 commit 4e46ab2

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

Lib/test/test_imaplib.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -225,10 +225,11 @@ def test_encode_criteria(self):
225225
self.assertEqual(enc('SHIFT_JIS', (b'"already"',)), (b'"already"',))
226226
# The charset name may itself be bytes.
227227
self.assertEqual(enc(b'UTF-8', ('"café"',)), ('"café"'.encode('utf-8'),))
228-
# A charset with no Python codec cannot encode str criteria; bytes
229-
# criteria must be used with such server-only charsets.
230-
self.assertRaises(LookupError, enc, 'NF_Z_62-010_(1973)', ('TEXT',))
231-
self.assertEqual(enc('NF_Z_62-010_(1973)', (b'TEXT',)), (b'TEXT',))
228+
# A charset with no codec at all (not even via the iconv codec) cannot
229+
# encode str criteria; bytes criteria must be used with such
230+
# server-only charsets.
231+
self.assertRaises(LookupError, enc, 'no-such-charset', ('TEXT',))
232+
self.assertEqual(enc('no-such-charset', (b'TEXT',)), (b'TEXT',))
232233

233234
def test_astring_idempotent(self):
234235
# Quoting an already quoted argument should not change it, so that
@@ -1531,8 +1532,8 @@ def test_search(self):
15311532
self.assertIn(b'CHARSET KOI8-U ', server.line)
15321533
self.assertIn('"Київ"'.encode('koi8-u'), server.line)
15331534

1534-
# bytes criteria: NF_Z_62-010 has no Python codec, so this exercises
1535-
# charset-name quoting without criteria encoding.
1535+
# bytes criteria keep this focused on charset-name quoting (the
1536+
# parentheses force the name to be quoted) without criteria encoding.
15361537
typ, data = client.search('NF_Z_62-010_(1973)', b'TEXT', b'XXXXXX')
15371538
self.assertEqual(typ, 'OK')
15381539
self.assertEqual(server.args, ['CHARSET', '"NF_Z_62-010_(1973)"', 'TEXT', 'XXXXXX'])

0 commit comments

Comments
 (0)