@@ -68,6 +68,7 @@ class UnicodeDatabaseTest(unittest.TestCase):
6868 db = unicodedata
6969
7070class 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
290303class UnicodeMiscTest (UnicodeDatabaseTest ):
291304
0 commit comments