Skip to content

Commit fc281f9

Browse files
committed
Add Unicode_3_2_0_FunctionsTest
1 parent cb9f269 commit fc281f9

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
@@ -69,6 +69,7 @@ class UnicodeDatabaseTest(unittest.TestCase):
6969
db = unicodedata
7070

7171
class UnicodeFunctionsTest(UnicodeDatabaseTest):
72+
old = False
7273

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

99101
@requires_resource('cpu')
100102
def test_name_inverse_lookup(self):
@@ -120,9 +122,13 @@ def test_numeric(self):
120122
self.assertEqual(self.db.numeric('9'), 9)
121123
self.assertEqual(self.db.numeric('\u215b'), 0.125)
122124
self.assertEqual(self.db.numeric('\u2468'), 9.0)
123-
self.assertEqual(self.db.numeric('\ua627'), 7.0)
125+
# New in 5.1.0
126+
self.assertEqual(self.db.numeric('\ua627', None),
127+
None if self.old else 7.0)
124128
self.assertEqual(self.db.numeric('\U00020000', None), None)
125-
self.assertEqual(self.db.numeric('\U0001012A'), 9000)
129+
# New in 4.1.0
130+
self.assertEqual(self.db.numeric('\U0001012A', None),
131+
None if self.old else 9000)
126132

127133
self.assertRaises(TypeError, self.db.numeric)
128134
self.assertRaises(TypeError, self.db.numeric, 'xx')
@@ -145,7 +151,8 @@ def test_category(self):
145151
self.assertEqual(self.db.category('a'), 'Ll')
146152
self.assertEqual(self.db.category('A'), 'Lu')
147153
self.assertEqual(self.db.category('\U00020000'), 'Lo')
148-
self.assertEqual(self.db.category('\U0001012A'), 'No')
154+
self.assertEqual(self.db.category('\U0001012A'),
155+
'Cn' if self.old else 'No')
149156

150157
self.assertRaises(TypeError, self.db.category)
151158
self.assertRaises(TypeError, self.db.category, 'xx')
@@ -266,8 +273,14 @@ def test_east_asian_width(self):
266273
self.assertEqual(eaw('\U00020000'), 'W')
267274

268275
def test_east_asian_width_9_0_changes(self):
269-
self.assertEqual(self.db.ucd_3_2_0.east_asian_width('\u231a'), 'N')
270-
self.assertEqual(self.db.east_asian_width('\u231a'), 'W')
276+
self.assertEqual(self.db.east_asian_width('\u231a'),
277+
'N' if self.old else 'W')
278+
279+
280+
class Unicode_3_2_0_FunctionsTest(UnicodeFunctionsTest):
281+
db = unicodedata.ucd_3_2_0
282+
old = True
283+
271284

272285
class UnicodeMiscTest(UnicodeDatabaseTest):
273286

0 commit comments

Comments
 (0)