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_cs.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 => 34 };
16
456a1446
CBW
17use strict;
18use warnings;
19use Unicode::Collate::Locale;
20
68adb2b0
CBW
21ok(1);
22
23#########################
456a1446
CBW
24
25my $objCs = Unicode::Collate::Locale->
26 new(locale => 'CS', normalization => undef);
27
456a1446
CBW
28ok($objCs->getlocale, 'cs');
29
30$objCs->change(level => 1);
31
32ok($objCs->lt("c", "c\x{30C}"));
33ok($objCs->gt("d", "c\x{30C}"));
34ok($objCs->lt("h", "ch"));
35ok($objCs->gt("i", "ch"));
36ok($objCs->lt("r", "r\x{30C}"));
37ok($objCs->gt("s", "r\x{30C}"));
38ok($objCs->lt("s", "s\x{30C}"));
39ok($objCs->gt("t", "s\x{30C}"));
40ok($objCs->lt("z", "z\x{30C}"));
41ok($objCs->lt("z\x{30C}", "\x{292}")); # U+0292 EZH
42
43# 12
44
45$objCs->change(level => 2);
46
47ok($objCs->eq("c\x{30C}", "C\x{30C}"));
48ok($objCs->eq("r\x{30C}", "R\x{30C}"));
49ok($objCs->eq("s\x{30C}", "S\x{30C}"));
50ok($objCs->eq("z\x{30C}", "Z\x{30C}"));
51ok($objCs->eq("ch", "cH"));
52ok($objCs->eq("cH", "Ch"));
53ok($objCs->eq("Ch", "CH"));
54
55# 19
56
57$objCs->change(level => 3);
58
59ok($objCs->lt("c\x{30C}", "C\x{30C}"));
60ok($objCs->lt("r\x{30C}", "R\x{30C}"));
61ok($objCs->lt("s\x{30C}", "S\x{30C}"));
62ok($objCs->lt("z\x{30C}", "Z\x{30C}"));
63ok($objCs->lt("ch", "cH"));
64ok($objCs->lt("cH", "Ch"));
65ok($objCs->lt("Ch", "CH"));
66
67# 26
68
69ok($objCs->eq("c\x{30C}", "\x{10D}"));
70ok($objCs->eq("C\x{30C}", "\x{10C}"));
71ok($objCs->eq("r\x{30C}", "\x{159}"));
72ok($objCs->eq("R\x{30C}", "\x{158}"));
73ok($objCs->eq("s\x{30C}", "\x{161}"));
74ok($objCs->eq("S\x{30C}", "\x{160}"));
75ok($objCs->eq("z\x{30C}", "\x{17E}"));
76ok($objCs->eq("Z\x{30C}", "\x{17D}"));
77
78# 34