This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Unicode-Collate to CPAN version 0.58
[perl5.git] / cpan / Unicode-Collate / t / loc_nn.t
CommitLineData
456a1446
CBW
1#!perl
2use strict;
3use warnings;
4use Unicode::Collate::Locale;
5
6use Test;
7plan tests => 83;
8
9my $eth = pack 'U', 0xF0;
10my $ETH = pack 'U', 0xD0;
11my $thrn = pack 'U', 0xFE;
12my $THRN = pack 'U', 0xDE;
13my $uuml = pack 'U', 0xFC;
14my $Uuml = pack 'U', 0xDC;
15my $ae = pack 'U', 0xE6;
16my $AE = pack 'U', 0xC6;
17my $auml = pack 'U', 0xE4;
18my $Auml = pack 'U', 0xC4;
19my $ostk = pack 'U', 0xF8;
20my $Ostk = pack 'U', 0xD8;
21my $ouml = pack 'U', 0xF6;
22my $Ouml = pack 'U', 0xD6;
23my $arng = pack 'U', 0xE5;
24my $Arng = pack 'U', 0xC5;
25
26my $objNn = Unicode::Collate::Locale->
27 new(locale => 'NN', normalization => undef);
28
29ok(1);
30ok($objNn->getlocale, 'nn');
31
32$objNn->change(level => 1);
33
34ok($objNn->lt("z", $ae));
35ok($objNn->lt($ae, $ostk));
36ok($objNn->lt($ostk, $arng));
6484f676 37ok($objNn->lt($arng, "\x{292}"));
456a1446
CBW
38
39# 6
40
41ok($objNn->eq('d', "\x{111}"));
42ok($objNn->eq("\x{111}", $eth));
43ok($objNn->eq('y', $uuml));
6484f676 44ok($objNn->eq($uuml, "\x{171}"));
456a1446
CBW
45
46ok($objNn->eq($ae, $auml));
47ok($objNn->eq($auml, "\x{119}"));
48ok($objNn->eq($ostk, $ouml));
49ok($objNn->eq($ouml, "\x{151}"));
50ok($objNn->eq("\x{151}", "\x{153}"));
51
52# 15
53
54$objNn->change(level => 2);
55
56ok($objNn->lt('d', "\x{111}"));
57ok($objNn->lt("\x{111}", $eth));
58ok($objNn->lt('y', $uuml));
6484f676 59ok($objNn->lt($uuml, "\x{171}"));
456a1446
CBW
60
61ok($objNn->lt($ae, $auml));
62ok($objNn->lt($auml, "\x{119}"));
63ok($objNn->lt($ostk, $ouml));
64ok($objNn->lt($ouml, "\x{151}"));
65ok($objNn->lt("\x{151}", "\x{153}"));
66
67# 24
68
69ok($objNn->eq("\x{111}", "\x{110}"));
70ok($objNn->eq($eth, $ETH));
71ok($objNn->eq('th', $thrn));
72ok($objNn->eq($thrn, 'TH'));
73ok($objNn->eq('TH', $THRN));
74ok($objNn->eq($uuml, $Uuml));
75ok($objNn->eq("\x{171}", "\x{170}"));
76ok($objNn->eq($ae, $AE));
77ok($objNn->eq($AE, "\x{1D2D}"));
78ok($objNn->eq($auml, $Auml));
79ok($objNn->eq("\x{119}", "\x{118}"));
80ok($objNn->eq($ostk, $Ostk));
81ok($objNn->eq($ouml, $Ouml));
82ok($objNn->eq("\x{151}", "\x{150}"));
83ok($objNn->eq("\x{153}", "\x{152}"));
84ok($objNn->eq($arng, $Arng));
85
86# 40
87
88$objNn->change(level => 3);
89
90ok($objNn->lt("\x{111}", "\x{110}"));
91ok($objNn->lt($eth, $ETH));
92ok($objNn->lt('th', $thrn));
93ok($objNn->lt($thrn, 'TH'));
94ok($objNn->lt('TH', $THRN));
95ok($objNn->lt($uuml, $Uuml));
96ok($objNn->lt("\x{171}", "\x{170}"));
97ok($objNn->lt($ae, $AE));
98ok($objNn->lt($AE, "\x{1D2D}"));
99ok($objNn->lt($auml, $Auml));
100ok($objNn->lt("\x{119}", "\x{118}"));
101ok($objNn->lt($ostk, $Ostk));
102ok($objNn->lt($ouml, $Ouml));
103ok($objNn->lt("\x{151}", "\x{150}"));
104ok($objNn->lt("\x{153}", "\x{152}"));
105ok($objNn->lt($arng, $Arng));
106
107# 56
108
109ok($objNn->eq("d\x{335}", "\x{111}"));
110ok($objNn->eq("D\x{335}", "\x{110}"));
111ok($objNn->eq("u\x{308}", $uuml));
112ok($objNn->eq("U\x{308}", $Uuml));
113ok($objNn->eq("u\x{30B}", "\x{171}"));
114ok($objNn->eq("U\x{30B}", "\x{170}"));
115ok($objNn->eq("\x{1FD}", "$ae\x{301}"));
116ok($objNn->eq("\x{1FC}", "$AE\x{301}"));
117ok($objNn->eq("\x{1E3}", "$ae\x{304}"));
118ok($objNn->eq("\x{1E2}", "$AE\x{304}"));
119
120# 66
121
122ok($objNn->eq("a\x{308}", $auml));
123ok($objNn->eq("A\x{308}", $Auml));
124ok($objNn->eq("e\x{328}", "\x{119}"));
125ok($objNn->eq("E\x{328}", "\x{118}"));
126ok($objNn->eq("o\x{338}", $ostk));
127ok($objNn->eq("O\x{338}", $Ostk));
128ok($objNn->eq("o\x{338}\x{301}", "\x{1FF}"));
129ok($objNn->eq("O\x{338}\x{301}", "\x{1FE}"));
130ok($objNn->eq("o\x{308}", $ouml));
131ok($objNn->eq("O\x{308}", $Ouml));
132ok($objNn->eq("o\x{30B}", "\x{151}"));
133ok($objNn->eq("O\x{30B}", "\x{150}"));
134ok($objNn->eq("a\x{30A}", $arng));
135ok($objNn->eq("A\x{30A}", $Arng));
136ok($objNn->eq("A\x{30A}", "\x{212B}"));
137ok($objNn->eq("a\x{30A}\x{301}", "\x{1FB}"));
138ok($objNn->eq("A\x{30A}\x{301}", "\x{1FA}"));
139
140# 83