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_sw.t
1
2 BEGIN {
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
14 use Test;
15 BEGIN { plan tests => 72 };
16
17 use strict;
18 use warnings;
19 use Unicode::Collate::Locale;
20
21 ok(1);
22
23 #########################
24
25 my $objSw = Unicode::Collate::Locale->
26     new(locale => 'SW', normalization => undef);
27
28 ok($objSw->getlocale, 'sw');
29
30 $objSw->change(level => 1);
31
32 ok($objSw->lt("b", "ch"));
33 ok($objSw->lt("bz","ch"));
34 ok($objSw->gt("c", "ch"));
35 ok($objSw->lt("d", "dh"));
36 ok($objSw->lt("dz","dh"));
37 ok($objSw->gt("e", "dh"));
38 ok($objSw->lt("g", "gh"));
39 ok($objSw->lt("gz","gh"));
40 ok($objSw->gt("h", "gh"));
41 ok($objSw->lt("k", "kh"));
42 ok($objSw->lt("kz","kh"));
43 ok($objSw->gt("l", "kh"));
44 ok($objSw->lt("n", "ng'"));
45 ok($objSw->lt("nz","ng'"));
46 ok($objSw->lt("ng'","ny"));
47 ok($objSw->gt("o", "ny"));
48 ok($objSw->lt("s", "sh"));
49 ok($objSw->lt("sz","sh"));
50 ok($objSw->gt("t", "sh"));
51 ok($objSw->lt("t", "th"));
52 ok($objSw->lt("tz","th"));
53 ok($objSw->gt("u", "th"));
54
55 # 24
56
57 $objSw->change(level => 2);
58
59 ok($objSw->eq("ch", "Ch"));
60 ok($objSw->eq("Ch", "CH"));
61 ok($objSw->eq("dh", "Dh"));
62 ok($objSw->eq("Dh", "DH"));
63 ok($objSw->eq("gh", "Gh"));
64 ok($objSw->eq("Gh", "GH"));
65 ok($objSw->eq("kh", "Kh"));
66 ok($objSw->eq("Kh", "KH"));
67 ok($objSw->eq("ng'","Ng'"));
68 ok($objSw->eq("Ng'","NG'"));
69 ok($objSw->eq("ny", "Ny"));
70 ok($objSw->eq("Ny", "NY"));
71 ok($objSw->eq("sh", "Sh"));
72 ok($objSw->eq("Sh", "SH"));
73 ok($objSw->eq("th", "Th"));
74 ok($objSw->eq("Th", "TH"));
75
76 # 40
77
78 $objSw->change(level => 3);
79
80 ok($objSw->lt("ch", "Ch"));
81 ok($objSw->lt("Ch", "CH"));
82 ok($objSw->lt("dh", "Dh"));
83 ok($objSw->lt("Dh", "DH"));
84 ok($objSw->lt("gh", "Gh"));
85 ok($objSw->lt("Gh", "GH"));
86 ok($objSw->lt("kh", "Kh"));
87 ok($objSw->lt("Kh", "KH"));
88 ok($objSw->lt("ng'","Ng'"));
89 ok($objSw->lt("Ng'","NG'"));
90 ok($objSw->lt("ny", "Ny"));
91 ok($objSw->lt("Ny", "NY"));
92 ok($objSw->lt("sh", "Sh"));
93 ok($objSw->lt("Sh", "SH"));
94 ok($objSw->lt("th", "Th"));
95 ok($objSw->lt("Th", "TH"));
96
97 # 56
98
99 $objSw->change(upper_before_lower => 1);
100
101 ok($objSw->gt("ch", "Ch"));
102 ok($objSw->gt("Ch", "CH"));
103 ok($objSw->gt("dh", "Dh"));
104 ok($objSw->gt("Dh", "DH"));
105 ok($objSw->gt("gh", "Gh"));
106 ok($objSw->gt("Gh", "GH"));
107 ok($objSw->gt("kh", "Kh"));
108 ok($objSw->gt("Kh", "KH"));
109 ok($objSw->gt("ng'","Ng'"));
110 ok($objSw->gt("Ng'","NG'"));
111 ok($objSw->gt("ny", "Ny"));
112 ok($objSw->gt("Ny", "NY"));
113 ok($objSw->gt("sh", "Sh"));
114 ok($objSw->gt("Sh", "SH"));
115 ok($objSw->gt("th", "Th"));
116 ok($objSw->gt("Th", "TH"));
117
118 # 72