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_sv.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 => 117 };
16
456a1446
CBW
17use strict;
18use warnings;
19use Unicode::Collate::Locale;
20
68adb2b0
CBW
21ok(1);
22
23#########################
456a1446
CBW
24
25my $eth = pack 'U', 0xF0;
26my $ETH = pack 'U', 0xD0;
27my $thrn = pack 'U', 0xFE;
28my $THRN = pack 'U', 0xDE;
29my $uuml = pack 'U', 0xFC;
30my $Uuml = pack 'U', 0xDC;
31my $arng = pack 'U', 0xE5;
32my $Arng = pack 'U', 0xC5;
33my $auml = pack 'U', 0xE4;
34my $Auml = pack 'U', 0xC4;
35my $ae = pack 'U', 0xE6;
36my $AE = pack 'U', 0xC6;
37my $ouml = pack 'U', 0xF6;
38my $Ouml = pack 'U', 0xD6;
39my $ostk = pack 'U', 0xF8;
40my $Ostk = pack 'U', 0xD8;
41my $ocrc = pack 'U', 0xF4;
42my $Ocrc = pack 'U', 0xD4;
43
44my $objSv = Unicode::Collate::Locale->
45 new(locale => 'SV', normalization => undef);
46
456a1446
CBW
47ok($objSv->getlocale, 'sv');
48
49$objSv->change(level => 1);
50
51ok($objSv->lt('z', $arng));
52ok($objSv->lt($arng, $auml));
53ok($objSv->lt($auml, $ouml));
6484f676 54ok($objSv->lt($ouml, "\x{292}"));
456a1446
CBW
55
56# 6
57
58ok($objSv->eq('d', "\x{111}"));
59ok($objSv->eq("\x{111}", $eth));
60ok($objSv->eq('y', $uuml));
6484f676 61ok($objSv->eq($uuml, "\x{171}"));
456a1446
CBW
62
63ok($objSv->eq($auml, $ae));
64ok($objSv->eq($ae, "\x{119}"));
65ok($objSv->eq($ouml, $ostk));
66ok($objSv->eq($ostk, "\x{151}"));
67ok($objSv->eq("\x{151}", "\x{153}"));
68ok($objSv->eq("\x{153}", $ocrc));
69
70# 16
71
72$objSv->change(level => 2);
73
74ok($objSv->lt('d', "\x{111}"));
75ok($objSv->lt("\x{111}", $eth));
76ok($objSv->lt('y', $uuml));
6484f676 77ok($objSv->lt($uuml, "\x{171}"));
456a1446
CBW
78
79ok($objSv->lt($auml, $ae));
80ok($objSv->lt($ae, "\x{119}"));
81ok($objSv->lt($ouml, $ostk));
82ok($objSv->lt($ostk, "\x{151}"));
83ok($objSv->lt("\x{151}", "\x{153}"));
84ok($objSv->lt("\x{153}", $ocrc));
85
86# 26
87
88ok($objSv->eq("\x{111}", "\x{110}"));
89ok($objSv->eq($eth, $ETH));
90ok($objSv->eq('th', $thrn));
91ok($objSv->eq($thrn, 'TH'));
92ok($objSv->eq('TH', $THRN));
93ok($objSv->eq('v', 'w'));
94ok($objSv->eq('w', 'V'));
95ok($objSv->eq('V', 'W'));
96ok($objSv->eq($uuml, $Uuml));
97ok($objSv->eq("\x{171}", "\x{170}"));
98ok($objSv->eq($arng, $Arng));
99ok($objSv->eq($auml, $Auml));
100ok($objSv->eq($ae, $AE));
101ok($objSv->eq($AE, "\x{1D2D}"));
102ok($objSv->eq("\x{119}", "\x{118}"));
103ok($objSv->eq($ouml, $Ouml));
104ok($objSv->eq($ostk, $Ostk));
105ok($objSv->eq("\x{151}", "\x{150}"));
106ok($objSv->eq("\x{153}", "\x{152}"));
107ok($objSv->eq($ocrc, $Ocrc));
108
109# 46
110
111$objSv->change(level => 3);
112
113ok($objSv->lt("\x{111}", "\x{110}"));
114ok($objSv->lt($eth, $ETH));
115ok($objSv->lt('th', $thrn));
116ok($objSv->lt($thrn, 'TH'));
117ok($objSv->lt('TH', $THRN));
118ok($objSv->lt('v', 'w'));
119ok($objSv->lt('w', 'V'));
120ok($objSv->lt('V', 'W'));
121ok($objSv->lt($uuml, $Uuml));
122ok($objSv->lt("\x{171}", "\x{170}"));
123ok($objSv->lt($arng, $Arng));
124ok($objSv->lt($auml, $Auml));
125ok($objSv->lt($ae, $AE));
126ok($objSv->lt($AE, "\x{1D2D}"));
127ok($objSv->lt("\x{119}", "\x{118}"));
128ok($objSv->lt($ouml, $Ouml));
129ok($objSv->lt($ostk, $Ostk));
130ok($objSv->lt("\x{151}", "\x{150}"));
131ok($objSv->lt("\x{153}", "\x{152}"));
132ok($objSv->lt($ocrc, $Ocrc));
133
134# 66
135
136ok($objSv->eq("d\x{335}", "\x{111}"));
137ok($objSv->eq("D\x{335}", "\x{110}"));
138ok($objSv->eq("u\x{308}", $uuml));
139ok($objSv->eq("U\x{308}", $Uuml));
1393fe00
CBW
140ok($objSv->eq("u\x{30B}", "\x{171}"));
141ok($objSv->eq("U\x{30B}", "\x{170}"));
142ok($objSv->eq("a\x{30A}", $arng));
143ok($objSv->eq("A\x{30A}", $Arng));
144ok($objSv->eq("a\x{308}", $auml));
145ok($objSv->eq("A\x{308}", $Auml));
146ok($objSv->eq("e\x{328}", "\x{119}"));
147ok($objSv->eq("E\x{328}", "\x{118}"));
148ok($objSv->eq("o\x{308}", $ouml));
149ok($objSv->eq("O\x{308}", $Ouml));
150ok($objSv->eq("o\x{338}", $ostk));
151ok($objSv->eq("O\x{338}", $Ostk));
152ok($objSv->eq("o\x{30B}", "\x{151}"));
153ok($objSv->eq("O\x{30B}", "\x{150}"));
154ok($objSv->eq("o\x{302}", $ocrc));
155ok($objSv->eq("O\x{302}", $Ocrc));
156
157# 86
158
f1a7422f
CBW
159ok($objSv->eq("u\x{308}\x{300}", "\x{1DC}"));
160ok($objSv->eq("U\x{308}\x{300}", "\x{1DB}"));
161ok($objSv->eq("u\x{308}\x{301}", "\x{1D8}"));
162ok($objSv->eq("U\x{308}\x{301}", "\x{1D7}"));
163ok($objSv->eq("u\x{308}\x{304}", "\x{1D6}"));
164ok($objSv->eq("U\x{308}\x{304}", "\x{1D5}"));
165ok($objSv->eq("u\x{308}\x{30C}", "\x{1DA}"));
166ok($objSv->eq("U\x{308}\x{30C}", "\x{1D9}"));
456a1446
CBW
167ok($objSv->eq("A\x{30A}", "\x{212B}"));
168ok($objSv->eq("a\x{30A}\x{301}", "\x{1FB}"));
169ok($objSv->eq("A\x{30A}\x{301}", "\x{1FA}"));
f1a7422f
CBW
170ok($objSv->eq("a\x{308}\x{304}", "\x{1DF}"));
171ok($objSv->eq("A\x{308}\x{304}", "\x{1DE}"));
456a1446
CBW
172ok($objSv->eq("\x{1FD}", "$ae\x{301}"));
173ok($objSv->eq("\x{1FC}", "$AE\x{301}"));
174ok($objSv->eq("\x{1E3}", "$ae\x{304}"));
175ok($objSv->eq("\x{1E2}", "$AE\x{304}"));
f1a7422f
CBW
176ok($objSv->eq("o\x{308}\x{304}", "\x{22B}"));
177ok($objSv->eq("O\x{308}\x{304}", "\x{22A}"));
456a1446
CBW
178ok($objSv->eq("o\x{338}\x{301}", "\x{1FF}"));
179ok($objSv->eq("O\x{338}\x{301}", "\x{1FE}"));
456a1446 180
f1a7422f 181# 107
1393fe00
CBW
182
183ok($objSv->eq("o\x{302}\x{300}", "\x{1ED3}"));
184ok($objSv->eq("O\x{302}\x{300}", "\x{1ED2}"));
185ok($objSv->eq("o\x{302}\x{301}", "\x{1ED1}"));
186ok($objSv->eq("O\x{302}\x{301}", "\x{1ED0}"));
187ok($objSv->eq("o\x{302}\x{303}", "\x{1ED7}"));
188ok($objSv->eq("O\x{302}\x{303}", "\x{1ED6}"));
189ok($objSv->eq("o\x{302}\x{309}", "\x{1ED5}"));
190ok($objSv->eq("O\x{302}\x{309}", "\x{1ED4}"));
191ok($objSv->eq("o\x{302}\x{323}", "\x{1ED9}"));
192ok($objSv->eq("O\x{302}\x{323}", "\x{1ED8}"));
193
194# 117