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_sk.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 => 52 };
16
64dc7822
CBW
17use strict;
18use warnings;
19use Unicode::Collate::Locale;
20
68adb2b0
CBW
21ok(1);
22
23#########################
64dc7822
CBW
24
25my $objSk = Unicode::Collate::Locale->
26 new(locale => 'SK', normalization => undef);
27
64dc7822
CBW
28ok($objSk->getlocale, 'sk');
29
30$objSk->change(level => 1);
31
32ok($objSk->lt("a", "a\x{308}"));
33ok($objSk->gt("b", "a\x{308}"));
34ok($objSk->lt("c", "c\x{30C}"));
35ok($objSk->gt("d", "c\x{30C}"));
36ok($objSk->lt("h", "ch"));
37ok($objSk->gt("i", "ch"));
38ok($objSk->lt("o", "o\x{302}"));
39ok($objSk->gt("p", "o\x{302}"));
40ok($objSk->lt("s", "s\x{30C}"));
41ok($objSk->gt("t", "s\x{30C}"));
42ok($objSk->lt("z", "z\x{30C}"));
43ok($objSk->lt("z\x{30C}", "\x{292}")); # U+0292 EZH
44
45# 14
46
47$objSk->change(level => 2);
48
49ok($objSk->eq("a\x{308}", "A\x{308}"));
50ok($objSk->eq("c\x{30C}", "C\x{30C}"));
51ok($objSk->eq("o\x{302}", "O\x{302}"));
52ok($objSk->eq("s\x{30C}", "S\x{30C}"));
53ok($objSk->eq("z\x{30C}", "Z\x{30C}"));
54ok($objSk->eq("ch", "cH"));
55ok($objSk->eq("cH", "Ch"));
56ok($objSk->eq("Ch", "CH"));
57
58# 22
59
60$objSk->change(level => 3);
61
62ok($objSk->lt("a\x{308}", "A\x{308}"));
63ok($objSk->lt("c\x{30C}", "C\x{30C}"));
64ok($objSk->lt("o\x{302}", "O\x{302}"));
65ok($objSk->lt("s\x{30C}", "S\x{30C}"));
66ok($objSk->lt("z\x{30C}", "Z\x{30C}"));
67ok($objSk->lt("ch", "cH"));
68ok($objSk->lt("cH", "Ch"));
69ok($objSk->lt("Ch", "CH"));
70
71# 30
72
73ok($objSk->eq("a\x{308}", pack('U', 0xE4)));
74ok($objSk->eq("A\x{308}", pack('U', 0xC4)));
f1a7422f
CBW
75ok($objSk->eq("a\x{308}\x{304}", "\x{1DF}"));
76ok($objSk->eq("A\x{308}\x{304}", "\x{1DE}"));
64dc7822
CBW
77ok($objSk->eq("c\x{30C}", "\x{10D}"));
78ok($objSk->eq("C\x{30C}", "\x{10C}"));
79ok($objSk->eq("o\x{302}", pack('U', 0xF4)));
80ok($objSk->eq("O\x{302}", pack('U', 0xD4)));
81ok($objSk->eq("s\x{30C}", "\x{161}"));
82ok($objSk->eq("S\x{30C}", "\x{160}"));
83ok($objSk->eq("z\x{30C}", "\x{17E}"));
84ok($objSk->eq("Z\x{30C}", "\x{17D}"));
85
f1a7422f 86# 42
1393fe00
CBW
87
88ok($objSk->eq("o\x{302}\x{300}", "\x{1ED3}"));
89ok($objSk->eq("O\x{302}\x{300}", "\x{1ED2}"));
90ok($objSk->eq("o\x{302}\x{301}", "\x{1ED1}"));
91ok($objSk->eq("O\x{302}\x{301}", "\x{1ED0}"));
92ok($objSk->eq("o\x{302}\x{303}", "\x{1ED7}"));
93ok($objSk->eq("O\x{302}\x{303}", "\x{1ED6}"));
94ok($objSk->eq("o\x{302}\x{309}", "\x{1ED5}"));
95ok($objSk->eq("O\x{302}\x{309}", "\x{1ED4}"));
96ok($objSk->eq("o\x{302}\x{323}", "\x{1ED9}"));
97ok($objSk->eq("O\x{302}\x{323}", "\x{1ED8}"));
98
99# 52