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_ca.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 => 41 };
16
64dc7822
CBW
17use strict;
18use warnings;
19use Unicode::Collate::Locale;
20
68adb2b0
CBW
21ok(1);
22
23#########################
64dc7822
CBW
24
25my $dot = pack 'U', 0xB7;
26
27my $objCa = Unicode::Collate::Locale->
28 new(locale => 'CA', normalization => undef);
29
64dc7822
CBW
30ok($objCa->getlocale, 'ca');
31
32$objCa->change(level => 1);
33
34ok($objCa->lt("c", "ch"));
35ok($objCa->lt("cz", "ch"));
36ok($objCa->gt("d", "ch"));
37ok($objCa->lt("l", "ll"));
38ok($objCa->lt("lz", "ll"));
39ok($objCa->gt("m", "ll"));
40
41# 8
42
43ok($objCa->eq("a\x{300}a", "aa\x{300}"));
44
45$objCa->change(level => 2);
46
47ok($objCa->lt("a\x{300}a", "aa\x{300}"));
48ok($objCa->gt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
49ok($objCa->gt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
50
51# 12
52
53ok($objCa->eq("ch", "cH"));
54ok($objCa->eq("cH", "Ch"));
55ok($objCa->eq("Ch", "CH"));
56
57ok($objCa->eq("ll", "lL"));
58ok($objCa->eq("lL", "Ll"));
59ok($objCa->eq("Ll", "LL"));
60ok($objCa->eq("l${dot}l", "lL"));
61ok($objCa->eq("l${dot}L", "Ll"));
62ok($objCa->eq("L${dot}l", "LL"));
63ok($objCa->eq("ll","l${dot}l"));
64ok($objCa->eq("lL","l${dot}L"));
65ok($objCa->eq("Ll","L${dot}l"));
66ok($objCa->eq("LL","L${dot}L"));
67
68# 25
69
70$objCa->change(level => 3);
71
72ok($objCa->lt("ch", "cH"));
73ok($objCa->lt("cH", "Ch"));
74ok($objCa->lt("Ch", "CH"));
75
76ok($objCa->lt("ll", "lL"));
77ok($objCa->lt("lL", "Ll"));
78ok($objCa->lt("Ll", "LL"));
79ok($objCa->lt("l${dot}l", "lL"));
80ok($objCa->lt("l${dot}L", "Ll"));
81ok($objCa->lt("L${dot}l", "LL"));
82ok($objCa->lt("ll","l${dot}l"));
83ok($objCa->lt("lL","l${dot}L"));
84ok($objCa->lt("Ll","L${dot}l"));
85ok($objCa->lt("LL","L${dot}L"));
86
87# 38
68adb2b0
CBW
88
89$objCa->change(backwards => undef, level => 2);
90
91ok($objCa->gt("a\x{300}a", "aa\x{300}"));
92ok($objCa->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
93ok($objCa->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
94
95# 41