annotate Lib/test/test_stringprep.py @ 58765:2ba7677bfa95 legacy-trunk

testCopysign was defined twice in test_math; combine the definitions
author Mark Dickinson <dickinsm@gmail.com>
date Sat, 06 Feb 2010 23:11:25 +0000
parents 6768b2350c57
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
1 # To fully test this module, we would need a copy of the stringprep tables.
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
2 # Since we don't have them, this test checks only a few codepoints.
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
3
41398
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
4 import unittest
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
5 from test import test_support
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
6
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
7 from stringprep import *
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
8
41398
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
9 class StringprepTests(unittest.TestCase):
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
10 def test(self):
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
11 self.assertTrue(in_table_a1(u"\u0221"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
12 self.assertFalse(in_table_a1(u"\u0222"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
13
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
14 self.assertTrue(in_table_b1(u"\u00ad"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
15 self.assertFalse(in_table_b1(u"\u00ae"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
16
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
17 self.assertTrue(map_table_b2(u"\u0041"), u"\u0061")
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
18 self.assertTrue(map_table_b2(u"\u0061"), u"\u0061")
41398
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
19
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
20 self.assertTrue(map_table_b3(u"\u0041"), u"\u0061")
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
21 self.assertTrue(map_table_b3(u"\u0061"), u"\u0061")
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
22
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
23 self.assertTrue(in_table_c11(u"\u0020"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
24 self.assertFalse(in_table_c11(u"\u0021"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
25
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
26 self.assertTrue(in_table_c12(u"\u00a0"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
27 self.assertFalse(in_table_c12(u"\u00a1"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
28
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
29 self.assertTrue(in_table_c12(u"\u00a0"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
30 self.assertFalse(in_table_c12(u"\u00a1"))
41398
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
31
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
32 self.assertTrue(in_table_c11_c12(u"\u00a0"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
33 self.assertFalse(in_table_c11_c12(u"\u00a1"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
34
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
35 self.assertTrue(in_table_c21(u"\u001f"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
36 self.assertFalse(in_table_c21(u"\u0020"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
37
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
38 self.assertTrue(in_table_c22(u"\u009f"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
39 self.assertFalse(in_table_c22(u"\u00a0"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
40
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
41 self.assertTrue(in_table_c21_c22(u"\u009f"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
42 self.assertFalse(in_table_c21_c22(u"\u00a0"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
43
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
44 self.assertTrue(in_table_c3(u"\ue000"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
45 self.assertFalse(in_table_c3(u"\uf900"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
46
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
47 self.assertTrue(in_table_c4(u"\uffff"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
48 self.assertFalse(in_table_c4(u"\u0000"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
49
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
50 self.assertTrue(in_table_c5(u"\ud800"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
51 self.assertFalse(in_table_c5(u"\ud7ff"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
52
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
53 self.assertTrue(in_table_c6(u"\ufff9"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
54 self.assertFalse(in_table_c6(u"\ufffe"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
55
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
56 self.assertTrue(in_table_c7(u"\u2ff0"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
57 self.assertFalse(in_table_c7(u"\u2ffc"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
58
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
59 self.assertTrue(in_table_c8(u"\u0340"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
60 self.assertFalse(in_table_c8(u"\u0342"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
61
41398
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
62 # C.9 is not in the bmp
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
63 # self.assertTrue(in_table_c9(u"\U000E0001"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
64 # self.assertFalse(in_table_c8(u"\U000E0002"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
65
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
66 self.assertTrue(in_table_d1(u"\u05be"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
67 self.assertFalse(in_table_d1(u"\u05bf"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
68
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
69 self.assertTrue(in_table_d2(u"\u0041"))
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 41532
diff changeset
70 self.assertFalse(in_table_d2(u"\u0040"))
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
71
41398
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
72 # This would generate a hash of all predicates. However, running
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
73 # it is quite expensive, and only serves to detect changes in the
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
74 # unicode database. Instead, stringprep.py asserts the version of
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
75 # the database.
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
76
41398
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
77 # import hashlib
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
78 # predicates = [k for k in dir(stringprep) if k.startswith("in_table")]
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
79 # predicates.sort()
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
80 # for p in predicates:
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
81 # f = getattr(stringprep, p)
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
82 # # Collect all BMP code points
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
83 # data = ["0"] * 0x10000
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
84 # for i in range(0x10000):
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
85 # if f(unichr(i)):
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
86 # data[i] = "1"
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
87 # data = "".join(data)
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
88 # h = hashlib.sha1()
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
89 # h.update(data)
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
90 # print p, h.hexdigest()
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
91
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
92 def test_main():
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
93 test_support.run_unittest(StringprepTests)
41532
4b9fa8092e82 Whitespace normalization. Ugh, we really need to do this more often.
Neal Norwitz <nnorwitz@gmail.com>
parents: 41398
diff changeset
94
41398
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
95 if __name__ == '__main__':
3b1396b01239 Convert test_stringprep to use unittest.
Collin Winter <collinw@gmail.com>
parents: 38052
diff changeset
96 test_main()