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