@@ -69,6 +69,7 @@ class UnicodeDatabaseTest(unittest.TestCase):
6969 db = unicodedata
7070
7171class 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
272285class UnicodeMiscTest (UnicodeDatabaseTest ):
273286
0 commit comments