3 unless ("A" eq pack('U', 0x41)) {
4 print "1..0 # Unicode::Collate " .
5 "cannot stringify a Unicode code point\n";
10 @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
15 BEGIN { plan tests => 72 };
19 use Unicode::Collate::Locale;
23 #########################
25 my $objAz = Unicode::Collate::Locale->
26 new(locale => 'AZ', normalization => undef);
28 ok($objAz->getlocale, 'az');
30 $objAz->change(level => 1);
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}"));
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"));
60 $objAz->change(level => 2);
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"));
75 $objAz->change(level => 3);
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"));
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}"));
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}"));