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.68
[perl5.git] / cpan / Unicode-Collate / t / loc_az.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 => 72 };
16
17 use strict;
18 use warnings;
19 use Unicode::Collate::Locale;
20
21 ok(1);
22
23 #########################
24
25 my $objAz = Unicode::Collate::Locale->
26     new(locale => 'AZ', normalization => undef);
27
28 ok($objAz->getlocale, 'az');
29
30 $objAz->change(level => 1);
31
32 ok($objAz->lt("c", "c\x{327}"));
33 ok($objAz->gt("d", "c\x{327}"));
34 ok($objAz->lt("g", "g\x{306}"));
35 ok($objAz->gt("h", "g\x{306}"));
36 ok($objAz->lt("h", "I"));
37 ok($objAz->lt("I", "i"));
38 ok($objAz->gt("j", "i"));
39 ok($objAz->lt("o", "o\x{308}"));
40 ok($objAz->gt("p", "o\x{308}"));
41 ok($objAz->lt("s", "s\x{327}"));
42 ok($objAz->gt("t", "s\x{327}"));
43 ok($objAz->lt("u", "u\x{308}"));
44 ok($objAz->gt("v", "u\x{308}"));
45
46 # 15
47
48 ok($objAz->lt("k", "q"));
49 ok($objAz->lt("kz","q"));
50 ok($objAz->gt("l", "q"));
51 ok($objAz->lt("e", "\x{259}"));
52 ok($objAz->gt("f", "\x{259}"));
53 ok($objAz->lt("h", "x"));
54 ok($objAz->lt("hz","x"));
55 ok($objAz->gt("I","x"));
56 ok($objAz->gt("i","x"));
57
58 # 24
59
60 $objAz->change(level => 2);
61
62 ok($objAz->eq("c\x{327}", "C\x{327}"));
63 ok($objAz->eq("g\x{306}", "G\x{306}"));
64 ok($objAz->eq("\x{131}", "I"));
65 ok($objAz->eq("\x{130}", "i"));
66 ok($objAz->eq("o\x{308}", "O\x{308}"));
67 ok($objAz->eq("s\x{327}", "S\x{327}"));
68 ok($objAz->eq("u\x{308}", "U\x{308}"));
69 ok($objAz->eq("q", "Q"));
70 ok($objAz->eq("\x{259}", "\x{18F}"));
71 ok($objAz->eq("x", "X"));
72
73 # 34
74
75 $objAz->change(level => 3);
76
77 ok($objAz->lt("c\x{327}", "C\x{327}"));
78 ok($objAz->lt("g\x{306}", "G\x{306}"));
79 ok($objAz->lt("\x{131}", "I"));
80 ok($objAz->gt("\x{130}", "i"));
81 ok($objAz->lt("o\x{308}", "O\x{308}"));
82 ok($objAz->lt("s\x{327}", "S\x{327}"));
83 ok($objAz->lt("u\x{308}", "U\x{308}"));
84 ok($objAz->lt("k", "K"));
85 ok($objAz->lt("\x{259}", "\x{18F}"));
86 ok($objAz->lt("x", "X"));
87
88 # 44
89
90 ok($objAz->eq("c\x{327}", pack('U', 0xE7)));
91 ok($objAz->eq("C\x{327}", pack('U', 0xC7)));
92 ok($objAz->eq("g\x{306}", "\x{11F}"));
93 ok($objAz->eq("G\x{306}", "\x{11E}"));
94 ok($objAz->eq("I\x{300}", pack('U', 0xCC)));
95 ok($objAz->eq("I\x{301}", pack('U', 0xCD)));
96 ok($objAz->eq("I\x{302}", pack('U', 0xCE)));
97 ok($objAz->eq("I\x{308}", pack('U', 0xCF)));
98 ok($objAz->eq("I\x{304}", "\x{12A}"));
99 ok($objAz->eq("I\x{306}", "\x{12C}"));
100 ok($objAz->eq("I\x{328}", "\x{12E}"));
101 ok($objAz->eq("I\x{307}", "\x{130}"));
102
103 # 56
104
105 ok($objAz->eq("o\x{308}", pack('U', 0xF6)));
106 ok($objAz->eq("O\x{308}", pack('U', 0xD6)));
107 ok($objAz->eq("o\x{308}\x{304}", "\x{22B}"));
108 ok($objAz->eq("O\x{308}\x{304}", "\x{22A}"));
109 ok($objAz->eq("s\x{327}", "\x{15F}"));
110 ok($objAz->eq("S\x{327}", "\x{15E}"));
111 ok($objAz->eq("u\x{308}", pack('U', 0xFC)));
112 ok($objAz->eq("U\x{308}", pack('U', 0xDC)));
113 ok($objAz->eq("u\x{308}\x{300}", "\x{1DC}"));
114 ok($objAz->eq("U\x{308}\x{300}", "\x{1DB}"));
115 ok($objAz->eq("u\x{308}\x{301}", "\x{1D8}"));
116 ok($objAz->eq("U\x{308}\x{301}", "\x{1D7}"));
117 ok($objAz->eq("u\x{308}\x{304}", "\x{1D6}"));
118 ok($objAz->eq("U\x{308}\x{304}", "\x{1D5}"));
119 ok($objAz->eq("u\x{308}\x{30C}", "\x{1DA}"));
120 ok($objAz->eq("U\x{308}\x{30C}", "\x{1D9}"));
121
122 # 72