1
2BEGIN {
3    unless ('A' eq pack('U', 0x41)) {
4	print "1..0 # Unicode::Collate cannot pack a Unicode code point\n";
5	exit 0;
6    }
7    unless (0x41 == unpack('U', 'A')) {
8	print "1..0 # Unicode::Collate cannot get a Unicode code point\n";
9	exit 0;
10    }
11    if ($ENV{PERL_CORE}) {
12	chdir('t') if -d 't';
13	@INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
14    }
15}
16
17use strict;
18use warnings;
19BEGIN { $| = 1; print "1..528\n"; }
20my $count = 0;
21sub ok ($;$) {
22    my $p = my $r = shift;
23    if (@_) {
24	my $x = shift;
25	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
26    }
27    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
28}
29
30use Unicode::Collate::Locale;
31
32ok(1);
33
34#########################
35
36my $objJa = Unicode::Collate::Locale->
37    new(locale => 'JA', normalization => undef);
38
39ok($objJa->getlocale, 'ja');
40
41$objJa->change(level => 1);
42
43# first ten kanji
44ok($objJa->lt("\x{4E9C}", "\x{5516}"));
45ok($objJa->lt("\x{5516}", "\x{5A03}"));
46ok($objJa->lt("\x{5A03}", "\x{963F}"));
47ok($objJa->lt("\x{963F}", "\x{54C0}"));
48ok($objJa->lt("\x{54C0}", "\x{611B}"));
49ok($objJa->lt("\x{611B}", "\x{6328}"));
50ok($objJa->lt("\x{6328}", "\x{59F6}"));
51ok($objJa->lt("\x{59F6}", "\x{9022}"));
52ok($objJa->lt("\x{9022}", "\x{8475}"));
53
54# last five kanji and undef
55ok($objJa->lt("\x{69C7}", "\x{9059}"));
56ok($objJa->lt("\x{9059}", "\x{7464}"));
57ok($objJa->lt("\x{7464}", "\x{51DC}"));
58ok($objJa->lt("\x{51DC}", "\x{7199}"));
59ok($objJa->lt("\x{7199}", "\x{4E02}")); # 4E02: UIdeo undef in JIS X 0208
60ok($objJa->lt("\x{4E02}", "\x{3400}")); # 3400: Ext.A undef in JIS X 0208
61
62# Ext.B
63ok($objJa->lt("\x{20000}", "\x{20001}"));
64ok($objJa->lt("\x{20001}", "\x{20002}"));
65ok($objJa->lt("\x{20002}", "\x{20003}"));
66ok($objJa->lt("\x{20003}", "\x{20004}"));
67ok($objJa->lt("\x{20004}", "\x{20005}"));
68
69# 22
70
71$objJa->change(overrideCJK => undef);
72
73ok($objJa->lt("\x{4E00}", "\x{4E01}"));
74ok($objJa->lt("\x{4E01}", "\x{4E02}"));
75ok($objJa->lt("\x{4E02}", "\x{4E03}"));
76ok($objJa->lt("\x{4E03}", "\x{4E04}"));
77ok($objJa->lt("\x{4E04}", "\x{4E05}"));
78
79ok($objJa->lt("\x{9F9B}", "\x{9F9C}"));
80ok($objJa->lt("\x{9F9C}", "\x{9F9D}"));
81ok($objJa->lt("\x{9F9D}", "\x{9F9E}"));
82ok($objJa->lt("\x{9F9E}", "\x{9F9F}"));
83ok($objJa->lt("\x{9F9F}", "\x{9FA0}"));
84
85# 32
86
87$objJa->change(level => 3);
88
89ok($objJa->eq("\x{3041}", "\x{30A1}"));
90ok($objJa->eq("\x{3042}", "\x{30A2}"));
91ok($objJa->eq("\x{3043}", "\x{30A3}"));
92ok($objJa->eq("\x{3044}", "\x{30A4}"));
93ok($objJa->eq("\x{3045}", "\x{30A5}"));
94ok($objJa->eq("\x{3046}", "\x{30A6}"));
95ok($objJa->eq("\x{3047}", "\x{30A7}"));
96ok($objJa->eq("\x{3048}", "\x{30A8}"));
97ok($objJa->eq("\x{3049}", "\x{30A9}"));
98ok($objJa->eq("\x{304A}", "\x{30AA}"));
99ok($objJa->eq("\x{304B}", "\x{30AB}"));
100ok($objJa->eq("\x{304C}", "\x{30AC}"));
101ok($objJa->eq("\x{304D}", "\x{30AD}"));
102ok($objJa->eq("\x{304E}", "\x{30AE}"));
103ok($objJa->eq("\x{304F}", "\x{30AF}"));
104ok($objJa->eq("\x{3050}", "\x{30B0}"));
105ok($objJa->eq("\x{3051}", "\x{30B1}"));
106ok($objJa->eq("\x{3052}", "\x{30B2}"));
107ok($objJa->eq("\x{3053}", "\x{30B3}"));
108ok($objJa->eq("\x{3054}", "\x{30B4}"));
109ok($objJa->eq("\x{3055}", "\x{30B5}"));
110ok($objJa->eq("\x{3056}", "\x{30B6}"));
111ok($objJa->eq("\x{3057}", "\x{30B7}"));
112ok($objJa->eq("\x{3058}", "\x{30B8}"));
113ok($objJa->eq("\x{3059}", "\x{30B9}"));
114ok($objJa->eq("\x{305A}", "\x{30BA}"));
115ok($objJa->eq("\x{305B}", "\x{30BB}"));
116ok($objJa->eq("\x{305C}", "\x{30BC}"));
117ok($objJa->eq("\x{305D}", "\x{30BD}"));
118ok($objJa->eq("\x{305E}", "\x{30BE}"));
119ok($objJa->eq("\x{305F}", "\x{30BF}"));
120ok($objJa->eq("\x{3060}", "\x{30C0}"));
121ok($objJa->eq("\x{3061}", "\x{30C1}"));
122ok($objJa->eq("\x{3062}", "\x{30C2}"));
123ok($objJa->eq("\x{3063}", "\x{30C3}"));
124ok($objJa->eq("\x{3064}", "\x{30C4}"));
125ok($objJa->eq("\x{3065}", "\x{30C5}"));
126ok($objJa->eq("\x{3066}", "\x{30C6}"));
127ok($objJa->eq("\x{3067}", "\x{30C7}"));
128ok($objJa->eq("\x{3068}", "\x{30C8}"));
129ok($objJa->eq("\x{3069}", "\x{30C9}"));
130ok($objJa->eq("\x{306A}", "\x{30CA}"));
131ok($objJa->eq("\x{306B}", "\x{30CB}"));
132ok($objJa->eq("\x{306C}", "\x{30CC}"));
133ok($objJa->eq("\x{306D}", "\x{30CD}"));
134ok($objJa->eq("\x{306E}", "\x{30CE}"));
135ok($objJa->eq("\x{306F}", "\x{30CF}"));
136ok($objJa->eq("\x{3070}", "\x{30D0}"));
137ok($objJa->eq("\x{3071}", "\x{30D1}"));
138ok($objJa->eq("\x{3072}", "\x{30D2}"));
139ok($objJa->eq("\x{3073}", "\x{30D3}"));
140ok($objJa->eq("\x{3074}", "\x{30D4}"));
141ok($objJa->eq("\x{3075}", "\x{30D5}"));
142ok($objJa->eq("\x{3076}", "\x{30D6}"));
143ok($objJa->eq("\x{3077}", "\x{30D7}"));
144ok($objJa->eq("\x{3078}", "\x{30D8}"));
145ok($objJa->eq("\x{3079}", "\x{30D9}"));
146ok($objJa->eq("\x{307A}", "\x{30DA}"));
147ok($objJa->eq("\x{307B}", "\x{30DB}"));
148ok($objJa->eq("\x{307C}", "\x{30DC}"));
149ok($objJa->eq("\x{307D}", "\x{30DD}"));
150ok($objJa->eq("\x{307E}", "\x{30DE}"));
151ok($objJa->eq("\x{307F}", "\x{30DF}"));
152ok($objJa->eq("\x{3080}", "\x{30E0}"));
153ok($objJa->eq("\x{3081}", "\x{30E1}"));
154ok($objJa->eq("\x{3082}", "\x{30E2}"));
155ok($objJa->eq("\x{3083}", "\x{30E3}"));
156ok($objJa->eq("\x{3084}", "\x{30E4}"));
157ok($objJa->eq("\x{3085}", "\x{30E5}"));
158ok($objJa->eq("\x{3086}", "\x{30E6}"));
159ok($objJa->eq("\x{3087}", "\x{30E7}"));
160ok($objJa->eq("\x{3088}", "\x{30E8}"));
161ok($objJa->eq("\x{3089}", "\x{30E9}"));
162ok($objJa->eq("\x{308A}", "\x{30EA}"));
163ok($objJa->eq("\x{308B}", "\x{30EB}"));
164ok($objJa->eq("\x{308C}", "\x{30EC}"));
165ok($objJa->eq("\x{308D}", "\x{30ED}"));
166ok($objJa->eq("\x{308E}", "\x{30EE}"));
167ok($objJa->eq("\x{308F}", "\x{30EF}"));
168ok($objJa->eq("\x{3090}", "\x{30F0}"));
169ok($objJa->eq("\x{3091}", "\x{30F1}"));
170ok($objJa->eq("\x{3092}", "\x{30F2}"));
171ok($objJa->eq("\x{3093}", "\x{30F3}"));
172ok($objJa->eq("\x{3094}", "\x{30F4}"));
173ok($objJa->eq("\x{3095}", "\x{30F5}"));
174ok($objJa->eq("\x{3096}", "\x{30F6}"));
175ok($objJa->eq("\x{309D}", "\x{30FD}"));
176ok($objJa->eq("\x{309E}", "\x{30FE}"));
177
178# 120
179
180$objJa->change(variable => 'Non-ignorable');
181
182ok($objJa->eq("\x{3000}", "\ "));
183ok($objJa->eq("\x{FF01}", "\!"));
184ok($objJa->eq("\x{FF02}", "\""));
185ok($objJa->eq("\x{FF03}", "\#"));
186ok($objJa->eq("\x{FF04}", "\$"));
187ok($objJa->eq("\x{FF05}", "\%"));
188ok($objJa->eq("\x{FF06}", "\&"));
189ok($objJa->eq("\x{FF07}", "\'"));
190ok($objJa->eq("\x{FF08}", "\("));
191ok($objJa->eq("\x{FF09}", "\)"));
192ok($objJa->eq("\x{FF0A}", "\*"));
193ok($objJa->eq("\x{FF0B}", "\+"));
194ok($objJa->eq("\x{FF0C}", "\,"));
195ok($objJa->eq("\x{FF0D}", "\-"));
196ok($objJa->eq("\x{FF0E}", "\."));
197ok($objJa->eq("\x{FF0F}", "\/"));
198ok($objJa->eq("\x{FF10}", "0"));
199ok($objJa->eq("\x{FF11}", "1"));
200ok($objJa->eq("\x{FF12}", "2"));
201ok($objJa->eq("\x{FF13}", "3"));
202ok($objJa->eq("\x{FF14}", "4"));
203ok($objJa->eq("\x{FF15}", "5"));
204ok($objJa->eq("\x{FF16}", "6"));
205ok($objJa->eq("\x{FF17}", "7"));
206ok($objJa->eq("\x{FF18}", "8"));
207ok($objJa->eq("\x{FF19}", "9"));
208ok($objJa->eq("\x{FF1A}", "\:"));
209ok($objJa->eq("\x{FF1B}", "\;"));
210ok($objJa->eq("\x{FF1C}", "\<"));
211ok($objJa->eq("\x{FF1D}", "\="));
212ok($objJa->eq("\x{FF1E}", "\>"));
213ok($objJa->eq("\x{FF1F}", "\?"));
214ok($objJa->eq("\x{FF20}", "\@"));
215ok($objJa->eq("\x{FF21}", "A"));
216ok($objJa->eq("\x{FF22}", "B"));
217ok($objJa->eq("\x{FF23}", "C"));
218ok($objJa->eq("\x{FF24}", "D"));
219ok($objJa->eq("\x{FF25}", "E"));
220ok($objJa->eq("\x{FF26}", "F"));
221ok($objJa->eq("\x{FF27}", "G"));
222ok($objJa->eq("\x{FF28}", "H"));
223ok($objJa->eq("\x{FF29}", "I"));
224ok($objJa->eq("\x{FF2A}", "J"));
225ok($objJa->eq("\x{FF2B}", "K"));
226ok($objJa->eq("\x{FF2C}", "L"));
227ok($objJa->eq("\x{FF2D}", "M"));
228ok($objJa->eq("\x{FF2E}", "N"));
229ok($objJa->eq("\x{FF2F}", "O"));
230ok($objJa->eq("\x{FF30}", "P"));
231ok($objJa->eq("\x{FF31}", "Q"));
232ok($objJa->eq("\x{FF32}", "R"));
233ok($objJa->eq("\x{FF33}", "S"));
234ok($objJa->eq("\x{FF34}", "T"));
235ok($objJa->eq("\x{FF35}", "U"));
236ok($objJa->eq("\x{FF36}", "V"));
237ok($objJa->eq("\x{FF37}", "W"));
238ok($objJa->eq("\x{FF38}", "X"));
239ok($objJa->eq("\x{FF39}", "Y"));
240ok($objJa->eq("\x{FF3A}", "Z"));
241ok($objJa->eq("\x{FF3B}", "\["));
242ok($objJa->eq("\x{FF3C}", "\'"));
243ok($objJa->eq("\x{FF3D}", "\]"));
244ok($objJa->eq("\x{FF3E}", "\^"));
245ok($objJa->eq("\x{FF3F}", "_"));
246ok($objJa->eq("\x{FF40}", "\`"));
247ok($objJa->eq("\x{FF41}", "a"));
248ok($objJa->eq("\x{FF42}", "b"));
249ok($objJa->eq("\x{FF43}", "c"));
250ok($objJa->eq("\x{FF44}", "d"));
251ok($objJa->eq("\x{FF45}", "e"));
252ok($objJa->eq("\x{FF46}", "f"));
253ok($objJa->eq("\x{FF47}", "g"));
254ok($objJa->eq("\x{FF48}", "h"));
255ok($objJa->eq("\x{FF49}", "i"));
256ok($objJa->eq("\x{FF4A}", "j"));
257ok($objJa->eq("\x{FF4B}", "k"));
258ok($objJa->eq("\x{FF4C}", "l"));
259ok($objJa->eq("\x{FF4D}", "m"));
260ok($objJa->eq("\x{FF4E}", "n"));
261ok($objJa->eq("\x{FF4F}", "o"));
262ok($objJa->eq("\x{FF50}", "p"));
263ok($objJa->eq("\x{FF51}", "q"));
264ok($objJa->eq("\x{FF52}", "r"));
265ok($objJa->eq("\x{FF53}", "s"));
266ok($objJa->eq("\x{FF54}", "t"));
267ok($objJa->eq("\x{FF55}", "u"));
268ok($objJa->eq("\x{FF56}", "v"));
269ok($objJa->eq("\x{FF57}", "w"));
270ok($objJa->eq("\x{FF58}", "x"));
271ok($objJa->eq("\x{FF59}", "y"));
272ok($objJa->eq("\x{FF5A}", "z"));
273ok($objJa->eq("\x{FF5B}", "\{"));
274ok($objJa->eq("\x{FF5C}", "\|"));
275ok($objJa->eq("\x{FF5D}", "\}"));
276ok($objJa->eq("\x{FF5E}", "\~"));
277ok($objJa->eq("\x{FF5F}", "\x{2985}"));
278ok($objJa->eq("\x{FF60}", "\x{2986}"));
279ok($objJa->eq("\x{FF61}", "\x{3002}"));
280ok($objJa->eq("\x{FF62}", "\x{300C}"));
281ok($objJa->eq("\x{FF63}", "\x{300D}"));
282ok($objJa->eq("\x{FF64}", "\x{3001}"));
283ok($objJa->eq("\x{FF65}", "\x{30FB}"));
284ok($objJa->eq("\x{FF66}", "\x{30F2}"));
285ok($objJa->eq("\x{FF67}", "\x{30A1}"));
286ok($objJa->eq("\x{FF68}", "\x{30A3}"));
287ok($objJa->eq("\x{FF69}", "\x{30A5}"));
288ok($objJa->eq("\x{FF6A}", "\x{30A7}"));
289ok($objJa->eq("\x{FF6B}", "\x{30A9}"));
290ok($objJa->eq("\x{FF6C}", "\x{30E3}"));
291ok($objJa->eq("\x{FF6D}", "\x{30E5}"));
292ok($objJa->eq("\x{FF6E}", "\x{30E7}"));
293ok($objJa->eq("\x{FF6F}", "\x{30C3}"));
294ok($objJa->eq("\x{FF70}", "\x{30FC}"));
295ok($objJa->eq("\x{FF71}", "\x{30A2}"));
296ok($objJa->eq("\x{FF72}", "\x{30A4}"));
297ok($objJa->eq("\x{FF73}", "\x{30A6}"));
298ok($objJa->eq("\x{FF74}", "\x{30A8}"));
299ok($objJa->eq("\x{FF75}", "\x{30AA}"));
300ok($objJa->eq("\x{FF76}", "\x{30AB}"));
301ok($objJa->eq("\x{FF77}", "\x{30AD}"));
302ok($objJa->eq("\x{FF78}", "\x{30AF}"));
303ok($objJa->eq("\x{FF79}", "\x{30B1}"));
304ok($objJa->eq("\x{FF7A}", "\x{30B3}"));
305ok($objJa->eq("\x{FF7B}", "\x{30B5}"));
306ok($objJa->eq("\x{FF7C}", "\x{30B7}"));
307ok($objJa->eq("\x{FF7D}", "\x{30B9}"));
308ok($objJa->eq("\x{FF7E}", "\x{30BB}"));
309ok($objJa->eq("\x{FF7F}", "\x{30BD}"));
310ok($objJa->eq("\x{FF80}", "\x{30BF}"));
311ok($objJa->eq("\x{FF81}", "\x{30C1}"));
312ok($objJa->eq("\x{FF82}", "\x{30C4}"));
313ok($objJa->eq("\x{FF83}", "\x{30C6}"));
314ok($objJa->eq("\x{FF84}", "\x{30C8}"));
315ok($objJa->eq("\x{FF85}", "\x{30CA}"));
316ok($objJa->eq("\x{FF86}", "\x{30CB}"));
317ok($objJa->eq("\x{FF87}", "\x{30CC}"));
318ok($objJa->eq("\x{FF88}", "\x{30CD}"));
319ok($objJa->eq("\x{FF89}", "\x{30CE}"));
320ok($objJa->eq("\x{FF8A}", "\x{30CF}"));
321ok($objJa->eq("\x{FF8B}", "\x{30D2}"));
322ok($objJa->eq("\x{FF8C}", "\x{30D5}"));
323ok($objJa->eq("\x{FF8D}", "\x{30D8}"));
324ok($objJa->eq("\x{FF8E}", "\x{30DB}"));
325ok($objJa->eq("\x{FF8F}", "\x{30DE}"));
326ok($objJa->eq("\x{FF90}", "\x{30DF}"));
327ok($objJa->eq("\x{FF91}", "\x{30E0}"));
328ok($objJa->eq("\x{FF92}", "\x{30E1}"));
329ok($objJa->eq("\x{FF93}", "\x{30E2}"));
330ok($objJa->eq("\x{FF94}", "\x{30E4}"));
331ok($objJa->eq("\x{FF95}", "\x{30E6}"));
332ok($objJa->eq("\x{FF96}", "\x{30E8}"));
333ok($objJa->eq("\x{FF97}", "\x{30E9}"));
334ok($objJa->eq("\x{FF98}", "\x{30EA}"));
335ok($objJa->eq("\x{FF99}", "\x{30EB}"));
336ok($objJa->eq("\x{FF9A}", "\x{30EC}"));
337ok($objJa->eq("\x{FF9B}", "\x{30ED}"));
338ok($objJa->eq("\x{FF9C}", "\x{30EF}"));
339ok($objJa->eq("\x{FF9D}", "\x{30F3}"));
340ok($objJa->eq("\x{FF9E}", "\x{3099}"));
341ok($objJa->eq("\x{FF9F}", "\x{309A}"));
342ok($objJa->eq("\x{FFE0}", pack('U', 0xA2)));
343ok($objJa->eq("\x{FFE1}", pack('U', 0xA3)));
344ok($objJa->eq("\x{FFE2}", pack('U', 0xAC)));
345ok($objJa->eq("\x{FFE3}", "\ "));
346ok($objJa->eq("\x{FFE4}", pack('U', 0xA6)));
347ok($objJa->eq("\x{FFE5}", pack('U', 0xA5)));
348ok($objJa->eq("\x{FFE6}", "\x{20A9}"));
349ok($objJa->eq("\x{FFE8}", "\x{2502}"));
350ok($objJa->eq("\x{FFE9}", "\x{2190}"));
351ok($objJa->eq("\x{FFEA}", "\x{2191}"));
352ok($objJa->eq("\x{FFEB}", "\x{2192}"));
353ok($objJa->eq("\x{FFEC}", "\x{2193}"));
354ok($objJa->eq("\x{FFED}", "\x{25A0}"));
355ok($objJa->eq("\x{FFEE}", "\x{25CB}"));
356
357# 294
358
359$objJa->change(level => 4);
360
361ok($objJa->lt("\x{3041}", "\x{30A1}"));
362ok($objJa->lt("\x{3042}", "\x{30A2}"));
363ok($objJa->lt("\x{3043}", "\x{30A3}"));
364ok($objJa->lt("\x{3044}", "\x{30A4}"));
365ok($objJa->lt("\x{3045}", "\x{30A5}"));
366ok($objJa->lt("\x{3046}", "\x{30A6}"));
367ok($objJa->lt("\x{3047}", "\x{30A7}"));
368ok($objJa->lt("\x{3048}", "\x{30A8}"));
369ok($objJa->lt("\x{3049}", "\x{30A9}"));
370ok($objJa->lt("\x{304A}", "\x{30AA}"));
371ok($objJa->lt("\x{304B}", "\x{30AB}"));
372ok($objJa->lt("\x{304C}", "\x{30AC}"));
373ok($objJa->lt("\x{304D}", "\x{30AD}"));
374ok($objJa->lt("\x{304E}", "\x{30AE}"));
375ok($objJa->lt("\x{304F}", "\x{30AF}"));
376ok($objJa->lt("\x{3050}", "\x{30B0}"));
377ok($objJa->lt("\x{3051}", "\x{30B1}"));
378ok($objJa->lt("\x{3052}", "\x{30B2}"));
379ok($objJa->lt("\x{3053}", "\x{30B3}"));
380ok($objJa->lt("\x{3054}", "\x{30B4}"));
381ok($objJa->lt("\x{3055}", "\x{30B5}"));
382ok($objJa->lt("\x{3056}", "\x{30B6}"));
383ok($objJa->lt("\x{3057}", "\x{30B7}"));
384ok($objJa->lt("\x{3058}", "\x{30B8}"));
385ok($objJa->lt("\x{3059}", "\x{30B9}"));
386ok($objJa->lt("\x{305A}", "\x{30BA}"));
387ok($objJa->lt("\x{305B}", "\x{30BB}"));
388ok($objJa->lt("\x{305C}", "\x{30BC}"));
389ok($objJa->lt("\x{305D}", "\x{30BD}"));
390ok($objJa->lt("\x{305E}", "\x{30BE}"));
391ok($objJa->lt("\x{305F}", "\x{30BF}"));
392ok($objJa->lt("\x{3060}", "\x{30C0}"));
393ok($objJa->lt("\x{3061}", "\x{30C1}"));
394ok($objJa->lt("\x{3062}", "\x{30C2}"));
395ok($objJa->lt("\x{3063}", "\x{30C3}"));
396ok($objJa->lt("\x{3064}", "\x{30C4}"));
397ok($objJa->lt("\x{3065}", "\x{30C5}"));
398ok($objJa->lt("\x{3066}", "\x{30C6}"));
399ok($objJa->lt("\x{3067}", "\x{30C7}"));
400ok($objJa->lt("\x{3068}", "\x{30C8}"));
401ok($objJa->lt("\x{3069}", "\x{30C9}"));
402ok($objJa->lt("\x{306A}", "\x{30CA}"));
403ok($objJa->lt("\x{306B}", "\x{30CB}"));
404ok($objJa->lt("\x{306C}", "\x{30CC}"));
405ok($objJa->lt("\x{306D}", "\x{30CD}"));
406ok($objJa->lt("\x{306E}", "\x{30CE}"));
407ok($objJa->lt("\x{306F}", "\x{30CF}"));
408ok($objJa->lt("\x{3070}", "\x{30D0}"));
409ok($objJa->lt("\x{3071}", "\x{30D1}"));
410ok($objJa->lt("\x{3072}", "\x{30D2}"));
411ok($objJa->lt("\x{3073}", "\x{30D3}"));
412ok($objJa->lt("\x{3074}", "\x{30D4}"));
413ok($objJa->lt("\x{3075}", "\x{30D5}"));
414ok($objJa->lt("\x{3076}", "\x{30D6}"));
415ok($objJa->lt("\x{3077}", "\x{30D7}"));
416ok($objJa->lt("\x{3078}", "\x{30D8}"));
417ok($objJa->lt("\x{3079}", "\x{30D9}"));
418ok($objJa->lt("\x{307A}", "\x{30DA}"));
419ok($objJa->lt("\x{307B}", "\x{30DB}"));
420ok($objJa->lt("\x{307C}", "\x{30DC}"));
421ok($objJa->lt("\x{307D}", "\x{30DD}"));
422ok($objJa->lt("\x{307E}", "\x{30DE}"));
423ok($objJa->lt("\x{307F}", "\x{30DF}"));
424ok($objJa->lt("\x{3080}", "\x{30E0}"));
425ok($objJa->lt("\x{3081}", "\x{30E1}"));
426ok($objJa->lt("\x{3082}", "\x{30E2}"));
427ok($objJa->lt("\x{3083}", "\x{30E3}"));
428ok($objJa->lt("\x{3084}", "\x{30E4}"));
429ok($objJa->lt("\x{3085}", "\x{30E5}"));
430ok($objJa->lt("\x{3086}", "\x{30E6}"));
431ok($objJa->lt("\x{3087}", "\x{30E7}"));
432ok($objJa->lt("\x{3088}", "\x{30E8}"));
433ok($objJa->lt("\x{3089}", "\x{30E9}"));
434ok($objJa->lt("\x{308A}", "\x{30EA}"));
435ok($objJa->lt("\x{308B}", "\x{30EB}"));
436ok($objJa->lt("\x{308C}", "\x{30EC}"));
437ok($objJa->lt("\x{308D}", "\x{30ED}"));
438ok($objJa->lt("\x{308E}", "\x{30EE}"));
439ok($objJa->lt("\x{308F}", "\x{30EF}"));
440ok($objJa->lt("\x{3090}", "\x{30F0}"));
441ok($objJa->lt("\x{3091}", "\x{30F1}"));
442ok($objJa->lt("\x{3092}", "\x{30F2}"));
443ok($objJa->lt("\x{3093}", "\x{30F3}"));
444ok($objJa->lt("\x{3094}", "\x{30F4}"));
445ok($objJa->lt("\x{3095}", "\x{30F5}"));
446ok($objJa->lt("\x{3096}", "\x{30F6}"));
447ok($objJa->lt("\x{309D}", "\x{30FD}"));
448ok($objJa->lt("\x{309E}", "\x{30FE}"));
449
450# 382
451
452ok($objJa->eq("\x{30AC}", "\x{30AB}\x{3099}"));
453ok($objJa->eq("\x{30AE}", "\x{30AD}\x{3099}"));
454ok($objJa->eq("\x{30B0}", "\x{30AF}\x{3099}"));
455ok($objJa->eq("\x{30B2}", "\x{30B1}\x{3099}"));
456ok($objJa->eq("\x{30B4}", "\x{30B3}\x{3099}"));
457ok($objJa->eq("\x{30B6}", "\x{30B5}\x{3099}"));
458ok($objJa->eq("\x{30B8}", "\x{30B7}\x{3099}"));
459ok($objJa->eq("\x{30BA}", "\x{30B9}\x{3099}"));
460ok($objJa->eq("\x{30BC}", "\x{30BB}\x{3099}"));
461ok($objJa->eq("\x{30BE}", "\x{30BD}\x{3099}"));
462ok($objJa->eq("\x{30C0}", "\x{30BF}\x{3099}"));
463ok($objJa->eq("\x{30C2}", "\x{30C1}\x{3099}"));
464ok($objJa->eq("\x{30C5}", "\x{30C4}\x{3099}"));
465ok($objJa->eq("\x{30C7}", "\x{30C6}\x{3099}"));
466ok($objJa->eq("\x{30C9}", "\x{30C8}\x{3099}"));
467ok($objJa->eq("\x{30D0}", "\x{30CF}\x{3099}"));
468ok($objJa->eq("\x{30D1}", "\x{30CF}\x{309A}"));
469ok($objJa->eq("\x{30D3}", "\x{30D2}\x{3099}"));
470ok($objJa->eq("\x{30D4}", "\x{30D2}\x{309A}"));
471ok($objJa->eq("\x{30D6}", "\x{30D5}\x{3099}"));
472ok($objJa->eq("\x{30D7}", "\x{30D5}\x{309A}"));
473ok($objJa->eq("\x{30D9}", "\x{30D8}\x{3099}"));
474ok($objJa->eq("\x{30DA}", "\x{30D8}\x{309A}"));
475ok($objJa->eq("\x{30DC}", "\x{30DB}\x{3099}"));
476ok($objJa->eq("\x{30DD}", "\x{30DB}\x{309A}"));
477ok($objJa->eq("\x{30F4}", "\x{30A6}\x{3099}"));
478ok($objJa->eq("\x{30F7}", "\x{30EF}\x{3099}"));
479ok($objJa->eq("\x{30F8}", "\x{30F0}\x{3099}"));
480ok($objJa->eq("\x{30F9}", "\x{30F1}\x{3099}"));
481ok($objJa->eq("\x{30FA}", "\x{30F2}\x{3099}"));
482ok($objJa->eq("\x{30FE}", "\x{30FD}\x{3099}"));
483
484# 413
485
486ok($objJa->eq("\x{304C}", "\x{304B}\x{3099}"));
487ok($objJa->eq("\x{304E}", "\x{304D}\x{3099}"));
488ok($objJa->eq("\x{3050}", "\x{304F}\x{3099}"));
489ok($objJa->eq("\x{3052}", "\x{3051}\x{3099}"));
490ok($objJa->eq("\x{3054}", "\x{3053}\x{3099}"));
491ok($objJa->eq("\x{3056}", "\x{3055}\x{3099}"));
492ok($objJa->eq("\x{3058}", "\x{3057}\x{3099}"));
493ok($objJa->eq("\x{305A}", "\x{3059}\x{3099}"));
494ok($objJa->eq("\x{305C}", "\x{305B}\x{3099}"));
495ok($objJa->eq("\x{305E}", "\x{305D}\x{3099}"));
496ok($objJa->eq("\x{3060}", "\x{305F}\x{3099}"));
497ok($objJa->eq("\x{3062}", "\x{3061}\x{3099}"));
498ok($objJa->eq("\x{3065}", "\x{3064}\x{3099}"));
499ok($objJa->eq("\x{3067}", "\x{3066}\x{3099}"));
500ok($objJa->eq("\x{3069}", "\x{3068}\x{3099}"));
501ok($objJa->eq("\x{3070}", "\x{306F}\x{3099}"));
502ok($objJa->eq("\x{3071}", "\x{306F}\x{309A}"));
503ok($objJa->eq("\x{3073}", "\x{3072}\x{3099}"));
504ok($objJa->eq("\x{3074}", "\x{3072}\x{309A}"));
505ok($objJa->eq("\x{3076}", "\x{3075}\x{3099}"));
506ok($objJa->eq("\x{3077}", "\x{3075}\x{309A}"));
507ok($objJa->eq("\x{3079}", "\x{3078}\x{3099}"));
508ok($objJa->eq("\x{307A}", "\x{3078}\x{309A}"));
509ok($objJa->eq("\x{307C}", "\x{307B}\x{3099}"));
510ok($objJa->eq("\x{307D}", "\x{307B}\x{309A}"));
511ok($objJa->eq("\x{3094}", "\x{3046}\x{3099}"));
512ok($objJa->eq("\x{309E}", "\x{309D}\x{3099}"));
513
514# 440
515
516$objJa->change(katakana_before_hiragana => 1);
517
518ok($objJa->lt("\x{3041}", "\x{30A1}"));
519ok($objJa->lt("\x{3042}", "\x{30A2}"));
520ok($objJa->lt("\x{3043}", "\x{30A3}"));
521ok($objJa->lt("\x{3044}", "\x{30A4}"));
522ok($objJa->lt("\x{3045}", "\x{30A5}"));
523ok($objJa->lt("\x{3046}", "\x{30A6}"));
524ok($objJa->lt("\x{3047}", "\x{30A7}"));
525ok($objJa->lt("\x{3048}", "\x{30A8}"));
526ok($objJa->lt("\x{3049}", "\x{30A9}"));
527ok($objJa->lt("\x{304A}", "\x{30AA}"));
528ok($objJa->lt("\x{304B}", "\x{30AB}"));
529ok($objJa->lt("\x{304C}", "\x{30AC}"));
530ok($objJa->lt("\x{304D}", "\x{30AD}"));
531ok($objJa->lt("\x{304E}", "\x{30AE}"));
532ok($objJa->lt("\x{304F}", "\x{30AF}"));
533ok($objJa->lt("\x{3050}", "\x{30B0}"));
534ok($objJa->lt("\x{3051}", "\x{30B1}"));
535ok($objJa->lt("\x{3052}", "\x{30B2}"));
536ok($objJa->lt("\x{3053}", "\x{30B3}"));
537ok($objJa->lt("\x{3054}", "\x{30B4}"));
538ok($objJa->lt("\x{3055}", "\x{30B5}"));
539ok($objJa->lt("\x{3056}", "\x{30B6}"));
540ok($objJa->lt("\x{3057}", "\x{30B7}"));
541ok($objJa->lt("\x{3058}", "\x{30B8}"));
542ok($objJa->lt("\x{3059}", "\x{30B9}"));
543ok($objJa->lt("\x{305A}", "\x{30BA}"));
544ok($objJa->lt("\x{305B}", "\x{30BB}"));
545ok($objJa->lt("\x{305C}", "\x{30BC}"));
546ok($objJa->lt("\x{305D}", "\x{30BD}"));
547ok($objJa->lt("\x{305E}", "\x{30BE}"));
548ok($objJa->lt("\x{305F}", "\x{30BF}"));
549ok($objJa->lt("\x{3060}", "\x{30C0}"));
550ok($objJa->lt("\x{3061}", "\x{30C1}"));
551ok($objJa->lt("\x{3062}", "\x{30C2}"));
552ok($objJa->lt("\x{3063}", "\x{30C3}"));
553ok($objJa->lt("\x{3064}", "\x{30C4}"));
554ok($objJa->lt("\x{3065}", "\x{30C5}"));
555ok($objJa->lt("\x{3066}", "\x{30C6}"));
556ok($objJa->lt("\x{3067}", "\x{30C7}"));
557ok($objJa->lt("\x{3068}", "\x{30C8}"));
558ok($objJa->lt("\x{3069}", "\x{30C9}"));
559ok($objJa->lt("\x{306A}", "\x{30CA}"));
560ok($objJa->lt("\x{306B}", "\x{30CB}"));
561ok($objJa->lt("\x{306C}", "\x{30CC}"));
562ok($objJa->lt("\x{306D}", "\x{30CD}"));
563ok($objJa->lt("\x{306E}", "\x{30CE}"));
564ok($objJa->lt("\x{306F}", "\x{30CF}"));
565ok($objJa->lt("\x{3070}", "\x{30D0}"));
566ok($objJa->lt("\x{3071}", "\x{30D1}"));
567ok($objJa->lt("\x{3072}", "\x{30D2}"));
568ok($objJa->lt("\x{3073}", "\x{30D3}"));
569ok($objJa->lt("\x{3074}", "\x{30D4}"));
570ok($objJa->lt("\x{3075}", "\x{30D5}"));
571ok($objJa->lt("\x{3076}", "\x{30D6}"));
572ok($objJa->lt("\x{3077}", "\x{30D7}"));
573ok($objJa->lt("\x{3078}", "\x{30D8}"));
574ok($objJa->lt("\x{3079}", "\x{30D9}"));
575ok($objJa->lt("\x{307A}", "\x{30DA}"));
576ok($objJa->lt("\x{307B}", "\x{30DB}"));
577ok($objJa->lt("\x{307C}", "\x{30DC}"));
578ok($objJa->lt("\x{307D}", "\x{30DD}"));
579ok($objJa->lt("\x{307E}", "\x{30DE}"));
580ok($objJa->lt("\x{307F}", "\x{30DF}"));
581ok($objJa->lt("\x{3080}", "\x{30E0}"));
582ok($objJa->lt("\x{3081}", "\x{30E1}"));
583ok($objJa->lt("\x{3082}", "\x{30E2}"));
584ok($objJa->lt("\x{3083}", "\x{30E3}"));
585ok($objJa->lt("\x{3084}", "\x{30E4}"));
586ok($objJa->lt("\x{3085}", "\x{30E5}"));
587ok($objJa->lt("\x{3086}", "\x{30E6}"));
588ok($objJa->lt("\x{3087}", "\x{30E7}"));
589ok($objJa->lt("\x{3088}", "\x{30E8}"));
590ok($objJa->lt("\x{3089}", "\x{30E9}"));
591ok($objJa->lt("\x{308A}", "\x{30EA}"));
592ok($objJa->lt("\x{308B}", "\x{30EB}"));
593ok($objJa->lt("\x{308C}", "\x{30EC}"));
594ok($objJa->lt("\x{308D}", "\x{30ED}"));
595ok($objJa->lt("\x{308E}", "\x{30EE}"));
596ok($objJa->lt("\x{308F}", "\x{30EF}"));
597ok($objJa->lt("\x{3090}", "\x{30F0}"));
598ok($objJa->lt("\x{3091}", "\x{30F1}"));
599ok($objJa->lt("\x{3092}", "\x{30F2}"));
600ok($objJa->lt("\x{3093}", "\x{30F3}"));
601ok($objJa->lt("\x{3094}", "\x{30F4}"));
602ok($objJa->lt("\x{3095}", "\x{30F5}"));
603ok($objJa->lt("\x{3096}", "\x{30F6}"));
604ok($objJa->lt("\x{309D}", "\x{30FD}"));
605ok($objJa->lt("\x{309E}", "\x{30FE}"));
606
607# 528
608