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_ig.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 => 108 };
16
17 use strict;
18 use warnings;
19 use Unicode::Collate::Locale;
20
21 ok(1);
22
23 #########################
24
25 my $objIg = Unicode::Collate::Locale->
26     new(locale => 'IG', normalization => undef);
27
28 ok($objIg->getlocale, 'ig');
29
30 $objIg->change(level => 1);
31
32 ok($objIg->lt("b", "ch"));
33 ok($objIg->lt("bz","ch"));
34 ok($objIg->gt("c", "ch"));
35 ok($objIg->lt("g", "gb"));
36 ok($objIg->lt("gz","gb"));
37 ok($objIg->lt("gb","gh"));
38 ok($objIg->lt("gh","gw"));
39 ok($objIg->gt("h", "gw"));
40 ok($objIg->lt("i", "i\x{323}"));
41 ok($objIg->gt("j", "i\x{323}"));
42 ok($objIg->lt("k", "kp"));
43 ok($objIg->lt("kz","kp"));
44 ok($objIg->lt("kp","kw"));
45 ok($objIg->gt("l", "kw"));
46 ok($objIg->lt("n", "n\x{307}"));
47 ok($objIg->lt("nz","n\x{307}"));
48 ok($objIg->gt("nw","n\x{307}"));
49 ok($objIg->lt("nw", "ny"));
50 ok($objIg->gt("o",  "ny"));
51 ok($objIg->lt("o", "o\x{323}"));
52 ok($objIg->gt("p", "o\x{323}"));
53 ok($objIg->lt("s", "sh"));
54 ok($objIg->lt("sz","sh"));
55 ok($objIg->gt("t", "sh"));
56 ok($objIg->lt("u", "u\x{323}"));
57 ok($objIg->gt("v", "u\x{323}"));
58
59 # 28
60
61 $objIg->change(level => 2);
62
63 ok($objIg->eq("ch", "Ch"));
64 ok($objIg->eq("Ch", "CH"));
65 ok($objIg->eq("gb", "Gb"));
66 ok($objIg->eq("Gb", "GB"));
67 ok($objIg->eq("gh", "Gh"));
68 ok($objIg->eq("Gh", "GH"));
69 ok($objIg->eq("gw", "Gw"));
70 ok($objIg->eq("Gw", "GW"));
71 ok($objIg->eq("i\x{323}", "I\x{323}"));
72 ok($objIg->eq("kp", "Kp"));
73 ok($objIg->eq("Kp", "KP"));
74 ok($objIg->eq("kw", "Kw"));
75 ok($objIg->eq("Kw", "KW"));
76 ok($objIg->eq("n\x{307}", "N\x{307}"));
77 ok($objIg->eq("nw", "Nw"));
78 ok($objIg->eq("Nw", "NW"));
79 ok($objIg->eq("ny", "Ny"));
80 ok($objIg->eq("Ny", "NY"));
81 ok($objIg->eq("o\x{323}", "O\x{323}"));
82 ok($objIg->eq("sh", "Sh"));
83 ok($objIg->eq("Sh", "SH"));
84 ok($objIg->eq("u\x{323}", "U\x{323}"));
85
86 # 50
87
88 $objIg->change(level => 3);
89
90 ok($objIg->lt("ch", "Ch"));
91 ok($objIg->lt("Ch", "CH"));
92 ok($objIg->lt("gb", "Gb"));
93 ok($objIg->lt("Gb", "GB"));
94 ok($objIg->lt("gh", "Gh"));
95 ok($objIg->lt("Gh", "GH"));
96 ok($objIg->lt("gw", "Gw"));
97 ok($objIg->lt("Gw", "GW"));
98 ok($objIg->lt("i\x{323}", "I\x{323}"));
99 ok($objIg->lt("kp", "Kp"));
100 ok($objIg->lt("Kp", "KP"));
101 ok($objIg->lt("kw", "Kw"));
102 ok($objIg->lt("Kw", "KW"));
103 ok($objIg->lt("n\x{307}", "N\x{307}"));
104 ok($objIg->lt("nw", "Nw"));
105 ok($objIg->lt("Nw", "NW"));
106 ok($objIg->lt("ny", "Ny"));
107 ok($objIg->lt("Ny", "NY"));
108 ok($objIg->lt("o\x{323}", "O\x{323}"));
109 ok($objIg->lt("sh", "Sh"));
110 ok($objIg->lt("Sh", "SH"));
111 ok($objIg->lt("u\x{323}", "U\x{323}"));
112
113 # 72
114
115 ok($objIg->eq("i\x{323}", "\x{1ECB}"));
116 ok($objIg->eq("I\x{323}", "\x{1ECA}"));
117 ok($objIg->eq("n\x{307}", "\x{1E45}"));
118 ok($objIg->eq("N\x{307}", "\x{1E44}"));
119 ok($objIg->eq("o\x{323}", "\x{1ECD}"));
120 ok($objIg->eq("O\x{323}", "\x{1ECC}"));
121 ok($objIg->eq("u\x{323}", "\x{1EE5}"));
122 ok($objIg->eq("U\x{323}", "\x{1EE4}"));
123
124 ok($objIg->eq("o\x{323}\x{302}", "\x{1ED9}"));
125 ok($objIg->eq("O\x{323}\x{302}", "\x{1ED8}"));
126 ok($objIg->eq("o\x{323}\x{31B}", "\x{1EE3}"));
127 ok($objIg->eq("O\x{323}\x{31B}", "\x{1EE2}"));
128 ok($objIg->eq("u\x{323}\x{31B}", "\x{1EF1}"));
129 ok($objIg->eq("U\x{323}\x{31B}", "\x{1EF0}"));
130
131 # 86
132
133 $objIg->change(upper_before_lower => 1);
134
135 ok($objIg->gt("ch", "Ch"));
136 ok($objIg->gt("Ch", "CH"));
137 ok($objIg->gt("gb", "Gb"));
138 ok($objIg->gt("Gb", "GB"));
139 ok($objIg->gt("gh", "Gh"));
140 ok($objIg->gt("Gh", "GH"));
141 ok($objIg->gt("gw", "Gw"));
142 ok($objIg->gt("Gw", "GW"));
143 ok($objIg->gt("i\x{323}", "I\x{323}"));
144 ok($objIg->gt("kp", "Kp"));
145 ok($objIg->gt("Kp", "KP"));
146 ok($objIg->gt("kw", "Kw"));
147 ok($objIg->gt("Kw", "KW"));
148 ok($objIg->gt("n\x{307}", "N\x{307}"));
149 ok($objIg->gt("nw", "Nw"));
150 ok($objIg->gt("Nw", "NW"));
151 ok($objIg->gt("ny", "Ny"));
152 ok($objIg->gt("Ny", "NY"));
153 ok($objIg->gt("o\x{323}", "O\x{323}"));
154 ok($objIg->gt("sh", "Sh"));
155 ok($objIg->gt("Sh", "SH"));
156 ok($objIg->gt("u\x{323}", "U\x{323}"));
157
158 # 108