1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200
|
BEGIN {
unless ("A" eq pack('U', 0x41)) {
print "1..0 # Unicode::Collate " .
"cannot stringify a Unicode code point\n";
exit 0;
}
if ($ENV{PERL_CORE}) {
chdir('t') if -d 't';
@INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
}
}
use Test;
BEGIN { plan tests => 149 };
use strict;
use warnings;
use Unicode::Collate::Locale;
ok(1);
#########################
my $objKk = Unicode::Collate::Locale->
new(locale => 'KK', normalization => undef);
ok($objKk->getlocale, 'kk');
$objKk->change(level => 1);
ok($objKk->lt("\x{43E}", "\x{4E9}"));
ok($objKk->gt("\x{43F}", "\x{4E9}"));
ok($objKk->lt("\x{443}", "\x{4B1}"));
ok($objKk->gt("\x{4AF}", "\x{4B1}"));
ok($objKk->lt("\x{44B}", "\x{456}"));
ok($objKk->gt("\x{44C}", "\x{456}"));
# 8
ok($objKk->eq("\x{4D1}", "\x{430}"));
ok($objKk->eq("\x{4D0}", "\x{410}"));
ok($objKk->eq("\x{4D3}", "\x{430}"));
ok($objKk->eq("\x{4D2}", "\x{410}"));
ok($objKk->eq("\x{453}", "\x{433}"));
ok($objKk->eq("\x{403}", "\x{413}"));
ok($objKk->eq("\x{4D7}", "\x{435}"));
ok($objKk->eq("\x{4D6}", "\x{415}"));
ok($objKk->eq("\x{4DD}", "\x{436}"));
ok($objKk->eq("\x{4DC}", "\x{416}"));
ok($objKk->eq("\x{4DF}", "\x{437}"));
ok($objKk->eq("\x{4DE}", "\x{417}"));
ok($objKk->eq("\x{4E5}", "\x{438}"));
ok($objKk->eq("\x{4E4}", "\x{418}"));
ok($objKk->eq("\x{457}", "\x{456}"));
ok($objKk->eq("\x{407}", "\x{406}"));
ok($objKk->eq("\x{439}", "\x{438}"));
ok($objKk->eq("\x{419}", "\x{418}"));
ok($objKk->eq("\x{4E7}", "\x{43E}"));
ok($objKk->eq("\x{4E6}", "\x{41E}"));
ok($objKk->eq("\x{45C}", "\x{43A}"));
ok($objKk->eq("\x{40C}", "\x{41A}"));
ok($objKk->eq("\x{45E}", "\x{443}"));
ok($objKk->eq("\x{40E}", "\x{423}"));
ok($objKk->eq("\x{4F1}", "\x{443}"));
ok($objKk->eq("\x{4F0}", "\x{423}"));
ok($objKk->eq("\x{4F3}", "\x{443}"));
ok($objKk->eq("\x{4F2}", "\x{423}"));
ok($objKk->eq("\x{4F5}", "\x{447}"));
ok($objKk->eq("\x{4F4}", "\x{427}"));
ok($objKk->eq("\x{4F9}", "\x{44B}"));
ok($objKk->eq("\x{4F8}", "\x{42B}"));
ok($objKk->eq("\x{4ED}", "\x{44D}"));
ok($objKk->eq("\x{4EC}", "\x{42D}"));
# 42
$objKk->change(level => 2);
ok($objKk->gt("\x{4D1}", "\x{430}"));
ok($objKk->gt("\x{4D0}", "\x{410}"));
ok($objKk->gt("\x{4D3}", "\x{430}"));
ok($objKk->gt("\x{4D2}", "\x{410}"));
ok($objKk->gt("\x{453}", "\x{433}"));
ok($objKk->gt("\x{403}", "\x{413}"));
ok($objKk->gt("\x{4D7}", "\x{435}"));
ok($objKk->gt("\x{4D6}", "\x{415}"));
ok($objKk->gt("\x{4DD}", "\x{436}"));
ok($objKk->gt("\x{4DC}", "\x{416}"));
ok($objKk->gt("\x{4DF}", "\x{437}"));
ok($objKk->gt("\x{4DE}", "\x{417}"));
ok($objKk->gt("\x{4E5}", "\x{438}"));
ok($objKk->gt("\x{4E4}", "\x{418}"));
ok($objKk->gt("\x{457}", "\x{456}"));
ok($objKk->gt("\x{407}", "\x{406}"));
ok($objKk->gt("\x{439}", "\x{438}"));
ok($objKk->gt("\x{419}", "\x{418}"));
ok($objKk->gt("\x{4E7}", "\x{43E}"));
ok($objKk->gt("\x{4E6}", "\x{41E}"));
ok($objKk->gt("\x{45C}", "\x{43A}"));
ok($objKk->gt("\x{40C}", "\x{41A}"));
ok($objKk->gt("\x{45E}", "\x{443}"));
ok($objKk->gt("\x{40E}", "\x{423}"));
ok($objKk->gt("\x{4F1}", "\x{443}"));
ok($objKk->gt("\x{4F0}", "\x{423}"));
ok($objKk->gt("\x{4F3}", "\x{443}"));
ok($objKk->gt("\x{4F2}", "\x{423}"));
ok($objKk->gt("\x{4F5}", "\x{447}"));
ok($objKk->gt("\x{4F4}", "\x{427}"));
ok($objKk->gt("\x{4F9}", "\x{44B}"));
ok($objKk->gt("\x{4F8}", "\x{42B}"));
ok($objKk->gt("\x{4ED}", "\x{44D}"));
ok($objKk->gt("\x{4EC}", "\x{42D}"));
# 76
$objKk->change(level => 3);
ok($objKk->lt("\x{4E9}", "\x{4E8}"));
ok($objKk->lt("\x{4B1}", "\x{4B0}"));
ok($objKk->lt("\x{456}", "\x{406}"));
ok($objKk->eq("\x{4EB}", "\x{4E9}\x{308}"));
ok($objKk->eq("\x{4EA}", "\x{4E8}\x{308}"));
# 81
ok($objKk->eq("\x{4D1}", "\x{430}\x{306}"));
ok($objKk->eq("\x{4D0}", "\x{410}\x{306}"));
ok($objKk->eq("\x{4D3}", "\x{430}\x{308}"));
ok($objKk->eq("\x{4D2}", "\x{410}\x{308}"));
ok($objKk->eq("\x{453}", "\x{433}\x{301}"));
ok($objKk->eq("\x{403}", "\x{413}\x{301}"));
ok($objKk->eq("\x{4D7}", "\x{435}\x{306}"));
ok($objKk->eq("\x{4D6}", "\x{415}\x{306}"));
ok($objKk->eq("\x{4DD}", "\x{436}\x{308}"));
ok($objKk->eq("\x{4DC}", "\x{416}\x{308}"));
ok($objKk->eq("\x{4DF}", "\x{437}\x{308}"));
ok($objKk->eq("\x{4DE}", "\x{417}\x{308}"));
ok($objKk->eq("\x{4E5}", "\x{438}\x{308}"));
ok($objKk->eq("\x{4E4}", "\x{418}\x{308}"));
ok($objKk->eq("\x{457}", "\x{456}\x{308}"));
ok($objKk->eq("\x{407}", "\x{406}\x{308}"));
ok($objKk->eq("\x{439}", "\x{438}\x{306}"));
ok($objKk->eq("\x{419}", "\x{418}\x{306}"));
ok($objKk->eq("\x{4E7}", "\x{43E}\x{308}"));
ok($objKk->eq("\x{4E6}", "\x{41E}\x{308}"));
ok($objKk->eq("\x{45C}", "\x{43A}\x{301}"));
ok($objKk->eq("\x{40C}", "\x{41A}\x{301}"));
ok($objKk->eq("\x{45E}", "\x{443}\x{306}"));
ok($objKk->eq("\x{40E}", "\x{423}\x{306}"));
ok($objKk->eq("\x{4F1}", "\x{443}\x{308}"));
ok($objKk->eq("\x{4F0}", "\x{423}\x{308}"));
ok($objKk->eq("\x{4F3}", "\x{443}\x{30B}"));
ok($objKk->eq("\x{4F2}", "\x{423}\x{30B}"));
ok($objKk->eq("\x{4F5}", "\x{447}\x{308}"));
ok($objKk->eq("\x{4F4}", "\x{427}\x{308}"));
ok($objKk->eq("\x{4F9}", "\x{44B}\x{308}"));
ok($objKk->eq("\x{4F8}", "\x{42B}\x{308}"));
ok($objKk->eq("\x{4ED}", "\x{44D}\x{308}"));
ok($objKk->eq("\x{4EC}", "\x{42D}\x{308}"));
# 115
ok($objKk->eq("\x{4D1}", "\x{430}\0\x{306}"));
ok($objKk->eq("\x{4D0}", "\x{410}\0\x{306}"));
ok($objKk->eq("\x{4D3}", "\x{430}\0\x{308}"));
ok($objKk->eq("\x{4D2}", "\x{410}\0\x{308}"));
ok($objKk->eq("\x{453}", "\x{433}\0\x{301}"));
ok($objKk->eq("\x{403}", "\x{413}\0\x{301}"));
ok($objKk->eq("\x{4D7}", "\x{435}\0\x{306}"));
ok($objKk->eq("\x{4D6}", "\x{415}\0\x{306}"));
ok($objKk->eq("\x{4DD}", "\x{436}\0\x{308}"));
ok($objKk->eq("\x{4DC}", "\x{416}\0\x{308}"));
ok($objKk->eq("\x{4DF}", "\x{437}\0\x{308}"));
ok($objKk->eq("\x{4DE}", "\x{417}\0\x{308}"));
ok($objKk->eq("\x{4E5}", "\x{438}\0\x{308}"));
ok($objKk->eq("\x{4E4}", "\x{418}\0\x{308}"));
ok($objKk->eq("\x{457}", "\x{456}\0\x{308}"));
ok($objKk->eq("\x{407}", "\x{406}\0\x{308}"));
ok($objKk->eq("\x{439}", "\x{438}\0\x{306}"));
ok($objKk->eq("\x{419}", "\x{418}\0\x{306}"));
ok($objKk->eq("\x{4E7}", "\x{43E}\0\x{308}"));
ok($objKk->eq("\x{4E6}", "\x{41E}\0\x{308}"));
ok($objKk->eq("\x{45C}", "\x{43A}\0\x{301}"));
ok($objKk->eq("\x{40C}", "\x{41A}\0\x{301}"));
ok($objKk->eq("\x{45E}", "\x{443}\0\x{306}"));
ok($objKk->eq("\x{40E}", "\x{423}\0\x{306}"));
ok($objKk->eq("\x{4F1}", "\x{443}\0\x{308}"));
ok($objKk->eq("\x{4F0}", "\x{423}\0\x{308}"));
ok($objKk->eq("\x{4F3}", "\x{443}\0\x{30B}"));
ok($objKk->eq("\x{4F2}", "\x{423}\0\x{30B}"));
ok($objKk->eq("\x{4F5}", "\x{447}\0\x{308}"));
ok($objKk->eq("\x{4F4}", "\x{427}\0\x{308}"));
ok($objKk->eq("\x{4F9}", "\x{44B}\0\x{308}"));
ok($objKk->eq("\x{4F8}", "\x{42B}\0\x{308}"));
ok($objKk->eq("\x{4ED}", "\x{44D}\0\x{308}"));
ok($objKk->eq("\x{4EC}", "\x{42D}\0\x{308}"));
# 149
|