Skip to content

Commit 47174a0

Browse files
committed
Add Unicode_3_2_0_FunctionsTest
1 parent 45992e0 commit 47174a0

1 file changed

Lines changed: 19 additions & 6 deletions

File tree

Lib/test/test_unicodedata.py

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ class UnicodeDatabaseTest(unittest.TestCase):
6868
db = unicodedata
6969

7070
class UnicodeFunctionsTest(UnicodeDatabaseTest):
71+
old = False
7172

7273
# Update this if the database changes. Make sure to do a full rebuild
7374
# (e.g. 'make distclean && make') to get the correct checksum.
@@ -95,7 +96,8 @@ def test_function_checksum(self):
9596
]
9697
h.update(''.join(data).encode("ascii"))
9798
result = h.hexdigest()
98-
self.assertEqual(result, self.expectedchecksum)
99+
if not self.old:
100+
self.assertEqual(result, self.expectedchecksum)
99101

100102
@requires_resource('cpu')
101103
def test_name_inverse_lookup(self):
@@ -121,9 +123,13 @@ def test_numeric(self):
121123
self.assertEqual(self.db.numeric('9'), 9)
122124
self.assertEqual(self.db.numeric('\u215b'), 0.125)
123125
self.assertEqual(self.db.numeric('\u2468'), 9.0)
124-
self.assertEqual(self.db.numeric('\ua627'), 7.0)
126+
# New in 5.1.0
127+
self.assertEqual(self.db.numeric('\ua627', None),
128+
None if self.old else 7.0)
125129
self.assertEqual(self.db.numeric('\U00020000', None), None)
126-
self.assertEqual(self.db.numeric('\U0001012A'), 9000)
130+
# New in 4.1.0
131+
self.assertEqual(self.db.numeric('\U0001012A', None),
132+
None if self.old else 9000)
127133

128134
self.assertRaises(TypeError, self.db.numeric)
129135
self.assertRaises(TypeError, self.db.numeric, 'xx')
@@ -146,7 +152,8 @@ def test_category(self):
146152
self.assertEqual(self.db.category('a'), 'Ll')
147153
self.assertEqual(self.db.category('A'), 'Lu')
148154
self.assertEqual(self.db.category('\U00020000'), 'Lo')
149-
self.assertEqual(self.db.category('\U0001012A'), 'No')
155+
self.assertEqual(self.db.category('\U0001012A'),
156+
'Cn' if self.old else 'No')
150157

151158
self.assertRaises(TypeError, self.db.category)
152159
self.assertRaises(TypeError, self.db.category, 'xx')
@@ -284,8 +291,14 @@ def test_east_asian_width_unassigned(self):
284291
self.assertIs(self.db.name(char, None), None)
285292

286293
def test_east_asian_width_9_0_changes(self):
287-
self.assertEqual(self.db.ucd_3_2_0.east_asian_width('\u231a'), 'N')
288-
self.assertEqual(self.db.east_asian_width('\u231a'), 'W')
294+
self.assertEqual(self.db.east_asian_width('\u231a'),
295+
'N' if self.old else 'W')
296+
297+
298+
class Unicode_3_2_0_FunctionsTest(UnicodeFunctionsTest):
299+
db = unicodedata.ucd_3_2_0
300+
old = True
301+
289302

290303
class UnicodeMiscTest(UnicodeDatabaseTest):
291304

0 commit comments

Comments
 (0)