1
2BEGIN {
3    if ($ENV{PERL_CORE}) {
4	chdir('t') if -d 't';
5	@INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
6    }
7}
8
9use strict;
10use warnings;
11BEGIN { $| = 1; print "1..3589\n"; }
12my $count = 0;
13sub ok ($;$) {
14    my $p = my $r = shift;
15    if (@_) {
16	my $x = shift;
17	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
18    }
19    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
20}
21
22use Unicode::Collate::Locale;
23
24ok(1);
25
26sub _pack_U   { Unicode::Collate::pack_U(@_) }
27sub _unpack_U { Unicode::Collate::unpack_U(@_) }
28
29#########################
30
31my $objDefault = Unicode::Collate::Locale->
32    new(locale => 'DEFAULT', normalization => undef);
33
34ok($objDefault->getlocale, 'default');
35
36my $objZhP = Unicode::Collate::Locale->
37    new(locale => 'ZH__pinyin', normalization => undef);
38
39ok($objZhP->getlocale, 'zh__pinyin');
40
41my $objZhS = Unicode::Collate::Locale->
42    new(locale => 'ZH__stroke', normalization => undef);
43
44ok($objZhS->getlocale, 'zh__stroke');
45
46my $objZhZ = Unicode::Collate::Locale->
47    new(locale => 'ZH__zhuyin', normalization => undef);
48
49ok($objZhZ->getlocale, 'zh__zhuyin');
50
51for my $obj ($objDefault, $objZhP, $objZhS, $objZhZ) {
52    for my $lev (2, 3) {
53	$obj->change(level => $lev);
54	my $r = $lev == 2 ? 0 : 1;
55	ok($obj->cmp("\x{3220}", "\(\x{4E00}\)"), $r);
56	ok($obj->cmp("\x{3226}", "\(\x{4E03}\)"), $r);
57	ok($obj->cmp("\x{3222}", "\(\x{4E09}\)"), $r);
58	ok($obj->cmp("\x{3228}", "\(\x{4E5D}\)"), $r);
59	ok($obj->cmp("\x{3221}", "\(\x{4E8C}\)"), $r);
60	ok($obj->cmp("\x{3224}", "\(\x{4E94}\)"), $r);
61	ok($obj->cmp("\x{3239}", "\(\x{4EE3}\)"), $r);
62	ok($obj->cmp("\x{323D}", "\(\x{4F01}\)"), $r);
63	ok($obj->cmp("\x{3241}", "\(\x{4F11}\)"), $r);
64	ok($obj->cmp("\x{3227}", "\(\x{516B}\)"), $r);
65	ok($obj->cmp("\x{3225}", "\(\x{516D}\)"), $r);
66	ok($obj->cmp("\x{3238}", "\(\x{52B4}\)"), $r);
67	ok($obj->cmp("\x{3229}", "\(\x{5341}\)"), $r);
68	ok($obj->cmp("\x{323F}", "\(\x{5354}\)"), $r);
69	ok($obj->cmp("\x{3234}", "\(\x{540D}\)"), $r);
70	ok($obj->cmp("\x{323A}", "\(\x{547C}\)"), $r);
71	ok($obj->cmp("\x{3223}", "\(\x{56DB}\)"), $r);
72	ok($obj->cmp("\x{322F}", "\(\x{571F}\)"), $r);
73	ok($obj->cmp("\x{323B}", "\(\x{5B66}\)"), $r);
74	ok($obj->cmp("\x{3230}", "\(\x{65E5}\)"), $r);
75	ok($obj->cmp("\x{322A}", "\(\x{6708}\)"), $r);
76	ok($obj->cmp("\x{3232}", "\(\x{6709}\)"), $r);
77	ok($obj->cmp("\x{322D}", "\(\x{6728}\)"), $r);
78	ok($obj->cmp("\x{3231}", "\(\x{682A}\)"), $r);
79	ok($obj->cmp("\x{322C}", "\(\x{6C34}\)"), $r);
80	ok($obj->cmp("\x{322B}", "\(\x{706B}\)"), $r);
81	ok($obj->cmp("\x{3235}", "\(\x{7279}\)"), $r);
82	ok($obj->cmp("\x{323C}", "\(\x{76E3}\)"), $r);
83	ok($obj->cmp("\x{3233}", "\(\x{793E}\)"), $r);
84	ok($obj->cmp("\x{3237}", "\(\x{795D}\)"), $r);
85	ok($obj->cmp("\x{3240}", "\(\x{796D}\)"), $r);
86	ok($obj->cmp("\x{3242}", "\(\x{81EA}\)"), $r);
87	ok($obj->cmp("\x{3243}", "\(\x{81F3}\)"), $r);
88	ok($obj->cmp("\x{3236}", "\(\x{8CA1}\)"), $r);
89	ok($obj->cmp("\x{323E}", "\(\x{8CC7}\)"), $r);
90	ok($obj->cmp("\x{322E}", "\(\x{91D1}\)"), $r);
91	ok($obj->cmp("\x{3358}", "0\x{70B9}"), $r);
92	ok($obj->cmp("\x{33E9}", "10\x{65E5}"), $r);
93	ok($obj->cmp("\x{32C9}", "10\x{6708}"), $r);
94	ok($obj->cmp("\x{3362}", "10\x{70B9}"), $r);
95	ok($obj->cmp("\x{33EA}", "11\x{65E5}"), $r);
96	ok($obj->cmp("\x{32CA}", "11\x{6708}"), $r);
97	ok($obj->cmp("\x{3363}", "11\x{70B9}"), $r);
98	ok($obj->cmp("\x{33EB}", "12\x{65E5}"), $r);
99	ok($obj->cmp("\x{32CB}", "12\x{6708}"), $r);
100	ok($obj->cmp("\x{3364}", "12\x{70B9}"), $r);
101	ok($obj->cmp("\x{33EC}", "13\x{65E5}"), $r);
102	ok($obj->cmp("\x{3365}", "13\x{70B9}"), $r);
103	ok($obj->cmp("\x{33ED}", "14\x{65E5}"), $r);
104	ok($obj->cmp("\x{3366}", "14\x{70B9}"), $r);
105	ok($obj->cmp("\x{33EE}", "15\x{65E5}"), $r);
106	ok($obj->cmp("\x{3367}", "15\x{70B9}"), $r);
107	ok($obj->cmp("\x{33EF}", "16\x{65E5}"), $r);
108	ok($obj->cmp("\x{3368}", "16\x{70B9}"), $r);
109	ok($obj->cmp("\x{33F0}", "17\x{65E5}"), $r);
110	ok($obj->cmp("\x{3369}", "17\x{70B9}"), $r);
111	ok($obj->cmp("\x{33F1}", "18\x{65E5}"), $r);
112	ok($obj->cmp("\x{336A}", "18\x{70B9}"), $r);
113	ok($obj->cmp("\x{33F2}", "19\x{65E5}"), $r);
114	ok($obj->cmp("\x{336B}", "19\x{70B9}"), $r);
115	ok($obj->cmp("\x{33E0}", "1\x{65E5}"), $r);
116	ok($obj->cmp("\x{32C0}", "1\x{6708}"), $r);
117	ok($obj->cmp("\x{3359}", "1\x{70B9}"), $r);
118	ok($obj->cmp("\x{33F3}", "20\x{65E5}"), $r);
119	ok($obj->cmp("\x{336C}", "20\x{70B9}"), $r);
120	ok($obj->cmp("\x{33F4}", "21\x{65E5}"), $r);
121	ok($obj->cmp("\x{336D}", "21\x{70B9}"), $r);
122	ok($obj->cmp("\x{33F5}", "22\x{65E5}"), $r);
123	ok($obj->cmp("\x{336E}", "22\x{70B9}"), $r);
124	ok($obj->cmp("\x{33F6}", "23\x{65E5}"), $r);
125	ok($obj->cmp("\x{336F}", "23\x{70B9}"), $r);
126	ok($obj->cmp("\x{33F7}", "24\x{65E5}"), $r);
127	ok($obj->cmp("\x{3370}", "24\x{70B9}"), $r);
128	ok($obj->cmp("\x{33F8}", "25\x{65E5}"), $r);
129	ok($obj->cmp("\x{33F9}", "26\x{65E5}"), $r);
130	ok($obj->cmp("\x{33FA}", "27\x{65E5}"), $r);
131	ok($obj->cmp("\x{33FB}", "28\x{65E5}"), $r);
132	ok($obj->cmp("\x{33FC}", "29\x{65E5}"), $r);
133	ok($obj->cmp("\x{33E1}", "2\x{65E5}"), $r);
134	ok($obj->cmp("\x{32C1}", "2\x{6708}"), $r);
135	ok($obj->cmp("\x{335A}", "2\x{70B9}"), $r);
136	ok($obj->cmp("\x{33FD}", "30\x{65E5}"), $r);
137	ok($obj->cmp("\x{33FE}", "31\x{65E5}"), $r);
138	ok($obj->cmp("\x{33E2}", "3\x{65E5}"), $r);
139	ok($obj->cmp("\x{32C2}", "3\x{6708}"), $r);
140	ok($obj->cmp("\x{335B}", "3\x{70B9}"), $r);
141	ok($obj->cmp("\x{33E3}", "4\x{65E5}"), $r);
142	ok($obj->cmp("\x{32C3}", "4\x{6708}"), $r);
143	ok($obj->cmp("\x{335C}", "4\x{70B9}"), $r);
144	ok($obj->cmp("\x{33E4}", "5\x{65E5}"), $r);
145	ok($obj->cmp("\x{32C4}", "5\x{6708}"), $r);
146	ok($obj->cmp("\x{335D}", "5\x{70B9}"), $r);
147	ok($obj->cmp("\x{33E5}", "6\x{65E5}"), $r);
148	ok($obj->cmp("\x{32C5}", "6\x{6708}"), $r);
149	ok($obj->cmp("\x{335E}", "6\x{70B9}"), $r);
150	ok($obj->cmp("\x{33E6}", "7\x{65E5}"), $r);
151	ok($obj->cmp("\x{32C6}", "7\x{6708}"), $r);
152	ok($obj->cmp("\x{335F}", "7\x{70B9}"), $r);
153	ok($obj->cmp("\x{33E7}", "8\x{65E5}"), $r);
154	ok($obj->cmp("\x{32C7}", "8\x{6708}"), $r);
155	ok($obj->cmp("\x{3360}", "8\x{70B9}"), $r);
156	ok($obj->cmp("\x{33E8}", "9\x{65E5}"), $r);
157	ok($obj->cmp("\x{32C8}", "9\x{6708}"), $r);
158	ok($obj->cmp("\x{3361}", "9\x{70B9}"), $r);
159	ok($obj->cmp("\x{1F241}", "\x{3014}\x{4E09}\x{3015}"), $r);
160	ok($obj->cmp("\x{1F242}", "\x{3014}\x{4E8C}\x{3015}"), $r);
161	ok($obj->cmp("\x{1F247}", "\x{3014}\x{52DD}\x{3015}"), $r);
162	ok($obj->cmp("\x{1F243}", "\x{3014}\x{5B89}\x{3015}"), $r);
163	ok($obj->cmp("\x{1F245}", "\x{3014}\x{6253}\x{3015}"), $r);
164	ok($obj->cmp("\x{1F248}", "\x{3014}\x{6557}\x{3015}"), $r);
165	ok($obj->cmp("\x{1F240}", "\x{3014}\x{672C}\x{3015}"), $r);
166	ok($obj->cmp("\x{1F244}", "\x{3014}\x{70B9}\x{3015}"), $r);
167	ok($obj->cmp("\x{1F246}", "\x{3014}\x{76D7}\x{3015}"), $r);
168	ok($obj->cmp("\x{2F00}", "\x{4E00}"), $r);
169	ok($obj->cmp("\x{3192}", "\x{4E00}"), $r);
170	ok($obj->cmp("\x{3280}", "\x{4E00}"), $r);
171	ok($obj->cmp("\x{1F229}", "\x{4E00}"), $r);
172	ok($obj->cmp("\x{319C}", "\x{4E01}"), $r);
173	ok($obj->cmp("\x{3286}", "\x{4E03}"), $r);
174	ok($obj->cmp("\x{3194}", "\x{4E09}"), $r);
175	ok($obj->cmp("\x{3282}", "\x{4E09}"), $r);
176	ok($obj->cmp("\x{1F22A}", "\x{4E09}"), $r);
177	ok($obj->cmp("\x{3196}", "\x{4E0A}"), $r);
178	ok($obj->cmp("\x{32A4}", "\x{4E0A}"), $r);
179	ok($obj->cmp("\x{3198}", "\x{4E0B}"), $r);
180	ok($obj->cmp("\x{32A6}", "\x{4E0B}"), $r);
181	ok($obj->cmp("\x{319B}", "\x{4E19}"), $r);
182	ok($obj->cmp("\x{2F01}", "\x{4E28}"), $r);
183	ok($obj->cmp("\x{3197}", "\x{4E2D}"), $r);
184	ok($obj->cmp("\x{32A5}", "\x{4E2D}"), $r);
185	ok($obj->cmp("\x{1F22D}", "\x{4E2D}"), $r);
186	ok($obj->cmp("\x{2F02}", "\x{4E36}"), $r);
187	ok($obj->cmp("\x{2F03}", "\x{4E3F}"), $r);
188	ok($obj->cmp("\x{2F04}", "\x{4E59}"), $r);
189	ok($obj->cmp("\x{319A}", "\x{4E59}"), $r);
190	ok($obj->cmp("\x{3288}", "\x{4E5D}"), $r);
191	ok($obj->cmp("\x{2F05}", "\x{4E85}"), $r);
192	ok($obj->cmp("\x{2F06}", "\x{4E8C}"), $r);
193	ok($obj->cmp("\x{3193}", "\x{4E8C}"), $r);
194	ok($obj->cmp("\x{3281}", "\x{4E8C}"), $r);
195	ok($obj->cmp("\x{1F214}", "\x{4E8C}"), $r);
196	ok($obj->cmp("\x{3284}", "\x{4E94}"), $r);
197	ok($obj->cmp("\x{2F07}", "\x{4EA0}"), $r);
198	ok($obj->cmp("\x{1F218}", "\x{4EA4}"), $r);
199	ok($obj->cmp("\x{2F08}", "\x{4EBA}"), $r);
200	ok($obj->cmp("\x{319F}", "\x{4EBA}"), $r);
201	ok($obj->cmp("\x{32AD}", "\x{4F01}"), $r);
202	ok($obj->cmp("\x{32A1}", "\x{4F11}"), $r);
203	ok($obj->cmp("\x{329D}", "\x{512A}"), $r);
204	ok($obj->cmp("\x{2F09}", "\x{513F}"), $r);
205	ok($obj->cmp("\x{2F0A}", "\x{5165}"), $r);
206	ok($obj->cmp("\x{2F0B}", "\x{516B}"), $r);
207	ok($obj->cmp("\x{3287}", "\x{516B}"), $r);
208	ok($obj->cmp("\x{3285}", "\x{516D}"), $r);
209	ok($obj->cmp("\x{2F0C}", "\x{5182}"), $r);
210	ok($obj->cmp("\x{1F21E}", "\x{518D}"), $r);
211	ok($obj->cmp("\x{2F0D}", "\x{5196}"), $r);
212	ok($obj->cmp("\x{32A2}", "\x{5199}"), $r);
213	ok($obj->cmp("\x{2F0E}", "\x{51AB}"), $r);
214	ok($obj->cmp("\x{2F0F}", "\x{51E0}"), $r);
215	ok($obj->cmp("\x{2F10}", "\x{51F5}"), $r);
216	ok($obj->cmp("\x{2F11}", "\x{5200}"), $r);
217	ok($obj->cmp("\x{1F220}", "\x{521D}"), $r);
218	ok($obj->cmp("\x{1F21C}", "\x{524D}"), $r);
219	ok($obj->cmp("\x{1F239}", "\x{5272}"), $r);
220	ok($obj->cmp("\x{2F12}", "\x{529B}"), $r);
221	ok($obj->cmp("\x{3298}", "\x{52B4}"), $r);
222	ok($obj->cmp("\x{2F13}", "\x{52F9}"), $r);
223	ok($obj->cmp("\x{2F14}", "\x{5315}"), $r);
224	ok($obj->cmp("\x{2F15}", "\x{531A}"), $r);
225	ok($obj->cmp("\x{2F16}", "\x{5338}"), $r);
226	ok($obj->cmp("\x{32A9}", "\x{533B}"), $r);
227	ok($obj->cmp("\x{2F17}", "\x{5341}"), $r);
228	ok($obj->cmp("\x{3038}", "\x{5341}"), $r);
229	ok($obj->cmp("\x{3289}", "\x{5341}"), $r);
230	ok($obj->cmp("\x{3039}", "\x{5344}"), $r);
231	ok($obj->cmp("\x{303A}", "\x{5345}"), $r);
232	ok($obj->cmp("\x{32AF}", "\x{5354}"), $r);
233	ok($obj->cmp("\x{2F18}", "\x{535C}"), $r);
234	ok($obj->cmp("\x{2F19}", "\x{5369}"), $r);
235	ok($obj->cmp("\x{329E}", "\x{5370}"), $r);
236	ok($obj->cmp("\x{2F1A}", "\x{5382}"), $r);
237	ok($obj->cmp("\x{2F1B}", "\x{53B6}"), $r);
238	ok($obj->cmp("\x{2F1C}", "\x{53C8}"), $r);
239	ok($obj->cmp("\x{1F212}", "\x{53CC}"), $r);
240	ok($obj->cmp("\x{2F1D}", "\x{53E3}"), $r);
241	ok($obj->cmp("\x{1F251}", "\x{53EF}"), $r);
242	ok($obj->cmp("\x{32A8}", "\x{53F3}"), $r);
243	ok($obj->cmp("\x{1F22E}", "\x{53F3}"), $r);
244	ok($obj->cmp("\x{1F234}", "\x{5408}"), $r);
245	ok($obj->cmp("\x{3294}", "\x{540D}"), $r);
246	ok($obj->cmp("\x{1F225}", "\x{5439}"), $r);
247	ok($obj->cmp("\x{3244}", "\x{554F}"), $r);
248	ok($obj->cmp("\x{1F23A}", "\x{55B6}"), $r);
249	ok($obj->cmp("\x{2F1E}", "\x{56D7}"), $r);
250	ok($obj->cmp("\x{3195}", "\x{56DB}"), $r);
251	ok($obj->cmp("\x{3283}", "\x{56DB}"), $r);
252	ok($obj->cmp("\x{2F1F}", "\x{571F}"), $r);
253	ok($obj->cmp("\x{328F}", "\x{571F}"), $r);
254	ok($obj->cmp("\x{319E}", "\x{5730}"), $r);
255	ok($obj->cmp("\x{2F20}", "\x{58EB}"), $r);
256	ok($obj->cmp("\x{1F224}", "\x{58F0}"), $r);
257	ok($obj->cmp("\x{2F21}", "\x{5902}"), $r);
258	ok($obj->cmp("\x{2F22}", "\x{590A}"), $r);
259	ok($obj->cmp("\x{2F23}", "\x{5915}"), $r);
260	ok($obj->cmp("\x{1F215}", "\x{591A}"), $r);
261	ok($obj->cmp("\x{32B0}", "\x{591C}"), $r);
262	ok($obj->cmp("\x{2F24}", "\x{5927}"), $r);
263	ok($obj->cmp("\x{337D}", "\x{5927}\x{6B63}"), $r);
264	ok($obj->cmp("\x{319D}", "\x{5929}"), $r);
265	ok($obj->cmp("\x{1F217}", "\x{5929}"), $r);
266	ok($obj->cmp("\x{2F25}", "\x{5973}"), $r);
267	ok($obj->cmp("\x{329B}", "\x{5973}"), $r);
268	ok($obj->cmp("\x{2F26}", "\x{5B50}"), $r);
269	ok($obj->cmp("\x{1F211}", "\x{5B57}"), $r);
270	ok($obj->cmp("\x{32AB}", "\x{5B66}"), $r);
271	ok($obj->cmp("\x{2F27}", "\x{5B80}"), $r);
272	ok($obj->cmp("\x{32AA}", "\x{5B97}"), $r);
273	ok($obj->cmp("\x{2F28}", "\x{5BF8}"), $r);
274	ok($obj->cmp("\x{2F29}", "\x{5C0F}"), $r);
275	ok($obj->cmp("\x{2F2A}", "\x{5C22}"), $r);
276	ok($obj->cmp("\x{2F2B}", "\x{5C38}"), $r);
277	ok($obj->cmp("\x{2F2C}", "\x{5C6E}"), $r);
278	ok($obj->cmp("\x{2F2D}", "\x{5C71}"), $r);
279	ok($obj->cmp("\x{2F2E}", "\x{5DDB}"), $r);
280	ok($obj->cmp("\x{2F2F}", "\x{5DE5}"), $r);
281	ok($obj->cmp("\x{32A7}", "\x{5DE6}"), $r);
282	ok($obj->cmp("\x{1F22C}", "\x{5DE6}"), $r);
283	ok($obj->cmp("\x{2F30}", "\x{5DF1}"), $r);
284	ok($obj->cmp("\x{2F31}", "\x{5DFE}"), $r);
285	ok($obj->cmp("\x{2F32}", "\x{5E72}"), $r);
286	ok($obj->cmp("\x{337B}", "\x{5E73}\x{6210}"), $r);
287	ok($obj->cmp("\x{2F33}", "\x{5E7A}"), $r);
288	ok($obj->cmp("\x{3245}", "\x{5E7C}"), $r);
289	ok($obj->cmp("\x{2F34}", "\x{5E7F}"), $r);
290	ok($obj->cmp("\x{2F35}", "\x{5EF4}"), $r);
291	ok($obj->cmp("\x{2F36}", "\x{5EFE}"), $r);
292	ok($obj->cmp("\x{2F37}", "\x{5F0B}"), $r);
293	ok($obj->cmp("\x{2F38}", "\x{5F13}"), $r);
294	ok($obj->cmp("\x{2F39}", "\x{5F50}"), $r);
295	ok($obj->cmp("\x{2F3A}", "\x{5F61}"), $r);
296	ok($obj->cmp("\x{2F3B}", "\x{5F73}"), $r);
297	ok($obj->cmp("\x{1F21D}", "\x{5F8C}"), $r);
298	ok($obj->cmp("\x{1F250}", "\x{5F97}"), $r);
299	ok($obj->cmp("\x{2F3C}", "\x{5FC3}"), $r);
300	ok($obj->cmp("\x{2F3D}", "\x{6208}"), $r);
301	ok($obj->cmp("\x{2F3E}", "\x{6236}"), $r);
302	ok($obj->cmp("\x{2F3F}", "\x{624B}"), $r);
303	ok($obj->cmp("\x{1F210}", "\x{624B}"), $r);
304	ok($obj->cmp("\x{1F231}", "\x{6253}"), $r);
305	ok($obj->cmp("\x{1F227}", "\x{6295}"), $r);
306	ok($obj->cmp("\x{1F22F}", "\x{6307}"), $r);
307	ok($obj->cmp("\x{1F228}", "\x{6355}"), $r);
308	ok($obj->cmp("\x{2F40}", "\x{652F}"), $r);
309	ok($obj->cmp("\x{2F41}", "\x{6534}"), $r);
310	ok($obj->cmp("\x{2F42}", "\x{6587}"), $r);
311	ok($obj->cmp("\x{3246}", "\x{6587}"), $r);
312	ok($obj->cmp("\x{2F43}", "\x{6597}"), $r);
313	ok($obj->cmp("\x{1F21B}", "\x{6599}"), $r);
314	ok($obj->cmp("\x{2F44}", "\x{65A4}"), $r);
315	ok($obj->cmp("\x{1F21F}", "\x{65B0}"), $r);
316	ok($obj->cmp("\x{2F45}", "\x{65B9}"), $r);
317	ok($obj->cmp("\x{2F46}", "\x{65E0}"), $r);
318	ok($obj->cmp("\x{2F47}", "\x{65E5}"), $r);
319	ok($obj->cmp("\x{3290}", "\x{65E5}"), $r);
320	ok($obj->cmp("\x{337E}", "\x{660E}\x{6CBB}"), $r);
321	ok($obj->cmp("\x{1F219}", "\x{6620}"), $r);
322	ok($obj->cmp("\x{337C}", "\x{662D}\x{548C}"), $r);
323	ok($obj->cmp("\x{2F48}", "\x{66F0}"), $r);
324	ok($obj->cmp("\x{2F49}", "\x{6708}"), $r);
325	ok($obj->cmp("\x{328A}", "\x{6708}"), $r);
326	ok($obj->cmp("\x{1F237}", "\x{6708}"), $r);
327	ok($obj->cmp("\x{3292}", "\x{6709}"), $r);
328	ok($obj->cmp("\x{1F236}", "\x{6709}"), $r);
329	ok($obj->cmp("\x{2F4A}", "\x{6728}"), $r);
330	ok($obj->cmp("\x{328D}", "\x{6728}"), $r);
331	ok($obj->cmp("\x{3291}", "\x{682A}"), $r);
332	ok($obj->cmp("\x{337F}", "\x{682A}\x{5F0F}\x{4F1A}\x{793E}"), $r);
333	ok($obj->cmp("\x{2F4B}", "\x{6B20}"), $r);
334	ok($obj->cmp("\x{2F4C}", "\x{6B62}"), $r);
335	ok($obj->cmp("\x{32A3}", "\x{6B63}"), $r);
336	ok($obj->cmp("\x{2F4D}", "\x{6B79}"), $r);
337	ok($obj->cmp("\x{2F4E}", "\x{6BB3}"), $r);
338	ok($obj->cmp("\x{2F4F}", "\x{6BCB}"), $r);
339	ok($obj->cmp("\x{2E9F}", "\x{6BCD}"), $r);
340	ok($obj->cmp("\x{2F50}", "\x{6BD4}"), $r);
341	ok($obj->cmp("\x{2F51}", "\x{6BDB}"), $r);
342	ok($obj->cmp("\x{2F52}", "\x{6C0F}"), $r);
343	ok($obj->cmp("\x{2F53}", "\x{6C14}"), $r);
344	ok($obj->cmp("\x{2F54}", "\x{6C34}"), $r);
345	ok($obj->cmp("\x{328C}", "\x{6C34}"), $r);
346	ok($obj->cmp("\x{329F}", "\x{6CE8}"), $r);
347	ok($obj->cmp("\x{1F235}", "\x{6E80}"), $r);
348	ok($obj->cmp("\x{1F226}", "\x{6F14}"), $r);
349	ok($obj->cmp("\x{2F55}", "\x{706B}"), $r);
350	ok($obj->cmp("\x{328B}", "\x{706B}"), $r);
351	ok($obj->cmp("\x{1F21A}", "\x{7121}"), $r);
352	ok($obj->cmp("\x{2F56}", "\x{722A}"), $r);
353	ok($obj->cmp("\x{2F57}", "\x{7236}"), $r);
354	ok($obj->cmp("\x{2F58}", "\x{723B}"), $r);
355	ok($obj->cmp("\x{2F59}", "\x{723F}"), $r);
356	ok($obj->cmp("\x{2F5A}", "\x{7247}"), $r);
357	ok($obj->cmp("\x{2F5B}", "\x{7259}"), $r);
358	ok($obj->cmp("\x{2F5C}", "\x{725B}"), $r);
359	ok($obj->cmp("\x{3295}", "\x{7279}"), $r);
360	ok($obj->cmp("\x{2F5D}", "\x{72AC}"), $r);
361	ok($obj->cmp("\x{2F5E}", "\x{7384}"), $r);
362	ok($obj->cmp("\x{2F5F}", "\x{7389}"), $r);
363	ok($obj->cmp("\x{2F60}", "\x{74DC}"), $r);
364	ok($obj->cmp("\x{2F61}", "\x{74E6}"), $r);
365	ok($obj->cmp("\x{2F62}", "\x{7518}"), $r);
366	ok($obj->cmp("\x{2F63}", "\x{751F}"), $r);
367	ok($obj->cmp("\x{1F222}", "\x{751F}"), $r);
368	ok($obj->cmp("\x{2F64}", "\x{7528}"), $r);
369	ok($obj->cmp("\x{2F65}", "\x{7530}"), $r);
370	ok($obj->cmp("\x{3199}", "\x{7532}"), $r);
371	ok($obj->cmp("\x{1F238}", "\x{7533}"), $r);
372	ok($obj->cmp("\x{329A}", "\x{7537}"), $r);
373	ok($obj->cmp("\x{2F66}", "\x{758B}"), $r);
374	ok($obj->cmp("\x{2F67}", "\x{7592}"), $r);
375	ok($obj->cmp("\x{2F68}", "\x{7676}"), $r);
376	ok($obj->cmp("\x{2F69}", "\x{767D}"), $r);
377	ok($obj->cmp("\x{2F6A}", "\x{76AE}"), $r);
378	ok($obj->cmp("\x{2F6B}", "\x{76BF}"), $r);
379	ok($obj->cmp("\x{32AC}", "\x{76E3}"), $r);
380	ok($obj->cmp("\x{2F6C}", "\x{76EE}"), $r);
381	ok($obj->cmp("\x{2F6D}", "\x{77DB}"), $r);
382	ok($obj->cmp("\x{2F6E}", "\x{77E2}"), $r);
383	ok($obj->cmp("\x{2F6F}", "\x{77F3}"), $r);
384	ok($obj->cmp("\x{2F70}", "\x{793A}"), $r);
385	ok($obj->cmp("\x{3293}", "\x{793E}"), $r);
386	ok($obj->cmp("\x{3297}", "\x{795D}"), $r);
387	ok($obj->cmp("\x{1F232}", "\x{7981}"), $r);
388	ok($obj->cmp("\x{2F71}", "\x{79B8}"), $r);
389	ok($obj->cmp("\x{2F72}", "\x{79BE}"), $r);
390	ok($obj->cmp("\x{3299}", "\x{79D8}"), $r);
391	ok($obj->cmp("\x{2F73}", "\x{7A74}"), $r);
392	ok($obj->cmp("\x{1F233}", "\x{7A7A}"), $r);
393	ok($obj->cmp("\x{2F74}", "\x{7ACB}"), $r);
394	ok($obj->cmp("\x{2F75}", "\x{7AF9}"), $r);
395	ok($obj->cmp("\x{3247}", "\x{7B8F}"), $r);
396	ok($obj->cmp("\x{2F76}", "\x{7C73}"), $r);
397	ok($obj->cmp("\x{2F77}", "\x{7CF8}"), $r);
398	ok($obj->cmp("\x{1F221}", "\x{7D42}"), $r);
399	ok($obj->cmp("\x{2F78}", "\x{7F36}"), $r);
400	ok($obj->cmp("\x{2F79}", "\x{7F51}"), $r);
401	ok($obj->cmp("\x{2F7A}", "\x{7F8A}"), $r);
402	ok($obj->cmp("\x{2F7B}", "\x{7FBD}"), $r);
403	ok($obj->cmp("\x{2F7C}", "\x{8001}"), $r);
404	ok($obj->cmp("\x{2F7D}", "\x{800C}"), $r);
405	ok($obj->cmp("\x{2F7E}", "\x{8012}"), $r);
406	ok($obj->cmp("\x{2F7F}", "\x{8033}"), $r);
407	ok($obj->cmp("\x{2F80}", "\x{807F}"), $r);
408	ok($obj->cmp("\x{2F81}", "\x{8089}"), $r);
409	ok($obj->cmp("\x{2F82}", "\x{81E3}"), $r);
410	ok($obj->cmp("\x{2F83}", "\x{81EA}"), $r);
411	ok($obj->cmp("\x{2F84}", "\x{81F3}"), $r);
412	ok($obj->cmp("\x{2F85}", "\x{81FC}"), $r);
413	ok($obj->cmp("\x{2F86}", "\x{820C}"), $r);
414	ok($obj->cmp("\x{2F87}", "\x{821B}"), $r);
415	ok($obj->cmp("\x{2F88}", "\x{821F}"), $r);
416	ok($obj->cmp("\x{2F89}", "\x{826E}"), $r);
417	ok($obj->cmp("\x{2F8A}", "\x{8272}"), $r);
418	ok($obj->cmp("\x{2F8B}", "\x{8278}"), $r);
419	ok($obj->cmp("\x{2F8C}", "\x{864D}"), $r);
420	ok($obj->cmp("\x{2F8D}", "\x{866B}"), $r);
421	ok($obj->cmp("\x{2F8E}", "\x{8840}"), $r);
422	ok($obj->cmp("\x{2F8F}", "\x{884C}"), $r);
423	ok($obj->cmp("\x{2F90}", "\x{8863}"), $r);
424	ok($obj->cmp("\x{2F91}", "\x{897E}"), $r);
425	ok($obj->cmp("\x{2F92}", "\x{898B}"), $r);
426	ok($obj->cmp("\x{2F93}", "\x{89D2}"), $r);
427	ok($obj->cmp("\x{1F216}", "\x{89E3}"), $r);
428	ok($obj->cmp("\x{2F94}", "\x{8A00}"), $r);
429	ok($obj->cmp("\x{2F95}", "\x{8C37}"), $r);
430	ok($obj->cmp("\x{2F96}", "\x{8C46}"), $r);
431	ok($obj->cmp("\x{2F97}", "\x{8C55}"), $r);
432	ok($obj->cmp("\x{2F98}", "\x{8C78}"), $r);
433	ok($obj->cmp("\x{2F99}", "\x{8C9D}"), $r);
434	ok($obj->cmp("\x{3296}", "\x{8CA1}"), $r);
435	ok($obj->cmp("\x{1F223}", "\x{8CA9}"), $r);
436	ok($obj->cmp("\x{32AE}", "\x{8CC7}"), $r);
437	ok($obj->cmp("\x{2F9A}", "\x{8D64}"), $r);
438	ok($obj->cmp("\x{2F9B}", "\x{8D70}"), $r);
439	ok($obj->cmp("\x{1F230}", "\x{8D70}"), $r);
440	ok($obj->cmp("\x{2F9C}", "\x{8DB3}"), $r);
441	ok($obj->cmp("\x{2F9D}", "\x{8EAB}"), $r);
442	ok($obj->cmp("\x{2F9E}", "\x{8ECA}"), $r);
443	ok($obj->cmp("\x{2F9F}", "\x{8F9B}"), $r);
444	ok($obj->cmp("\x{2FA0}", "\x{8FB0}"), $r);
445	ok($obj->cmp("\x{2FA1}", "\x{8FB5}"), $r);
446	ok($obj->cmp("\x{1F22B}", "\x{904A}"), $r);
447	ok($obj->cmp("\x{329C}", "\x{9069}"), $r);
448	ok($obj->cmp("\x{2FA2}", "\x{9091}"), $r);
449	ok($obj->cmp("\x{2FA3}", "\x{9149}"), $r);
450	ok($obj->cmp("\x{2FA4}", "\x{91C6}"), $r);
451	ok($obj->cmp("\x{2FA5}", "\x{91CC}"), $r);
452	ok($obj->cmp("\x{2FA6}", "\x{91D1}"), $r);
453	ok($obj->cmp("\x{328E}", "\x{91D1}"), $r);
454	ok($obj->cmp("\x{2FA7}", "\x{9577}"), $r);
455	ok($obj->cmp("\x{2FA8}", "\x{9580}"), $r);
456	ok($obj->cmp("\x{2FA9}", "\x{961C}"), $r);
457	ok($obj->cmp("\x{2FAA}", "\x{96B6}"), $r);
458	ok($obj->cmp("\x{2FAB}", "\x{96B9}"), $r);
459	ok($obj->cmp("\x{2FAC}", "\x{96E8}"), $r);
460	ok($obj->cmp("\x{2FAD}", "\x{9751}"), $r);
461	ok($obj->cmp("\x{2FAE}", "\x{975E}"), $r);
462	ok($obj->cmp("\x{2FAF}", "\x{9762}"), $r);
463	ok($obj->cmp("\x{2FB0}", "\x{9769}"), $r);
464	ok($obj->cmp("\x{2FB1}", "\x{97CB}"), $r);
465	ok($obj->cmp("\x{2FB2}", "\x{97ED}"), $r);
466	ok($obj->cmp("\x{2FB3}", "\x{97F3}"), $r);
467	ok($obj->cmp("\x{2FB4}", "\x{9801}"), $r);
468	ok($obj->cmp("\x{32A0}", "\x{9805}"), $r);
469	ok($obj->cmp("\x{2FB5}", "\x{98A8}"), $r);
470	ok($obj->cmp("\x{2FB6}", "\x{98DB}"), $r);
471	ok($obj->cmp("\x{2FB7}", "\x{98DF}"), $r);
472	ok($obj->cmp("\x{2FB8}", "\x{9996}"), $r);
473	ok($obj->cmp("\x{2FB9}", "\x{9999}"), $r);
474	ok($obj->cmp("\x{2FBA}", "\x{99AC}"), $r);
475	ok($obj->cmp("\x{2FBB}", "\x{9AA8}"), $r);
476	ok($obj->cmp("\x{2FBC}", "\x{9AD8}"), $r);
477	ok($obj->cmp("\x{2FBD}", "\x{9ADF}"), $r);
478	ok($obj->cmp("\x{2FBE}", "\x{9B25}"), $r);
479	ok($obj->cmp("\x{2FBF}", "\x{9B2F}"), $r);
480	ok($obj->cmp("\x{2FC0}", "\x{9B32}"), $r);
481	ok($obj->cmp("\x{2FC1}", "\x{9B3C}"), $r);
482	ok($obj->cmp("\x{2FC2}", "\x{9B5A}"), $r);
483	ok($obj->cmp("\x{2FC3}", "\x{9CE5}"), $r);
484	ok($obj->cmp("\x{2FC4}", "\x{9E75}"), $r);
485	ok($obj->cmp("\x{2FC5}", "\x{9E7F}"), $r);
486	ok($obj->cmp("\x{2FC6}", "\x{9EA5}"), $r);
487	ok($obj->cmp("\x{2FC7}", "\x{9EBB}"), $r);
488	ok($obj->cmp("\x{2FC8}", "\x{9EC3}"), $r);
489	ok($obj->cmp("\x{2FC9}", "\x{9ECD}"), $r);
490	ok($obj->cmp("\x{2FCA}", "\x{9ED1}"), $r);
491	ok($obj->cmp("\x{2FCB}", "\x{9EF9}"), $r);
492	ok($obj->cmp("\x{2FCC}", "\x{9EFD}"), $r);
493	ok($obj->cmp("\x{2FCD}", "\x{9F0E}"), $r);
494	ok($obj->cmp("\x{2FCE}", "\x{9F13}"), $r);
495	ok($obj->cmp("\x{2FCF}", "\x{9F20}"), $r);
496	ok($obj->cmp("\x{2FD0}", "\x{9F3B}"), $r);
497	ok($obj->cmp("\x{2FD1}", "\x{9F4A}"), $r);
498	ok($obj->cmp("\x{2FD2}", "\x{9F52}"), $r);
499	ok($obj->cmp("\x{2FD3}", "\x{9F8D}"), $r);
500	ok($obj->cmp("\x{2FD4}", "\x{9F9C}"), $r);
501	ok($obj->cmp("\x{2EF3}", "\x{9F9F}"), $r);
502	ok($obj->cmp("\x{2FD5}", "\x{9FA0}"), $r);
503    }
504}
505