Skip to content

Commit accd150

Browse files
Add tests that work without network and with UCD 3.2.0.
1 parent b69fdfc commit accd150

1 file changed

Lines changed: 54 additions & 1 deletion

File tree

Lib/test/test_unicodedata.py

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)