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_lt.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 => 55 };
16
17 use strict;
18 use warnings;
19 use Unicode::Collate::Locale;
20
21 ok(1);
22
23 #########################
24
25 my $objLt = Unicode::Collate::Locale->
26     new(locale => 'LT', normalization => undef);
27
28 ok($objLt->getlocale, 'lt');
29
30 $objLt->change(level => 1);
31
32 ok($objLt->lt("c", "c\x{30C}"));
33 ok($objLt->gt("d", "c\x{30C}"));
34 ok($objLt->lt("s", "s\x{30C}"));
35 ok($objLt->gt("t", "s\x{30C}"));
36 ok($objLt->lt("z", "z\x{30C}"));
37 ok($objLt->lt("z\x{30C}", "\x{292}")); # U+0292 EZH
38
39 # 8
40
41 ok($objLt->eq( "\x{328}",  "\x{307}"));
42 ok($objLt->eq("e\x{328}", "e\x{307}"));
43 ok($objLt->eq("i\x{328}", "i\x{307}"));
44 ok($objLt->eq('i', 'y'));
45
46 $objLt->change(level => 2);
47
48 ok($objLt->lt( "\x{328}",  "\x{307}"));
49 ok($objLt->lt("e\x{328}", "e\x{307}"));
50 ok($objLt->lt("i\x{328}", "i\x{307}"));
51 ok($objLt->lt('i', 'y'));
52
53 # 16
54
55 ok($objLt->eq("c\x{30C}", "C\x{30C}"));
56 ok($objLt->eq("s\x{30C}", "S\x{30C}"));
57 ok($objLt->eq("z\x{30C}", "Z\x{30C}"));
58 ok($objLt->eq('y', 'Y'));
59 ok($objLt->eq("e\x{307}", "E\x{307}"));
60 ok($objLt->eq("i\x{307}", "I\x{307}"));
61 ok($objLt->eq("a\x{328}", "A\x{328}"));
62 ok($objLt->eq("e\x{328}", "E\x{328}"));
63 ok($objLt->eq("i\x{328}", "I\x{328}"));
64 ok($objLt->eq("u\x{328}", "U\x{328}"));
65
66 # 26
67
68 $objLt->change(level => 3);
69
70 ok($objLt->lt("c\x{30C}", "C\x{30C}"));
71 ok($objLt->lt("s\x{30C}", "S\x{30C}"));
72 ok($objLt->lt("z\x{30C}", "Z\x{30C}"));
73 ok($objLt->lt('y', 'Y'));
74 ok($objLt->lt("e\x{307}", "E\x{307}"));
75 ok($objLt->lt("i\x{307}", "I\x{307}"));
76 ok($objLt->lt("a\x{328}", "A\x{328}"));
77 ok($objLt->lt("e\x{328}", "E\x{328}"));
78 ok($objLt->lt("i\x{328}", "I\x{328}"));
79 ok($objLt->lt("u\x{328}", "U\x{328}"));
80
81 # 36
82
83 ok($objLt->eq("c\x{30C}", "\x{10D}"));
84 ok($objLt->eq("C\x{30C}", "\x{10C}"));
85 ok($objLt->eq("s\x{30C}", "\x{161}"));
86 ok($objLt->eq("S\x{30C}", "\x{160}"));
87 ok($objLt->eq("z\x{30C}", "\x{17E}"));
88 ok($objLt->eq("Z\x{30C}", "\x{17D}"));
89 ok($objLt->eq("e\x{307}", "\x{117}"));
90 ok($objLt->eq("E\x{307}", "\x{116}"));
91 ok($objLt->eq("I\x{307}", "\x{130}"));
92
93 # 45
94
95 ok($objLt->eq("a\x{328}", "\x{105}"));
96 ok($objLt->eq("A\x{328}", "\x{104}"));
97 ok($objLt->eq("e\x{328}", "\x{119}"));
98 ok($objLt->eq("E\x{328}", "\x{118}"));
99 ok($objLt->eq("i\x{328}", "\x{12F}"));
100 ok($objLt->eq("I\x{328}", "\x{12E}"));
101 ok($objLt->eq("u\x{328}", "\x{173}"));
102 ok($objLt->eq("U\x{328}", "\x{172}"));
103 ok($objLt->eq("u\x{304}", "\x{16B}"));
104 ok($objLt->eq("U\x{304}", "\x{16A}"));
105
106 # 55