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_sq.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 => 126 };
16
c02ee425
CBW
17use strict;
18use warnings;
19use Unicode::Collate::Locale;
20
68adb2b0
CBW
21ok(1);
22
23#########################
c02ee425
CBW
24
25my $objSq = Unicode::Collate::Locale->
26 new(locale => 'SQ', normalization => undef);
27
c02ee425
CBW
28ok($objSq->getlocale, 'sq');
29
30$objSq->change(level => 1);
31
32ok($objSq->lt("c", "c\x{327}"));
33ok($objSq->lt("cz","c\x{327}"));
34ok($objSq->gt("d", "c\x{327}"));
35ok($objSq->lt("d", "dh"));
36ok($objSq->lt("dz","dh"));
37ok($objSq->gt("e", "dh"));
38ok($objSq->lt("e", "e\x{308}"));
39ok($objSq->lt("ez","e\x{308}"));
40ok($objSq->gt("f", "e\x{308}"));
41ok($objSq->lt("g", "gj"));
42ok($objSq->lt("gz","gj"));
43ok($objSq->gt("h", "gj"));
44ok($objSq->lt("l", "ll"));
45ok($objSq->lt("lz","ll"));
46ok($objSq->gt("m", "ll"));
47ok($objSq->lt("n", "nj"));
48ok($objSq->lt("nz","nj"));
49ok($objSq->gt("o", "nj"));
50ok($objSq->lt("r", "rr"));
51ok($objSq->lt("rz","rr"));
52ok($objSq->gt("s", "rr"));
53ok($objSq->lt("s", "sh"));
54ok($objSq->lt("sz","sh"));
55ok($objSq->gt("t", "sh"));
56ok($objSq->lt("t", "th"));
57ok($objSq->lt("tz","th"));
58ok($objSq->gt("u", "th"));
59ok($objSq->lt("x", "xh"));
60ok($objSq->lt("xz","xh"));
61ok($objSq->gt("y", "xh"));
62ok($objSq->lt("z", "zh"));
63ok($objSq->lt("zz","zh"));
64ok($objSq->lt("zh", "\x{1B7}"));
65
66# 35
67
68$objSq->change(level => 2);
69
70ok($objSq->eq("c\x{327}", "C\x{327}"));
71ok($objSq->eq("dh", "dH"));
72ok($objSq->eq("dH", "Dh"));
73ok($objSq->eq("Dh", "DH"));
74ok($objSq->eq("e\x{308}", "E\x{308}"));
75ok($objSq->eq("gj", "gJ"));
76ok($objSq->eq("gJ", "Gj"));
77ok($objSq->eq("Gj", "GJ"));
78ok($objSq->eq("ll", "lL"));
79ok($objSq->eq("lL", "Ll"));
80ok($objSq->eq("Ll", "LL"));
81ok($objSq->eq("nj", "nJ"));
82ok($objSq->eq("nJ", "Nj"));
83ok($objSq->eq("Nj", "NJ"));
84ok($objSq->eq("rr", "rR"));
85ok($objSq->eq("rR", "Rr"));
86ok($objSq->eq("Rr", "RR"));
87ok($objSq->eq("sh", "sH"));
88ok($objSq->eq("sH", "Sh"));
89ok($objSq->eq("Sh", "SH"));
90ok($objSq->eq("th", "tH"));
91ok($objSq->eq("tH", "Th"));
92ok($objSq->eq("Th", "TH"));
93ok($objSq->eq("xh", "xH"));
94ok($objSq->eq("xH", "Xh"));
95ok($objSq->eq("Xh", "XH"));
96ok($objSq->eq("zh", "zH"));
97ok($objSq->eq("zH", "Zh"));
98ok($objSq->eq("Zh", "ZH"));
99
100# 64
101
102$objSq->change(level => 3);
103
104ok($objSq->lt("c\x{327}", "C\x{327}"));
105ok($objSq->lt("dh", "dH"));
106ok($objSq->lt("dH", "Dh"));
107ok($objSq->lt("Dh", "DH"));
108ok($objSq->lt("e\x{308}", "E\x{308}"));
109ok($objSq->lt("gj", "gJ"));
110ok($objSq->lt("gJ", "Gj"));
111ok($objSq->lt("Gj", "GJ"));
112ok($objSq->lt("ll", "lL"));
113ok($objSq->lt("lL", "Ll"));
114ok($objSq->lt("Ll", "LL"));
115ok($objSq->lt("nj", "nJ"));
116ok($objSq->lt("nJ", "Nj"));
117ok($objSq->lt("Nj", "NJ"));
118ok($objSq->lt("rr", "rR"));
119ok($objSq->lt("rR", "Rr"));
120ok($objSq->lt("Rr", "RR"));
121ok($objSq->lt("sh", "sH"));
122ok($objSq->lt("sH", "Sh"));
123ok($objSq->lt("Sh", "SH"));
124ok($objSq->lt("th", "tH"));
125ok($objSq->lt("tH", "Th"));
126ok($objSq->lt("Th", "TH"));
127ok($objSq->lt("xh", "xH"));
128ok($objSq->lt("xH", "Xh"));
129ok($objSq->lt("Xh", "XH"));
130ok($objSq->lt("zh", "zH"));
131ok($objSq->lt("zH", "Zh"));
132ok($objSq->lt("Zh", "ZH"));
133
134# 93
135
136ok($objSq->eq("c\x{327}", pack('U', 0xE7)));
137ok($objSq->eq("C\x{327}", pack('U', 0xC7)));
138ok($objSq->eq("e\x{308}", pack('U', 0xEB)));
139ok($objSq->eq("E\x{308}", pack('U', 0xCB)));
140
141# 97
142
143$objSq->change(upper_before_lower => 1);
144
145ok($objSq->gt("c\x{327}", "C\x{327}"));
146ok($objSq->gt("dh", "dH"));
147ok($objSq->gt("dH", "Dh"));
148ok($objSq->gt("Dh", "DH"));
149ok($objSq->gt("e\x{308}", "E\x{308}"));
150ok($objSq->gt("gj", "gJ"));
151ok($objSq->gt("gJ", "Gj"));
152ok($objSq->gt("Gj", "GJ"));
153ok($objSq->gt("ll", "lL"));
154ok($objSq->gt("lL", "Ll"));
155ok($objSq->gt("Ll", "LL"));
156ok($objSq->gt("nj", "nJ"));
157ok($objSq->gt("nJ", "Nj"));
158ok($objSq->gt("Nj", "NJ"));
159ok($objSq->gt("rr", "rR"));
160ok($objSq->gt("rR", "Rr"));
161ok($objSq->gt("Rr", "RR"));
162ok($objSq->gt("sh", "sH"));
163ok($objSq->gt("sH", "Sh"));
164ok($objSq->gt("Sh", "SH"));
165ok($objSq->gt("th", "tH"));
166ok($objSq->gt("tH", "Th"));
167ok($objSq->gt("Th", "TH"));
168ok($objSq->gt("xh", "xH"));
169ok($objSq->gt("xH", "Xh"));
170ok($objSq->gt("Xh", "XH"));
171ok($objSq->gt("zh", "zH"));
172ok($objSq->gt("zH", "Zh"));
173ok($objSq->gt("Zh", "ZH"));
174
175# 126