xref: /openbsd-src/gnu/usr.bin/perl/cpan/Unicode-Collate/t/loc_az.t (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1
2BEGIN {
3    unless ('A' eq pack('U', 0x41)) {
4	print "1..0 # Unicode::Collate cannot pack a Unicode code point\n";
5	exit 0;
6    }
7    unless (0x41 == unpack('U', 'A')) {
8	print "1..0 # Unicode::Collate cannot get a Unicode code point\n";
9	exit 0;
10    }
11    if ($ENV{PERL_CORE}) {
12	chdir('t') if -d 't';
13	@INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
14    }
15}
16
17use strict;
18use warnings;
19BEGIN { $| = 1; print "1..72\n"; }
20my $count = 0;
21sub ok ($;$) {
22    my $p = my $r = shift;
23    if (@_) {
24	my $x = shift;
25	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
26    }
27    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
28}
29
30use Unicode::Collate::Locale;
31
32ok(1);
33
34#########################
35
36my $objAz = Unicode::Collate::Locale->
37    new(locale => 'AZ', normalization => undef);
38
39ok($objAz->getlocale, 'az');
40
41$objAz->change(level => 1);
42
43ok($objAz->lt("c", "c\x{327}"));
44ok($objAz->gt("d", "c\x{327}"));
45ok($objAz->lt("g", "g\x{306}"));
46ok($objAz->gt("h", "g\x{306}"));
47ok($objAz->lt("h", "I"));
48ok($objAz->lt("I", "i"));
49ok($objAz->gt("j", "i"));
50ok($objAz->lt("o", "o\x{308}"));
51ok($objAz->gt("p", "o\x{308}"));
52ok($objAz->lt("s", "s\x{327}"));
53ok($objAz->gt("t", "s\x{327}"));
54ok($objAz->lt("u", "u\x{308}"));
55ok($objAz->gt("v", "u\x{308}"));
56
57# 15
58
59ok($objAz->lt("k", "q"));
60ok($objAz->lt("kz","q"));
61ok($objAz->gt("l", "q"));
62ok($objAz->lt("e", "\x{259}"));
63ok($objAz->gt("f", "\x{259}"));
64ok($objAz->lt("h", "x"));
65ok($objAz->lt("hz","x"));
66ok($objAz->gt("I","x"));
67ok($objAz->gt("i","x"));
68
69# 24
70
71$objAz->change(level => 2);
72
73ok($objAz->eq("c\x{327}", "C\x{327}"));
74ok($objAz->eq("g\x{306}", "G\x{306}"));
75ok($objAz->eq("\x{131}", "I"));
76ok($objAz->eq("\x{130}", "i"));
77ok($objAz->eq("o\x{308}", "O\x{308}"));
78ok($objAz->eq("s\x{327}", "S\x{327}"));
79ok($objAz->eq("u\x{308}", "U\x{308}"));
80ok($objAz->eq("q", "Q"));
81ok($objAz->eq("\x{259}", "\x{18F}"));
82ok($objAz->eq("x", "X"));
83
84# 34
85
86$objAz->change(level => 3);
87
88ok($objAz->lt("c\x{327}", "C\x{327}"));
89ok($objAz->lt("g\x{306}", "G\x{306}"));
90ok($objAz->lt("\x{131}", "I"));
91ok($objAz->gt("\x{130}", "i"));
92ok($objAz->lt("o\x{308}", "O\x{308}"));
93ok($objAz->lt("s\x{327}", "S\x{327}"));
94ok($objAz->lt("u\x{308}", "U\x{308}"));
95ok($objAz->lt("k", "K"));
96ok($objAz->lt("\x{259}", "\x{18F}"));
97ok($objAz->lt("x", "X"));
98
99# 44
100
101ok($objAz->eq("c\x{327}", pack('U', 0xE7)));
102ok($objAz->eq("C\x{327}", pack('U', 0xC7)));
103ok($objAz->eq("g\x{306}", "\x{11F}"));
104ok($objAz->eq("G\x{306}", "\x{11E}"));
105ok($objAz->eq("I\x{300}", pack('U', 0xCC)));
106ok($objAz->eq("I\x{301}", pack('U', 0xCD)));
107ok($objAz->eq("I\x{302}", pack('U', 0xCE)));
108ok($objAz->eq("I\x{308}", pack('U', 0xCF)));
109ok($objAz->eq("I\x{304}", "\x{12A}"));
110ok($objAz->eq("I\x{306}", "\x{12C}"));
111ok($objAz->eq("I\x{328}", "\x{12E}"));
112ok($objAz->eq("I\x{307}", "\x{130}"));
113
114# 56
115
116ok($objAz->eq("o\x{308}", pack('U', 0xF6)));
117ok($objAz->eq("O\x{308}", pack('U', 0xD6)));
118ok($objAz->eq("o\x{308}\x{304}", "\x{22B}"));
119ok($objAz->eq("O\x{308}\x{304}", "\x{22A}"));
120ok($objAz->eq("s\x{327}", "\x{15F}"));
121ok($objAz->eq("S\x{327}", "\x{15E}"));
122ok($objAz->eq("u\x{308}", pack('U', 0xFC)));
123ok($objAz->eq("U\x{308}", pack('U', 0xDC)));
124ok($objAz->eq("u\x{308}\x{300}", "\x{1DC}"));
125ok($objAz->eq("U\x{308}\x{300}", "\x{1DB}"));
126ok($objAz->eq("u\x{308}\x{301}", "\x{1D8}"));
127ok($objAz->eq("U\x{308}\x{301}", "\x{1D7}"));
128ok($objAz->eq("u\x{308}\x{304}", "\x{1D6}"));
129ok($objAz->eq("U\x{308}\x{304}", "\x{1D5}"));
130ok($objAz->eq("u\x{308}\x{30C}", "\x{1DA}"));
131ok($objAz->eq("U\x{308}\x{30C}", "\x{1D9}"));
132
133# 72
134