From 31b1c8bbde529ce6c1e47259d5adf2425ca7c06f Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Wed, 12 Jun 2013 09:20:44 +0300 Subject: [PATCH] Add tests for issue #18183. --- Lib/test/test_unicode.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py index bf0ddca62b0..2e301454143 100644 --- a/Lib/test/test_unicode.py +++ b/Lib/test/test_unicode.py @@ -566,9 +566,6 @@ class UnicodeTest(string_tests.CommonTest, self.assertEqual('\U0008fffe'.lower(), '\U0008fffe') self.assertEqual('\u2177'.lower(), '\u2177') - # See issue #18183 for this one. - '\U00010000\U00100000'.lower() - def test_casefold(self): self.assertEqual('hello'.casefold(), 'hello') self.assertEqual('hELlo'.casefold(), 'hello') @@ -686,6 +683,17 @@ class UnicodeTest(string_tests.CommonTest, self.assertRaises(TypeError, "abc".__contains__) + def test_issue18183(self): + '\U00010000\U00100000'.lower() + '\U00010000\U00100000'.casefold() + '\U00010000\U00100000'.upper() + '\U00010000\U00100000'.capitalize() + '\U00010000\U00100000'.title() + '\U00010000\U00100000'.swapcase() + '\U00100000'.center(3, '\U00010000') + '\U00100000'.ljust(3, '\U00010000') + '\U00100000'.rjust(3, '\U00010000') + def test_format(self): self.assertEqual(''.format(), '') self.assertEqual('a'.format(), 'a') @@ -2016,6 +2024,10 @@ class UnicodeTest(string_tests.CommonTest, # test "%c" self.assertEqual(PyUnicode_FromFormat(b'%c', c_int(0xabcd)), '\uabcd') self.assertEqual(PyUnicode_FromFormat(b'%c', c_int(0x10ffff)), '\U0010ffff') + # Issue #18183 + self.assertEqual( + PyUnicode_FromFormat(b'%c%c', c_int(0x10000), c_int(0x100000)), + '\U00010000\U00100000') # test "%" self.assertEqual(PyUnicode_FromFormat(b'%'), '%')