3 unless ("A" eq pack('U', 0x41)) {
4 print "1..0 # Unicode::Collate " .
5 "cannot stringify a Unicode code point\n";
10 @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
15 BEGIN { plan tests => 149 };
19 use Unicode::Collate::Locale;
23 #########################
25 my $objKk = Unicode::Collate::Locale->
26 new(locale => 'KK', normalization => undef);
28 ok($objKk->getlocale, 'kk');
30 $objKk->change(level => 1);
32 ok($objKk->lt("\x{43E}", "\x{4E9}"));
33 ok($objKk->gt("\x{43F}", "\x{4E9}"));
34 ok($objKk->lt("\x{443}", "\x{4B1}"));
35 ok($objKk->gt("\x{4AF}", "\x{4B1}"));
36 ok($objKk->lt("\x{44B}", "\x{456}"));
37 ok($objKk->gt("\x{44C}", "\x{456}"));
41 ok($objKk->eq("\x{4D1}", "\x{430}"));
42 ok($objKk->eq("\x{4D0}", "\x{410}"));
43 ok($objKk->eq("\x{4D3}", "\x{430}"));
44 ok($objKk->eq("\x{4D2}", "\x{410}"));
45 ok($objKk->eq("\x{453}", "\x{433}"));
46 ok($objKk->eq("\x{403}", "\x{413}"));
47 ok($objKk->eq("\x{4D7}", "\x{435}"));
48 ok($objKk->eq("\x{4D6}", "\x{415}"));
49 ok($objKk->eq("\x{4DD}", "\x{436}"));
50 ok($objKk->eq("\x{4DC}", "\x{416}"));
51 ok($objKk->eq("\x{4DF}", "\x{437}"));
52 ok($objKk->eq("\x{4DE}", "\x{417}"));
53 ok($objKk->eq("\x{4E5}", "\x{438}"));
54 ok($objKk->eq("\x{4E4}", "\x{418}"));
55 ok($objKk->eq("\x{457}", "\x{456}"));
56 ok($objKk->eq("\x{407}", "\x{406}"));
57 ok($objKk->eq("\x{439}", "\x{438}"));
58 ok($objKk->eq("\x{419}", "\x{418}"));
59 ok($objKk->eq("\x{4E7}", "\x{43E}"));
60 ok($objKk->eq("\x{4E6}", "\x{41E}"));
61 ok($objKk->eq("\x{45C}", "\x{43A}"));
62 ok($objKk->eq("\x{40C}", "\x{41A}"));
63 ok($objKk->eq("\x{45E}", "\x{443}"));
64 ok($objKk->eq("\x{40E}", "\x{423}"));
65 ok($objKk->eq("\x{4F1}", "\x{443}"));
66 ok($objKk->eq("\x{4F0}", "\x{423}"));
67 ok($objKk->eq("\x{4F3}", "\x{443}"));
68 ok($objKk->eq("\x{4F2}", "\x{423}"));
69 ok($objKk->eq("\x{4F5}", "\x{447}"));
70 ok($objKk->eq("\x{4F4}", "\x{427}"));
71 ok($objKk->eq("\x{4F9}", "\x{44B}"));
72 ok($objKk->eq("\x{4F8}", "\x{42B}"));
73 ok($objKk->eq("\x{4ED}", "\x{44D}"));
74 ok($objKk->eq("\x{4EC}", "\x{42D}"));
78 $objKk->change(level => 2);
80 ok($objKk->gt("\x{4D1}", "\x{430}"));
81 ok($objKk->gt("\x{4D0}", "\x{410}"));
82 ok($objKk->gt("\x{4D3}", "\x{430}"));
83 ok($objKk->gt("\x{4D2}", "\x{410}"));
84 ok($objKk->gt("\x{453}", "\x{433}"));
85 ok($objKk->gt("\x{403}", "\x{413}"));
86 ok($objKk->gt("\x{4D7}", "\x{435}"));
87 ok($objKk->gt("\x{4D6}", "\x{415}"));
88 ok($objKk->gt("\x{4DD}", "\x{436}"));
89 ok($objKk->gt("\x{4DC}", "\x{416}"));
90 ok($objKk->gt("\x{4DF}", "\x{437}"));
91 ok($objKk->gt("\x{4DE}", "\x{417}"));
92 ok($objKk->gt("\x{4E5}", "\x{438}"));
93 ok($objKk->gt("\x{4E4}", "\x{418}"));
94 ok($objKk->gt("\x{457}", "\x{456}"));
95 ok($objKk->gt("\x{407}", "\x{406}"));
96 ok($objKk->gt("\x{439}", "\x{438}"));
97 ok($objKk->gt("\x{419}", "\x{418}"));
98 ok($objKk->gt("\x{4E7}", "\x{43E}"));
99 ok($objKk->gt("\x{4E6}", "\x{41E}"));
100 ok($objKk->gt("\x{45C}", "\x{43A}"));
101 ok($objKk->gt("\x{40C}", "\x{41A}"));
102 ok($objKk->gt("\x{45E}", "\x{443}"));
103 ok($objKk->gt("\x{40E}", "\x{423}"));
104 ok($objKk->gt("\x{4F1}", "\x{443}"));
105 ok($objKk->gt("\x{4F0}", "\x{423}"));
106 ok($objKk->gt("\x{4F3}", "\x{443}"));
107 ok($objKk->gt("\x{4F2}", "\x{423}"));
108 ok($objKk->gt("\x{4F5}", "\x{447}"));
109 ok($objKk->gt("\x{4F4}", "\x{427}"));
110 ok($objKk->gt("\x{4F9}", "\x{44B}"));
111 ok($objKk->gt("\x{4F8}", "\x{42B}"));
112 ok($objKk->gt("\x{4ED}", "\x{44D}"));
113 ok($objKk->gt("\x{4EC}", "\x{42D}"));
117 $objKk->change(level => 3);
119 ok($objKk->lt("\x{4E9}", "\x{4E8}"));
120 ok($objKk->lt("\x{4B1}", "\x{4B0}"));
121 ok($objKk->lt("\x{456}", "\x{406}"));
123 ok($objKk->eq("\x{4EB}", "\x{4E9}\x{308}"));
124 ok($objKk->eq("\x{4EA}", "\x{4E8}\x{308}"));
128 ok($objKk->eq("\x{4D1}", "\x{430}\x{306}"));
129 ok($objKk->eq("\x{4D0}", "\x{410}\x{306}"));
130 ok($objKk->eq("\x{4D3}", "\x{430}\x{308}"));
131 ok($objKk->eq("\x{4D2}", "\x{410}\x{308}"));
132 ok($objKk->eq("\x{453}", "\x{433}\x{301}"));
133 ok($objKk->eq("\x{403}", "\x{413}\x{301}"));
134 ok($objKk->eq("\x{4D7}", "\x{435}\x{306}"));
135 ok($objKk->eq("\x{4D6}", "\x{415}\x{306}"));
136 ok($objKk->eq("\x{4DD}", "\x{436}\x{308}"));
137 ok($objKk->eq("\x{4DC}", "\x{416}\x{308}"));
138 ok($objKk->eq("\x{4DF}", "\x{437}\x{308}"));
139 ok($objKk->eq("\x{4DE}", "\x{417}\x{308}"));
140 ok($objKk->eq("\x{4E5}", "\x{438}\x{308}"));
141 ok($objKk->eq("\x{4E4}", "\x{418}\x{308}"));
142 ok($objKk->eq("\x{457}", "\x{456}\x{308}"));
143 ok($objKk->eq("\x{407}", "\x{406}\x{308}"));
144 ok($objKk->eq("\x{439}", "\x{438}\x{306}"));
145 ok($objKk->eq("\x{419}", "\x{418}\x{306}"));
146 ok($objKk->eq("\x{4E7}", "\x{43E}\x{308}"));
147 ok($objKk->eq("\x{4E6}", "\x{41E}\x{308}"));
148 ok($objKk->eq("\x{45C}", "\x{43A}\x{301}"));
149 ok($objKk->eq("\x{40C}", "\x{41A}\x{301}"));
150 ok($objKk->eq("\x{45E}", "\x{443}\x{306}"));
151 ok($objKk->eq("\x{40E}", "\x{423}\x{306}"));
152 ok($objKk->eq("\x{4F1}", "\x{443}\x{308}"));
153 ok($objKk->eq("\x{4F0}", "\x{423}\x{308}"));
154 ok($objKk->eq("\x{4F3}", "\x{443}\x{30B}"));
155 ok($objKk->eq("\x{4F2}", "\x{423}\x{30B}"));
156 ok($objKk->eq("\x{4F5}", "\x{447}\x{308}"));
157 ok($objKk->eq("\x{4F4}", "\x{427}\x{308}"));
158 ok($objKk->eq("\x{4F9}", "\x{44B}\x{308}"));
159 ok($objKk->eq("\x{4F8}", "\x{42B}\x{308}"));
160 ok($objKk->eq("\x{4ED}", "\x{44D}\x{308}"));
161 ok($objKk->eq("\x{4EC}", "\x{42D}\x{308}"));
165 ok($objKk->eq("\x{4D1}", "\x{430}\0\x{306}"));
166 ok($objKk->eq("\x{4D0}", "\x{410}\0\x{306}"));
167 ok($objKk->eq("\x{4D3}", "\x{430}\0\x{308}"));
168 ok($objKk->eq("\x{4D2}", "\x{410}\0\x{308}"));
169 ok($objKk->eq("\x{453}", "\x{433}\0\x{301}"));
170 ok($objKk->eq("\x{403}", "\x{413}\0\x{301}"));
171 ok($objKk->eq("\x{4D7}", "\x{435}\0\x{306}"));
172 ok($objKk->eq("\x{4D6}", "\x{415}\0\x{306}"));
173 ok($objKk->eq("\x{4DD}", "\x{436}\0\x{308}"));
174 ok($objKk->eq("\x{4DC}", "\x{416}\0\x{308}"));
175 ok($objKk->eq("\x{4DF}", "\x{437}\0\x{308}"));
176 ok($objKk->eq("\x{4DE}", "\x{417}\0\x{308}"));
177 ok($objKk->eq("\x{4E5}", "\x{438}\0\x{308}"));
178 ok($objKk->eq("\x{4E4}", "\x{418}\0\x{308}"));
179 ok($objKk->eq("\x{457}", "\x{456}\0\x{308}"));
180 ok($objKk->eq("\x{407}", "\x{406}\0\x{308}"));
181 ok($objKk->eq("\x{439}", "\x{438}\0\x{306}"));
182 ok($objKk->eq("\x{419}", "\x{418}\0\x{306}"));
183 ok($objKk->eq("\x{4E7}", "\x{43E}\0\x{308}"));
184 ok($objKk->eq("\x{4E6}", "\x{41E}\0\x{308}"));
185 ok($objKk->eq("\x{45C}", "\x{43A}\0\x{301}"));
186 ok($objKk->eq("\x{40C}", "\x{41A}\0\x{301}"));
187 ok($objKk->eq("\x{45E}", "\x{443}\0\x{306}"));
188 ok($objKk->eq("\x{40E}", "\x{423}\0\x{306}"));
189 ok($objKk->eq("\x{4F1}", "\x{443}\0\x{308}"));
190 ok($objKk->eq("\x{4F0}", "\x{423}\0\x{308}"));
191 ok($objKk->eq("\x{4F3}", "\x{443}\0\x{30B}"));
192 ok($objKk->eq("\x{4F2}", "\x{423}\0\x{30B}"));
193 ok($objKk->eq("\x{4F5}", "\x{447}\0\x{308}"));
194 ok($objKk->eq("\x{4F4}", "\x{427}\0\x{308}"));
195 ok($objKk->eq("\x{4F9}", "\x{44B}\0\x{308}"));
196 ok($objKk->eq("\x{4F8}", "\x{42B}\0\x{308}"));
197 ok($objKk->eq("\x{4ED}", "\x{44D}\0\x{308}"));
198 ok($objKk->eq("\x{4EC}", "\x{42D}\0\x{308}"));