annotate Lib/test/test_stringprep.py @ 38664:7619216bbc19 2.4

Bug #1502728: Correctly link against librt library on HP-UX. (backport from rev. 46743)
author Georg Brandl <georg@python.org>
date Thu, 08 Jun 2006 12:54:16 +0000
parents 6f15e73b59f2
children 32a187f3d5ba
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
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
4 from test.test_support import verify, vereq
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
5 import sha
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 import stringprep
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
8 from stringprep import *
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
9
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
10 verify(in_table_a1(u"\u0221"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
11 verify(not in_table_a1(u"\u0222"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
12
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
13 verify(in_table_b1(u"\u00ad"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
14 verify(not in_table_b1(u"\u00ae"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
15
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
16 verify(map_table_b2(u"\u0041"), u"\u0061")
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
17 verify(map_table_b2(u"\u0061"), u"\u0061")
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
18
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
19 verify(map_table_b3(u"\u0041"), u"\u0061")
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
20 verify(map_table_b3(u"\u0061"), u"\u0061")
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
21
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
22 verify(in_table_c11(u"\u0020"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
23 verify(not in_table_c11(u"\u0021"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
24
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
25 verify(in_table_c12(u"\u00a0"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
26 verify(not in_table_c12(u"\u00a1"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
27
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
28 verify(in_table_c12(u"\u00a0"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
29 verify(not in_table_c12(u"\u00a1"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
30
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
31 verify(in_table_c11_c12(u"\u00a0"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
32 verify(not in_table_c11_c12(u"\u00a1"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
33
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
34 verify(in_table_c21(u"\u001f"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
35 verify(not in_table_c21(u"\u0020"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
36
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
37 verify(in_table_c22(u"\u009f"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
38 verify(not in_table_c22(u"\u00a0"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
39
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
40 verify(in_table_c21_c22(u"\u009f"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
41 verify(not in_table_c21_c22(u"\u00a0"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
42
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
43 verify(in_table_c3(u"\ue000"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
44 verify(not in_table_c3(u"\uf900"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
45
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
46 verify(in_table_c4(u"\uffff"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
47 verify(not in_table_c4(u"\u0000"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
48
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
49 verify(in_table_c5(u"\ud800"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
50 verify(not in_table_c5(u"\ud7ff"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
51
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
52 verify(in_table_c6(u"\ufff9"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
53 verify(not in_table_c6(u"\ufffe"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
54
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
55 verify(in_table_c7(u"\u2ff0"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
56 verify(not in_table_c7(u"\u2ffc"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
57
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
58 verify(in_table_c8(u"\u0340"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
59 verify(not in_table_c8(u"\u0342"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
60
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
61 # C.9 is not in the bmp
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
62 # verify(in_table_c9(u"\U000E0001"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
63 # verify(not in_table_c8(u"\U000E0002"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
64
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
65 verify(in_table_d1(u"\u05be"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
66 verify(not in_table_d1(u"\u05bf"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
67
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
68 verify(in_table_d2(u"\u0041"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
69 verify(not in_table_d2(u"\u0040"))
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
70
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
71 # This would generate a hash of all predicates. However, running
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
72 # it is quite expensive, and only serves to detect changes in the
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
73 # unicode database. Instead, stringprep.py asserts the version of
30723
6f15e73b59f2 Backport checkin:
Walter Dörwald <walter@livinglogic.de>
parents: 28774
diff changeset
74 # the database.
28692
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
75
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
76 # predicates = [k for k in dir(stringprep) if k.startswith("in_table")]
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
77 # predicates.sort()
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
78 # for p in predicates:
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
79 # f = getattr(stringprep, p)
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
80 # # Collect all BMP code points
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
81 # data = ["0"] * 0x10000
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
82 # for i in range(0x10000):
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
83 # if f(unichr(i)):
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
84 # data[i] = "1"
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
85 # data = "".join(data)
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
86 # h = sha.sha()
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
87 # h.update(data)
06d137a427e9 New file.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
88 # print p,h.hexdigest()