xref: /openbsd-src/gnu/usr.bin/perl/cpan/Unicode-Collate/t/loc_haw.t (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
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..49\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 $objHaw = Unicode::Collate::Locale->
37    new(locale => 'HAW', normalization => undef);
38
39ok($objHaw->getlocale, 'haw');
40
41$objHaw->change(level => 1);
42
43ok($objHaw->lt('a', 'e'));
44ok($objHaw->lt('e', 'i'));
45ok($objHaw->lt('i', 'o'));
46ok($objHaw->lt('o', 'u'));
47ok($objHaw->lt('u', 'h'));
48ok($objHaw->lt('h', 'k'));
49ok($objHaw->lt('k', 'l'));
50ok($objHaw->lt('l', 'm'));
51ok($objHaw->lt('m', 'n'));
52ok($objHaw->lt('n', 'p'));
53ok($objHaw->lt('p', 'w'));
54ok($objHaw->lt('w', "\x{2BB}"));
55ok($objHaw->gt('b', "\x{2BB}"));
56
57# 15
58
59$objHaw->change(level => 2);
60
61ok($objHaw->eq('a', 'A'));
62ok($objHaw->eq('e', 'E'));
63ok($objHaw->eq('i', 'I'));
64ok($objHaw->eq('o', 'O'));
65ok($objHaw->eq('u', 'U'));
66ok($objHaw->eq('h', 'H'));
67ok($objHaw->eq('k', 'K'));
68ok($objHaw->eq('l', 'L'));
69ok($objHaw->eq('m', 'M'));
70ok($objHaw->eq('n', 'N'));
71ok($objHaw->eq('p', 'P'));
72ok($objHaw->eq('w', 'W'));
73
74# 27
75
76$objHaw->change(level => 3);
77
78ok($objHaw->lt('a', 'A'));
79ok($objHaw->lt('e', 'E'));
80ok($objHaw->lt('i', 'I'));
81ok($objHaw->lt('o', 'O'));
82ok($objHaw->lt('u', 'U'));
83ok($objHaw->lt('h', 'H'));
84ok($objHaw->lt('k', 'K'));
85ok($objHaw->lt('l', 'L'));
86ok($objHaw->lt('m', 'M'));
87ok($objHaw->lt('n', 'N'));
88ok($objHaw->lt('p', 'P'));
89ok($objHaw->lt('w', 'W'));
90
91# 39
92
93ok($objHaw->eq("a\x{304}", "\x{101}"));
94ok($objHaw->eq("A\x{304}", "\x{100}"));
95ok($objHaw->eq("e\x{304}", "\x{113}"));
96ok($objHaw->eq("E\x{304}", "\x{112}"));
97ok($objHaw->eq("i\x{304}", "\x{12B}"));
98ok($objHaw->eq("I\x{304}", "\x{12A}"));
99ok($objHaw->eq("o\x{304}", "\x{14D}"));
100ok($objHaw->eq("O\x{304}", "\x{14C}"));
101ok($objHaw->eq("u\x{304}", "\x{16B}"));
102ok($objHaw->eq("U\x{304}", "\x{16A}"));
103
104# 49
105