1898184e3Ssthen 2898184e3SsthenBEGIN { 3898184e3Ssthen if ($ENV{PERL_CORE}) { 4898184e3Ssthen chdir('t') if -d 't'; 5898184e3Ssthen @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib); 6898184e3Ssthen } 7898184e3Ssthen} 8898184e3Ssthen 9898184e3Ssthenuse strict; 10898184e3Ssthenuse warnings; 11898184e3SsthenBEGIN { $| = 1; print "1..118\n"; } 12898184e3Ssthenmy $count = 0; 13898184e3Ssthensub ok ($;$) { 14898184e3Ssthen my $p = my $r = shift; 15898184e3Ssthen if (@_) { 16898184e3Ssthen my $x = shift; 17898184e3Ssthen $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x; 18898184e3Ssthen } 19898184e3Ssthen print $p ? "ok" : "not ok", ' ', ++$count, "\n"; 20898184e3Ssthen} 21898184e3Ssthen 22898184e3Ssthenuse Unicode::Collate::Locale; 23898184e3Ssthen 24898184e3Ssthenok(1); 25898184e3Ssthen 26*256a93a4Safresh1sub _pack_U { Unicode::Collate::pack_U(@_) } 27*256a93a4Safresh1sub _unpack_U { Unicode::Collate::unpack_U(@_) } 28*256a93a4Safresh1 29898184e3Ssthen######################### 30898184e3Ssthen 31898184e3Ssthenmy $objSrLatn = Unicode::Collate::Locale-> 32898184e3Ssthen new(locale => 'SR-LATN', normalization => undef); 33898184e3Ssthen 34898184e3Ssthenok($objSrLatn->getlocale, 'sr_Latn'); 35898184e3Ssthen 36898184e3Ssthen$objSrLatn->change(level => 1); 37898184e3Ssthen 38898184e3Ssthenok($objSrLatn->lt("c", "c\x{30C}")); 39898184e3Ssthenok($objSrLatn->lt("c\x{30C}", "c\x{301}")); 40898184e3Ssthenok($objSrLatn->gt("d", "c\x{301}")); 41898184e3Ssthenok($objSrLatn->lt("d", "dz\x{30C}")); 42898184e3Ssthenok($objSrLatn->lt("dzz", "dz\x{30C}")); 43898184e3Ssthenok($objSrLatn->lt("dz\x{30C}", "d\x{335}")); 44898184e3Ssthenok($objSrLatn->gt("e", "d\x{335}")); 45898184e3Ssthenok($objSrLatn->lt("l", "lj")); 46898184e3Ssthenok($objSrLatn->lt("lz","lj")); 47898184e3Ssthenok($objSrLatn->gt("m", "lj")); 48898184e3Ssthenok($objSrLatn->lt("n", "nj")); 49898184e3Ssthenok($objSrLatn->lt("nz","nj")); 50898184e3Ssthenok($objSrLatn->gt("o", "nj")); 51898184e3Ssthenok($objSrLatn->lt("s", "s\x{30C}")); 52898184e3Ssthenok($objSrLatn->lt("sz","s\x{30C}")); 53898184e3Ssthenok($objSrLatn->gt("t", "s\x{30C}")); 54898184e3Ssthenok($objSrLatn->lt("z", "z\x{30C}")); 55898184e3Ssthenok($objSrLatn->lt("zz","z\x{30C}")); 56898184e3Ssthenok($objSrLatn->lt("z\x{30C}", "\x{292}")); # U+0292 EZH 57898184e3Ssthen 58898184e3Ssthen# 21 59898184e3Ssthen 60898184e3Ssthen# not tailored 61898184e3Ssthenok($objSrLatn->lt("dZ\x{30C}","dz\x{30C}")); 62898184e3Ssthenok($objSrLatn->lt("lJ", "lj")); 63898184e3Ssthenok($objSrLatn->lt("nJ", "nj")); 64898184e3Ssthen 65898184e3Ssthen# 24 66898184e3Ssthen 67898184e3Ssthen$objSrLatn->change(level => 2); 68898184e3Ssthen 69898184e3Ssthenok($objSrLatn->eq("c\x{30C}", "C\x{30C}")); 70898184e3Ssthenok($objSrLatn->eq("c\x{301}", "C\x{301}")); 71898184e3Ssthenok($objSrLatn->eq("dz\x{30C}","Dz\x{30C}")); 72898184e3Ssthenok($objSrLatn->eq("Dz\x{30C}","DZ\x{30C}")); 73898184e3Ssthenok($objSrLatn->eq("d\x{335}", "D\x{335}")); 74898184e3Ssthenok($objSrLatn->eq("lj", "Lj")); 75898184e3Ssthenok($objSrLatn->eq("Lj", "LJ")); 76898184e3Ssthenok($objSrLatn->eq("nj", "Nj")); 77898184e3Ssthenok($objSrLatn->eq("Nj", "NJ")); 78898184e3Ssthenok($objSrLatn->eq("s\x{30C}", "S\x{30C}")); 79898184e3Ssthenok($objSrLatn->eq("z\x{30C}", "Z\x{30C}")); 80898184e3Ssthen 81898184e3Ssthen# 35 82898184e3Ssthen 83898184e3Ssthenok($objSrLatn->eq("dz\x{30C}", "\x{1C6}")); 84898184e3Ssthenok($objSrLatn->eq("Dz\x{30C}", "\x{1C6}")); 85898184e3Ssthenok($objSrLatn->eq("Dz\x{30C}", "\x{1C5}")); 86898184e3Ssthenok($objSrLatn->eq("DZ\x{30C}", "\x{1C5}")); 87898184e3Ssthenok($objSrLatn->eq("DZ\x{30C}", "\x{1C4}")); 88898184e3Ssthen 89898184e3Ssthenok($objSrLatn->eq("lj", "\x{1C9}")); 90898184e3Ssthenok($objSrLatn->eq("Lj", "\x{1C9}")); 91898184e3Ssthenok($objSrLatn->eq("Lj", "\x{1C8}")); 92898184e3Ssthenok($objSrLatn->eq("LJ", "\x{1C8}")); 93898184e3Ssthenok($objSrLatn->eq("LJ", "\x{1C7}")); 94898184e3Ssthen 95898184e3Ssthenok($objSrLatn->eq("nj", "\x{1CC}")); 96898184e3Ssthenok($objSrLatn->eq("Nj", "\x{1CC}")); 97898184e3Ssthenok($objSrLatn->eq("Nj", "\x{1CB}")); 98898184e3Ssthenok($objSrLatn->eq("NJ", "\x{1CB}")); 99898184e3Ssthenok($objSrLatn->eq("NJ", "\x{1CA}")); 100898184e3Ssthen 101898184e3Ssthen# 50 102898184e3Ssthen 103898184e3Ssthen$objSrLatn->change(level => 3); 104898184e3Ssthen 105898184e3Ssthenok($objSrLatn->lt("c\x{30C}", "C\x{30C}")); 106898184e3Ssthenok($objSrLatn->lt("c\x{301}", "C\x{301}")); 107898184e3Ssthenok($objSrLatn->lt("dz\x{30C}","Dz\x{30C}")); 108898184e3Ssthenok($objSrLatn->lt("Dz\x{30C}","DZ\x{30C}")); 109898184e3Ssthenok($objSrLatn->lt("d\x{335}", "D\x{335}")); 110898184e3Ssthenok($objSrLatn->lt("lj", "Lj")); 111898184e3Ssthenok($objSrLatn->lt("Lj", "LJ")); 112898184e3Ssthenok($objSrLatn->lt("nj", "Nj")); 113898184e3Ssthenok($objSrLatn->lt("Nj", "NJ")); 114898184e3Ssthenok($objSrLatn->lt("s\x{30C}", "S\x{30C}")); 115898184e3Ssthenok($objSrLatn->lt("z\x{30C}", "Z\x{30C}")); 116898184e3Ssthen 117898184e3Ssthen# 61 118898184e3Ssthen 119898184e3Ssthenok($objSrLatn->lt("dz\x{30C}", "\x{1C6}")); 120898184e3Ssthenok($objSrLatn->gt("Dz\x{30C}", "\x{1C6}")); 121898184e3Ssthenok($objSrLatn->lt("Dz\x{30C}", "\x{1C5}")); 122898184e3Ssthenok($objSrLatn->gt("DZ\x{30C}", "\x{1C5}")); 123898184e3Ssthenok($objSrLatn->lt("DZ\x{30C}", "\x{1C4}")); 124898184e3Ssthen 125898184e3Ssthenok($objSrLatn->lt("lj", "\x{1C9}")); 126898184e3Ssthenok($objSrLatn->gt("Lj", "\x{1C9}")); 127898184e3Ssthenok($objSrLatn->lt("Lj", "\x{1C8}")); 128898184e3Ssthenok($objSrLatn->gt("LJ", "\x{1C8}")); 129898184e3Ssthenok($objSrLatn->lt("LJ", "\x{1C7}")); 130898184e3Ssthen 131898184e3Ssthenok($objSrLatn->lt("nj", "\x{1CC}")); 132898184e3Ssthenok($objSrLatn->gt("Nj", "\x{1CC}")); 133898184e3Ssthenok($objSrLatn->lt("Nj", "\x{1CB}")); 134898184e3Ssthenok($objSrLatn->gt("NJ", "\x{1CB}")); 135898184e3Ssthenok($objSrLatn->lt("NJ", "\x{1CA}")); 136898184e3Ssthen 137898184e3Ssthen# 76 138898184e3Ssthen 139898184e3Ssthenok($objSrLatn->eq("c\x{30C}", "\x{10D}")); 140898184e3Ssthenok($objSrLatn->eq("C\x{30C}", "\x{10C}")); 141898184e3Ssthenok($objSrLatn->eq("c\x{301}", "\x{107}")); 142898184e3Ssthenok($objSrLatn->eq("c\x{341}", "\x{107}")); 143898184e3Ssthenok($objSrLatn->eq("C\x{301}", "\x{106}")); 144898184e3Ssthenok($objSrLatn->eq("C\x{341}", "\x{106}")); 145898184e3Ssthenok($objSrLatn->eq("dz\x{30C}", "d\x{17E}")); 146898184e3Ssthenok($objSrLatn->eq("dZ\x{30C}", "d\x{17D}")); 147898184e3Ssthenok($objSrLatn->eq("Dz\x{30C}", "D\x{17E}")); 148898184e3Ssthenok($objSrLatn->eq("DZ\x{30C}", "D\x{17D}")); 149898184e3Ssthenok($objSrLatn->eq("d\x{335}", "\x{111}")); 150898184e3Ssthenok($objSrLatn->eq("D\x{335}", "\x{110}")); 151898184e3Ssthenok($objSrLatn->eq("s\x{30C}", "\x{161}")); 152898184e3Ssthenok($objSrLatn->eq("S\x{30C}", "\x{160}")); 153898184e3Ssthenok($objSrLatn->eq("z\x{30C}", "\x{17E}")); 154898184e3Ssthenok($objSrLatn->eq("Z\x{30C}", "\x{17D}")); 155898184e3Ssthen 156898184e3Ssthen# 92 157898184e3Ssthen 158898184e3Ssthen$objSrLatn->change(upper_before_lower => 1); 159898184e3Ssthen 160898184e3Ssthenok($objSrLatn->gt("c\x{30C}", "C\x{30C}")); 161898184e3Ssthenok($objSrLatn->gt("c\x{301}", "C\x{301}")); 162898184e3Ssthenok($objSrLatn->gt("dz\x{30C}","Dz\x{30C}")); 163898184e3Ssthenok($objSrLatn->gt("Dz\x{30C}","DZ\x{30C}")); 164898184e3Ssthenok($objSrLatn->gt("d\x{335}", "D\x{335}")); 165898184e3Ssthenok($objSrLatn->gt("lj", "Lj")); 166898184e3Ssthenok($objSrLatn->gt("Lj", "LJ")); 167898184e3Ssthenok($objSrLatn->gt("nj", "Nj")); 168898184e3Ssthenok($objSrLatn->gt("Nj", "NJ")); 169898184e3Ssthenok($objSrLatn->gt("s\x{30C}", "S\x{30C}")); 170898184e3Ssthenok($objSrLatn->gt("z\x{30C}", "Z\x{30C}")); 171898184e3Ssthen 172898184e3Ssthen# 103 173898184e3Ssthen 174898184e3Ssthenok($objSrLatn->lt("DZ\x{30C}", "\x{1C4}")); 175898184e3Ssthenok($objSrLatn->gt("Dz\x{30C}", "\x{1C4}")); 176898184e3Ssthenok($objSrLatn->lt("Dz\x{30C}", "\x{1C5}")); 177898184e3Ssthenok($objSrLatn->gt("dz\x{30C}", "\x{1C5}")); 178898184e3Ssthenok($objSrLatn->lt("dz\x{30C}", "\x{1C6}")); 179898184e3Ssthen 180898184e3Ssthenok($objSrLatn->lt("LJ", "\x{1C7}")); 181898184e3Ssthenok($objSrLatn->gt("Lj", "\x{1C7}")); 182898184e3Ssthenok($objSrLatn->lt("Lj", "\x{1C8}")); 183898184e3Ssthenok($objSrLatn->gt("lj", "\x{1C8}")); 184898184e3Ssthenok($objSrLatn->lt("lj", "\x{1C9}")); 185898184e3Ssthen 186898184e3Ssthenok($objSrLatn->lt("NJ", "\x{1CA}")); 187898184e3Ssthenok($objSrLatn->gt("Nj", "\x{1CA}")); 188898184e3Ssthenok($objSrLatn->lt("Nj", "\x{1CB}")); 189898184e3Ssthenok($objSrLatn->gt("nj", "\x{1CB}")); 190898184e3Ssthenok($objSrLatn->lt("nj", "\x{1CC}")); 191898184e3Ssthen 192898184e3Ssthen# 118 193