3 unless ('A' eq pack('U', 0x41)) {
4 print "1..0 # Unicode::Collate cannot pack a Unicode code point\n";
7 unless (0x41 == unpack('U', 'A')) {
8 print "1..0 # Unicode::Collate cannot get a Unicode code point\n";
11 if ($ENV{PERL_CORE}) {
13 @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
19 BEGIN { $| = 1; print "1..74\n"; }
22 my $p = my $r = shift;
25 $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
27 print $p ? "ok" : "not ok", ' ', ++$count, "\n";
30 use Unicode::Collate::Locale;
34 #########################
36 my $objCy = Unicode::Collate::Locale->
37 new(locale => 'CY', normalization => undef);
39 ok($objCy->getlocale, 'cy');
41 $objCy->change(level => 1);
43 ok($objCy->lt("c", "ch"));
44 ok($objCy->lt("cz","ch"));
45 ok($objCy->gt("d", "ch"));
46 ok($objCy->lt("d", "dd"));
47 ok($objCy->lt("dz","dd"));
48 ok($objCy->gt("e", "dd"));
49 ok($objCy->lt("f", "ff"));
50 ok($objCy->lt("fz","ff"));
51 ok($objCy->gt("g", "ff"));
52 ok($objCy->lt("g", "ng"));
53 ok($objCy->lt("gz","ng"));
54 ok($objCy->gt("h", "ng"));
55 ok($objCy->lt("l", "ll"));
56 ok($objCy->lt("lz","ll"));
57 ok($objCy->gt("m", "ll"));
58 ok($objCy->lt("p", "ph"));
59 ok($objCy->lt("pz","ph"));
60 ok($objCy->gt("q", "ph"));
61 ok($objCy->lt("r", "rh"));
62 ok($objCy->lt("rz","rh"));
63 ok($objCy->gt("s", "rh"));
64 ok($objCy->lt("t", "th"));
65 ok($objCy->lt("tz","th"));
66 ok($objCy->gt("u", "th"));
70 $objCy->change(level => 2);
72 ok($objCy->eq("ch", "Ch"));
73 ok($objCy->eq("Ch", "CH"));
74 ok($objCy->eq("dd", "Dd"));
75 ok($objCy->eq("Dd", "DD"));
76 ok($objCy->eq("ff", "Ff"));
77 ok($objCy->eq("Ff", "FF"));
78 ok($objCy->eq("ng", "Ng"));
79 ok($objCy->eq("Ng", "NG"));
80 ok($objCy->eq("ll", "Ll"));
81 ok($objCy->eq("Ll", "LL"));
82 ok($objCy->eq("ph", "Ph"));
83 ok($objCy->eq("Ph", "PH"));
84 ok($objCy->eq("rh", "Rh"));
85 ok($objCy->eq("Rh", "RH"));
86 ok($objCy->eq("th", "Th"));
87 ok($objCy->eq("Th", "TH"));
91 $objCy->change(level => 3);
93 ok($objCy->lt("ch", "Ch"));
94 ok($objCy->lt("Ch", "CH"));
95 ok($objCy->lt("dd", "Dd"));
96 ok($objCy->lt("Dd", "DD"));
97 ok($objCy->lt("ff", "Ff"));
98 ok($objCy->lt("Ff", "FF"));
99 ok($objCy->lt("ng", "Ng"));
100 ok($objCy->lt("Ng", "NG"));
101 ok($objCy->lt("ll", "Ll"));
102 ok($objCy->lt("Ll", "LL"));
103 ok($objCy->lt("ph", "Ph"));
104 ok($objCy->lt("Ph", "PH"));
105 ok($objCy->lt("rh", "Rh"));
106 ok($objCy->lt("Rh", "RH"));
107 ok($objCy->lt("th", "Th"));
108 ok($objCy->lt("Th", "TH"));
112 $objCy->change(upper_before_lower => 1);
114 ok($objCy->gt("ch", "Ch"));
115 ok($objCy->gt("Ch", "CH"));
116 ok($objCy->gt("dd", "Dd"));
117 ok($objCy->gt("Dd", "DD"));
118 ok($objCy->gt("ff", "Ff"));
119 ok($objCy->gt("Ff", "FF"));
120 ok($objCy->gt("ng", "Ng"));
121 ok($objCy->gt("Ng", "NG"));
122 ok($objCy->gt("ll", "Ll"));
123 ok($objCy->gt("Ll", "LL"));
124 ok($objCy->gt("ph", "Ph"));
125 ok($objCy->gt("Ph", "PH"));
126 ok($objCy->gt("rh", "Rh"));
127 ok($objCy->gt("Rh", "RH"));
128 ok($objCy->gt("th", "Th"));
129 ok($objCy->gt("Th", "TH"));