1898184e3Ssthen
2898184e3SsthenBEGIN {
3898184e3Ssthen    if ($ENV{PERL_CORE}) {
4898184e3Ssthen	chdir('t') if -d 't';
5898184e3Ssthen	@INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
6898184e3Ssthen    }
7898184e3Ssthen}
8898184e3Ssthen
9898184e3Ssthenuse strict;
10898184e3Ssthenuse warnings;
115759b3d2Safresh1BEGIN { $| = 1; print "1..57\n"; }
12898184e3Ssthenmy $count = 0;
13898184e3Ssthensub ok ($;$) {
14898184e3Ssthen    my $p = my $r = shift;
15898184e3Ssthen    if (@_) {
16898184e3Ssthen	my $x = shift;
17898184e3Ssthen	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
18898184e3Ssthen    }
19898184e3Ssthen    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
20898184e3Ssthen}
21898184e3Ssthen
22898184e3Ssthenuse Unicode::Collate::Locale;
23898184e3Ssthen
24898184e3Ssthenok(1);
25898184e3Ssthen
26*256a93a4Safresh1sub _pack_U   { Unicode::Collate::pack_U(@_) }
27*256a93a4Safresh1sub _unpack_U { Unicode::Collate::unpack_U(@_) }
28*256a93a4Safresh1
29898184e3Ssthen#########################
30898184e3Ssthen
31898184e3Ssthenmy $objHaw = Unicode::Collate::Locale->
32898184e3Ssthen    new(locale => 'HAW', normalization => undef);
33898184e3Ssthen
34898184e3Ssthenok($objHaw->getlocale, 'haw');
35898184e3Ssthen
36898184e3Ssthen$objHaw->change(level => 1);
37898184e3Ssthen
38898184e3Ssthenok($objHaw->lt('a', 'e'));
39898184e3Ssthenok($objHaw->lt('e', 'i'));
40898184e3Ssthenok($objHaw->lt('i', 'o'));
41898184e3Ssthenok($objHaw->lt('o', 'u'));
42898184e3Ssthenok($objHaw->lt('u', 'h'));
43898184e3Ssthenok($objHaw->lt('h', 'k'));
44898184e3Ssthenok($objHaw->lt('k', 'l'));
45898184e3Ssthenok($objHaw->lt('l', 'm'));
46898184e3Ssthenok($objHaw->lt('m', 'n'));
47898184e3Ssthenok($objHaw->lt('n', 'p'));
48898184e3Ssthenok($objHaw->lt('p', 'w'));
49898184e3Ssthenok($objHaw->lt('w', "\x{2BB}"));
505759b3d2Safresh1ok($objHaw->lt('b', "\x{2BB}"));
51898184e3Ssthen
52898184e3Ssthen# 15
53898184e3Ssthen
545759b3d2Safresh1ok($objHaw->lt('u', 'b'));
555759b3d2Safresh1ok($objHaw->lt('b', 'h'));
565759b3d2Safresh1ok($objHaw->gt('x', "\x{2BB}"));
575759b3d2Safresh1
585759b3d2Safresh1ok($objHaw->lt('aw', 'e'));
595759b3d2Safresh1ok($objHaw->lt('ew', 'i'));
605759b3d2Safresh1ok($objHaw->lt('iw', 'o'));
615759b3d2Safresh1ok($objHaw->lt('ow', 'u'));
625759b3d2Safresh1ok($objHaw->lt('uw', 'h'));
635759b3d2Safresh1
645759b3d2Safresh1# 23
655759b3d2Safresh1
66898184e3Ssthen$objHaw->change(level => 2);
67898184e3Ssthen
68898184e3Ssthenok($objHaw->eq('a', 'A'));
69898184e3Ssthenok($objHaw->eq('e', 'E'));
70898184e3Ssthenok($objHaw->eq('i', 'I'));
71898184e3Ssthenok($objHaw->eq('o', 'O'));
72898184e3Ssthenok($objHaw->eq('u', 'U'));
73898184e3Ssthenok($objHaw->eq('h', 'H'));
74898184e3Ssthenok($objHaw->eq('k', 'K'));
75898184e3Ssthenok($objHaw->eq('l', 'L'));
76898184e3Ssthenok($objHaw->eq('m', 'M'));
77898184e3Ssthenok($objHaw->eq('n', 'N'));
78898184e3Ssthenok($objHaw->eq('p', 'P'));
79898184e3Ssthenok($objHaw->eq('w', 'W'));
80898184e3Ssthen
815759b3d2Safresh1# 35
82898184e3Ssthen
83898184e3Ssthen$objHaw->change(level => 3);
84898184e3Ssthen
85898184e3Ssthenok($objHaw->lt('a', 'A'));
86898184e3Ssthenok($objHaw->lt('e', 'E'));
87898184e3Ssthenok($objHaw->lt('i', 'I'));
88898184e3Ssthenok($objHaw->lt('o', 'O'));
89898184e3Ssthenok($objHaw->lt('u', 'U'));
90898184e3Ssthenok($objHaw->lt('h', 'H'));
91898184e3Ssthenok($objHaw->lt('k', 'K'));
92898184e3Ssthenok($objHaw->lt('l', 'L'));
93898184e3Ssthenok($objHaw->lt('m', 'M'));
94898184e3Ssthenok($objHaw->lt('n', 'N'));
95898184e3Ssthenok($objHaw->lt('p', 'P'));
96898184e3Ssthenok($objHaw->lt('w', 'W'));
97898184e3Ssthen
985759b3d2Safresh1# 47
99898184e3Ssthen
100898184e3Ssthenok($objHaw->eq("a\x{304}", "\x{101}"));
101898184e3Ssthenok($objHaw->eq("A\x{304}", "\x{100}"));
102898184e3Ssthenok($objHaw->eq("e\x{304}", "\x{113}"));
103898184e3Ssthenok($objHaw->eq("E\x{304}", "\x{112}"));
104898184e3Ssthenok($objHaw->eq("i\x{304}", "\x{12B}"));
105898184e3Ssthenok($objHaw->eq("I\x{304}", "\x{12A}"));
106898184e3Ssthenok($objHaw->eq("o\x{304}", "\x{14D}"));
107898184e3Ssthenok($objHaw->eq("O\x{304}", "\x{14C}"));
108898184e3Ssthenok($objHaw->eq("u\x{304}", "\x{16B}"));
109898184e3Ssthenok($objHaw->eq("U\x{304}", "\x{16A}"));
110898184e3Ssthen
1115759b3d2Safresh1# 57
112