@@ -128,6 +128,59 @@ def test_function_checksum(self):
128128 result = h .hexdigest ()
129129 self .assertEqual (result , self .expectedchecksum )
130130
131+ def test_name (self ):
132+ name = self .db .name
133+ self .assertRaises (ValueError , name , '\0 ' )
134+ self .assertRaises (ValueError , name , '\n ' )
135+ self .assertRaises (ValueError , name , '\x1F ' )
136+ self .assertRaises (ValueError , name , '\x7F ' )
137+ self .assertRaises (ValueError , name , '\x9F ' )
138+ self .assertRaises (ValueError , name , '\uFFFE ' )
139+ self .assertRaises (ValueError , name , '\uFFFF ' )
140+ self .assertRaises (ValueError , name , '\U0010FFFF ' )
141+ self .assertEqual (name ('\U0010FFFF ' , 42 ), 42 )
142+
143+ self .assertEqual (name (' ' ), 'SPACE' )
144+ self .assertEqual (name ('1' ), 'DIGIT ONE' )
145+ self .assertEqual (name ('A' ), 'LATIN CAPITAL LETTER A' )
146+ self .assertEqual (name ('\xA0 ' ), 'NO-BREAK SPACE' )
147+ self .assertEqual (name ('\u0221 ' , None ), None if self .old else
148+ 'LATIN SMALL LETTER D WITH CURL' )
149+ self .assertEqual (name ('\u3400 ' ), 'CJK UNIFIED IDEOGRAPH-3400' )
150+ self .assertEqual (name ('\u9FA5 ' ), 'CJK UNIFIED IDEOGRAPH-9FA5' )
151+ self .assertEqual (name ('\uAC00 ' ), 'HANGUL SYLLABLE GA' )
152+ self .assertEqual (name ('\uD7A3 ' ), 'HANGUL SYLLABLE HIH' )
153+ self .assertEqual (name ('\uF900 ' ), 'CJK COMPATIBILITY IDEOGRAPH-F900' )
154+ self .assertEqual (name ('\uFA6A ' ), 'CJK COMPATIBILITY IDEOGRAPH-FA6A' )
155+ self .assertEqual (name ('\uFBF9 ' ),
156+ 'ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA '
157+ 'ABOVE WITH ALEF MAKSURA ISOLATED FORM' )
158+ self .assertEqual (name ('\U00013460 ' , None ), None if self .old else
159+ 'EGYPTIAN HIEROGLYPH-13460' )
160+ self .assertEqual (name ('\U000143FA ' , None ), None if self .old else
161+ 'EGYPTIAN HIEROGLYPH-143FA' )
162+ self .assertEqual (name ('\U00017000 ' , None ), None if self .old else
163+ 'TANGUT IDEOGRAPH-17000' )
164+ self .assertEqual (name ('\U00018B00 ' , None ), None if self .old else
165+ 'KHITAN SMALL SCRIPT CHARACTER-18B00' )
166+ self .assertEqual (name ('\U00018CD5 ' , None ), None if self .old else
167+ 'KHITAN SMALL SCRIPT CHARACTER-18CD5' )
168+ self .assertEqual (name ('\U00018CFF ' , None ), None if self .old else
169+ 'KHITAN SMALL SCRIPT CHARACTER-18CFF' )
170+ self .assertEqual (name ('\U00018D1E ' , None ), None if self .old else
171+ 'TANGUT IDEOGRAPH-18D1E' )
172+ self .assertEqual (name ('\U0001B170 ' , None ), None if self .old else
173+ 'NUSHU CHARACTER-1B170' )
174+ self .assertEqual (name ('\U0001B2FB ' , None ), None if self .old else
175+ 'NUSHU CHARACTER-1B2FB' )
176+ self .assertEqual (name ('\U0001FBA8 ' , None ), None if self .old else
177+ 'BOX DRAWINGS LIGHT DIAGONAL UPPER CENTRE TO '
178+ 'MIDDLE LEFT AND MIDDLE RIGHT TO LOWER CENTRE' )
179+ self .assertEqual (name ('\U0002A6D6 ' ), 'CJK UNIFIED IDEOGRAPH-2A6D6' )
180+ self .assertEqual (name ('\U0002FA1D ' ), 'CJK COMPATIBILITY IDEOGRAPH-2FA1D' )
181+ self .assertEqual (name ('\U00033479 ' , None ), None if self .old else
182+ 'CJK UNIFIED IDEOGRAPH-33479' )
183+
131184 @requires_resource ('cpu' )
132185 def test_name_inverse_lookup (self ):
133186 for char in iterallchars ():
@@ -617,7 +670,7 @@ class UnicodeFunctionsTest(unittest.TestCase, BaseUnicodeFunctionsTest):
617670 '180bdc91143d8aa2eb9dd6726e66d37606205942' )
618671
619672 @requires_resource ('network' )
620- def test_name (self ):
673+ def test_all_names (self ):
621674 TESTDATAFILE = "DerivedName.txt"
622675 testdata = download_test_data_file (TESTDATAFILE )
623676
0 commit comments