This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Refactor die_exit.t to loop over a list, rather than iterate on an hash.
[perl5.git] / cpan / Unicode-Collate / t / loc_to.t
CommitLineData
68adb2b0
CBW
1
2BEGIN {
3 unless ("A" eq pack('U', 0x41)) {
4 print "1..0 # Unicode::Collate " .
5 "cannot stringify a Unicode code point\n";
6 exit 0;
7 }
8 if ($ENV{PERL_CORE}) {
9 chdir('t') if -d 't';
10 @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
11 }
12}
13
14use Test;
15BEGIN { plan tests => 132 };
16
6709de88
CBW
17use strict;
18use warnings;
19use Unicode::Collate::Locale;
20
68adb2b0
CBW
21ok(1);
22
23#########################
6709de88
CBW
24
25my $objTo = Unicode::Collate::Locale->
26 new(locale => 'TO', normalization => undef);
27
6709de88
CBW
28ok($objTo->getlocale, 'to');
29
30$objTo->change(level => 1);
31
32ok($objTo->lt("n", "ng"));
33ok($objTo->lt("nz","ng"));
34ok($objTo->gt("o", "ng"));
35ok($objTo->lt("z", "\x{2BB}"));
36ok($objTo->lt("z", "\x{2BD}"));
37
38# 7
39
40ok($objTo->eq("a", "a\x{304}"));
41ok($objTo->eq("A", "A\x{304}"));
42ok($objTo->eq("e", "e\x{304}"));
43ok($objTo->eq("E", "E\x{304}"));
44ok($objTo->eq("i", "i\x{304}"));
45ok($objTo->eq("I", "I\x{304}"));
46ok($objTo->eq("o", "o\x{304}"));
47ok($objTo->eq("O", "O\x{304}"));
48ok($objTo->eq("u", "u\x{304}"));
49ok($objTo->eq("U", "U\x{304}"));
50
51# 17
52
53$objTo->change(level => 2);
54
55ok($objTo->lt("a", "a\x{304}"));
56ok($objTo->lt("A", "A\x{304}"));
57ok($objTo->lt("e", "e\x{304}"));
58ok($objTo->lt("E", "E\x{304}"));
59ok($objTo->lt("i", "i\x{304}"));
60ok($objTo->lt("I", "I\x{304}"));
61ok($objTo->lt("o", "o\x{304}"));
62ok($objTo->lt("O", "O\x{304}"));
63ok($objTo->lt("u", "u\x{304}"));
64ok($objTo->lt("U", "U\x{304}"));
65
66# 27
67
68ok($objTo->eq("ng", "Ng"));
69ok($objTo->eq("Ng", "NG"));
70ok($objTo->eq("NG", "\x{14B}"));
71ok($objTo->eq("\x{14B}", "\x{14A}"));
72ok($objTo->eq("\x{2BB}", "\x{2BD}"));
73
74ok($objTo->eq("a\x{304}", "A\x{304}"));
75ok($objTo->eq("a\x{301}", "A\x{301}"));
76ok($objTo->eq("e\x{304}", "E\x{304}"));
77ok($objTo->eq("e\x{301}", "E\x{301}"));
78ok($objTo->eq("i\x{304}", "I\x{304}"));
79ok($objTo->eq("i\x{301}", "I\x{301}"));
80ok($objTo->eq("o\x{304}", "O\x{304}"));
81ok($objTo->eq("o\x{301}", "O\x{301}"));
82ok($objTo->eq("u\x{304}", "U\x{304}"));
83ok($objTo->eq("u\x{301}", "U\x{301}"));
84
85ok($objTo->eq("a\x{304}", "a\x{301}"));
86ok($objTo->eq("A\x{304}", "A\x{301}"));
87ok($objTo->eq("e\x{304}", "e\x{301}"));
88ok($objTo->eq("E\x{304}", "E\x{301}"));
89ok($objTo->eq("i\x{304}", "i\x{301}"));
90ok($objTo->eq("I\x{304}", "I\x{301}"));
91ok($objTo->eq("o\x{304}", "o\x{301}"));
92ok($objTo->eq("O\x{304}", "O\x{301}"));
93ok($objTo->eq("u\x{304}", "u\x{301}"));
94ok($objTo->eq("U\x{304}", "U\x{301}"));
95
96# 52
97
98$objTo->change(level => 3);
99
100ok($objTo->lt("ng", "Ng"));
101ok($objTo->lt("Ng", "NG"));
102ok($objTo->lt("NG", "\x{14B}"));
103ok($objTo->lt("\x{14B}", "\x{14A}"));
104ok($objTo->lt("\x{2BB}", "\x{2BD}"));
105
106ok($objTo->lt("a\x{304}", "A\x{304}"));
107ok($objTo->lt("a\x{301}", "A\x{301}"));
108ok($objTo->lt("e\x{304}", "E\x{304}"));
109ok($objTo->lt("e\x{301}", "E\x{301}"));
110ok($objTo->lt("i\x{304}", "I\x{304}"));
111ok($objTo->lt("i\x{301}", "I\x{301}"));
112ok($objTo->lt("o\x{304}", "O\x{304}"));
113ok($objTo->lt("o\x{301}", "O\x{301}"));
114ok($objTo->lt("u\x{304}", "U\x{304}"));
115ok($objTo->lt("u\x{301}", "U\x{301}"));
116
117ok($objTo->lt("a\x{304}", "a\x{301}"));
118ok($objTo->lt("A\x{304}", "A\x{301}"));
119ok($objTo->lt("e\x{304}", "e\x{301}"));
120ok($objTo->lt("E\x{304}", "E\x{301}"));
121ok($objTo->lt("i\x{304}", "i\x{301}"));
122ok($objTo->lt("I\x{304}", "I\x{301}"));
123ok($objTo->lt("o\x{304}", "o\x{301}"));
124ok($objTo->lt("O\x{304}", "O\x{301}"));
125ok($objTo->lt("u\x{304}", "u\x{301}"));
126ok($objTo->lt("U\x{304}", "U\x{301}"));
127
128# 77
129
130ok($objTo->eq("a\x{304}", "\x{101}"));
131ok($objTo->eq("A\x{304}", "\x{100}"));
132ok($objTo->eq("e\x{304}", "\x{113}"));
133ok($objTo->eq("E\x{304}", "\x{112}"));
134ok($objTo->eq("i\x{304}", "\x{12B}"));
135ok($objTo->eq("I\x{304}", "\x{12A}"));
136ok($objTo->eq("o\x{304}", "\x{14D}"));
137ok($objTo->eq("O\x{304}", "\x{14C}"));
138ok($objTo->eq("u\x{304}", "\x{16B}"));
139ok($objTo->eq("U\x{304}", "\x{16A}"));
140
141ok($objTo->eq("a\x{301}", pack('U', 0xE1)));
aa7758f7 142ok($objTo->eq("a\x{341}", pack('U', 0xE1)));
6709de88 143ok($objTo->eq("A\x{301}", pack('U', 0xC1)));
aa7758f7 144ok($objTo->eq("A\x{341}", pack('U', 0xC1)));
6709de88 145ok($objTo->eq("e\x{301}", pack('U', 0xE9)));
aa7758f7 146ok($objTo->eq("e\x{341}", pack('U', 0xE9)));
6709de88 147ok($objTo->eq("E\x{301}", pack('U', 0xC9)));
aa7758f7 148ok($objTo->eq("E\x{341}", pack('U', 0xC9)));
6709de88 149ok($objTo->eq("i\x{301}", pack('U', 0xED)));
aa7758f7 150ok($objTo->eq("i\x{341}", pack('U', 0xED)));
6709de88 151ok($objTo->eq("I\x{301}", pack('U', 0xCD)));
aa7758f7 152ok($objTo->eq("I\x{341}", pack('U', 0xCD)));
6709de88 153ok($objTo->eq("o\x{301}", pack('U', 0xF3)));
aa7758f7 154ok($objTo->eq("o\x{341}", pack('U', 0xF3)));
6709de88 155ok($objTo->eq("O\x{301}", pack('U', 0xD3)));
aa7758f7 156ok($objTo->eq("O\x{341}", pack('U', 0xD3)));
6709de88 157ok($objTo->eq("u\x{301}", pack('U', 0xFA)));
aa7758f7 158ok($objTo->eq("u\x{341}", pack('U', 0xFA)));
6709de88 159ok($objTo->eq("U\x{301}", pack('U', 0xDA)));
aa7758f7 160ok($objTo->eq("U\x{341}", pack('U', 0xDA)));
6709de88 161
aa7758f7 162# 107
6709de88
CBW
163
164$objTo->change(upper_before_lower => 1);
165
166ok($objTo->gt("ng", "Ng"));
167ok($objTo->gt("Ng", "NG"));
168ok($objTo->lt("NG", "\x{14B}"));
169ok($objTo->gt("\x{14B}", "\x{14A}"));
170ok($objTo->lt("\x{2BB}", "\x{2BD}"));
171
172ok($objTo->gt("a\x{304}", "A\x{304}"));
173ok($objTo->gt("a\x{301}", "A\x{301}"));
174ok($objTo->gt("e\x{304}", "E\x{304}"));
175ok($objTo->gt("e\x{301}", "E\x{301}"));
176ok($objTo->gt("i\x{304}", "I\x{304}"));
177ok($objTo->gt("i\x{301}", "I\x{301}"));
178ok($objTo->gt("o\x{304}", "O\x{304}"));
179ok($objTo->gt("o\x{301}", "O\x{301}"));
180ok($objTo->gt("u\x{304}", "U\x{304}"));
181ok($objTo->gt("u\x{301}", "U\x{301}"));
182
183ok($objTo->lt("a\x{304}", "a\x{301}"));
184ok($objTo->lt("A\x{304}", "A\x{301}"));
185ok($objTo->lt("e\x{304}", "e\x{301}"));
186ok($objTo->lt("E\x{304}", "E\x{301}"));
187ok($objTo->lt("i\x{304}", "i\x{301}"));
188ok($objTo->lt("I\x{304}", "I\x{301}"));
189ok($objTo->lt("o\x{304}", "o\x{301}"));
190ok($objTo->lt("O\x{304}", "O\x{301}"));
191ok($objTo->lt("u\x{304}", "u\x{301}"));
192ok($objTo->lt("U\x{304}", "U\x{301}"));
193
aa7758f7 194# 132