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_nso.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 => 40 };
16
1393fe00
CBW
17use strict;
18use warnings;
19use Unicode::Collate::Locale;
20
68adb2b0
CBW
21ok(1);
22
23#########################
1393fe00
CBW
24
25my $objNso = Unicode::Collate::Locale->
26 new(locale => 'NSO', normalization => undef);
27
1393fe00
CBW
28ok($objNso->getlocale, 'nso');
29
30$objNso->change(level => 1);
31
32ok($objNso->lt("e", "e\x{302}"));
33ok($objNso->gt("f", "e\x{302}"));
34ok($objNso->lt("o", "o\x{302}"));
35ok($objNso->gt("p", "o\x{302}"));
36ok($objNso->lt("s", "s\x{30C}"));
37ok($objNso->gt("t", "s\x{30C}"));
38
39# 8
40
41$objNso->change(level => 2);
42
43ok($objNso->eq("e\x{302}", "E\x{302}"));
44ok($objNso->eq("o\x{302}", "O\x{302}"));
45ok($objNso->eq("s\x{30C}", "S\x{30C}"));
46
47$objNso->change(level => 3);
48
49ok($objNso->lt("e\x{302}", "E\x{302}"));
50ok($objNso->lt("o\x{302}", "O\x{302}"));
51ok($objNso->lt("s\x{30C}", "S\x{30C}"));
52
53# 14
54
55ok($objNso->eq("e\x{302}", pack('U', 0xEA)));
56ok($objNso->eq("E\x{302}", pack('U', 0xCA)));
57ok($objNso->eq("o\x{302}", pack('U', 0xF4)));
58ok($objNso->eq("O\x{302}", pack('U', 0xD4)));
59ok($objNso->eq("s\x{30C}", "\x{161}"));
60ok($objNso->eq("S\x{30C}", "\x{160}"));
61
62# 20
63
64ok($objNso->eq("e\x{302}\x{300}", "\x{1EC1}"));
65ok($objNso->eq("E\x{302}\x{300}", "\x{1EC0}"));
66ok($objNso->eq("e\x{302}\x{301}", "\x{1EBF}"));
67ok($objNso->eq("E\x{302}\x{301}", "\x{1EBE}"));
68ok($objNso->eq("e\x{302}\x{303}", "\x{1EC5}"));
69ok($objNso->eq("E\x{302}\x{303}", "\x{1EC4}"));
70ok($objNso->eq("e\x{302}\x{309}", "\x{1EC3}"));
71ok($objNso->eq("E\x{302}\x{309}", "\x{1EC2}"));
72ok($objNso->eq("e\x{302}\x{323}", "\x{1EC7}"));
73ok($objNso->eq("E\x{302}\x{323}", "\x{1EC6}"));
74
75ok($objNso->eq("o\x{302}\x{300}", "\x{1ED3}"));
76ok($objNso->eq("O\x{302}\x{300}", "\x{1ED2}"));
77ok($objNso->eq("o\x{302}\x{301}", "\x{1ED1}"));
78ok($objNso->eq("O\x{302}\x{301}", "\x{1ED0}"));
79ok($objNso->eq("o\x{302}\x{303}", "\x{1ED7}"));
80ok($objNso->eq("O\x{302}\x{303}", "\x{1ED6}"));
81ok($objNso->eq("o\x{302}\x{309}", "\x{1ED5}"));
82ok($objNso->eq("O\x{302}\x{309}", "\x{1ED4}"));
83ok($objNso->eq("o\x{302}\x{323}", "\x{1ED9}"));
84ok($objNso->eq("O\x{302}\x{323}", "\x{1ED8}"));
85
86# 40