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..115\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 31*256a93a4Safresh1my $eth = _pack_U(0xF0); 32*256a93a4Safresh1my $ETH = _pack_U(0xD0); 33*256a93a4Safresh1my $thrn = _pack_U(0xFE); 34*256a93a4Safresh1my $THRN = _pack_U(0xDE); 35*256a93a4Safresh1my $uuml = _pack_U(0xFC); 36*256a93a4Safresh1my $Uuml = _pack_U(0xDC); 37*256a93a4Safresh1my $arng = _pack_U(0xE5); 38*256a93a4Safresh1my $Arng = _pack_U(0xC5); 39*256a93a4Safresh1my $auml = _pack_U(0xE4); 40*256a93a4Safresh1my $Auml = _pack_U(0xC4); 41*256a93a4Safresh1my $ae = _pack_U(0xE6); 42*256a93a4Safresh1my $AE = _pack_U(0xC6); 43*256a93a4Safresh1my $ouml = _pack_U(0xF6); 44*256a93a4Safresh1my $Ouml = _pack_U(0xD6); 45*256a93a4Safresh1my $ostk = _pack_U(0xF8); 46*256a93a4Safresh1my $Ostk = _pack_U(0xD8); 47*256a93a4Safresh1my $ocrc = _pack_U(0xF4); 48*256a93a4Safresh1my $Ocrc = _pack_U(0xD4); 49898184e3Ssthen 50898184e3Ssthenmy $objSv = Unicode::Collate::Locale-> 51898184e3Ssthen new(locale => 'SV', normalization => undef); 52898184e3Ssthen 53898184e3Ssthenok($objSv->getlocale, 'sv'); 54898184e3Ssthen 55898184e3Ssthen$objSv->change(level => 1); 56898184e3Ssthen 57898184e3Ssthenok($objSv->lt('z', $arng)); 58898184e3Ssthenok($objSv->lt($arng, $auml)); 59898184e3Ssthenok($objSv->lt($auml, $ouml)); 60898184e3Ssthenok($objSv->lt($ouml, "\x{1C0}")); 61898184e3Ssthen 62898184e3Ssthen# 6 63898184e3Ssthen 64898184e3Ssthenok($objSv->eq('d', "\x{111}")); 65898184e3Ssthenok($objSv->eq("\x{111}", $eth)); 66898184e3Ssthenok($objSv->eq('v', 'w')); 67898184e3Ssthenok($objSv->eq('y', $uuml)); 68898184e3Ssthenok($objSv->eq($uuml, "\x{171}")); 69898184e3Ssthen 70898184e3Ssthenok($objSv->eq($auml, $ae)); 71898184e3Ssthenok($objSv->eq($ae, "\x{119}")); 72898184e3Ssthenok($objSv->eq($ouml, $ostk)); 73898184e3Ssthenok($objSv->eq($ostk, "\x{151}")); 74898184e3Ssthenok($objSv->eq("\x{151}", "\x{153}")); 75898184e3Ssthenok($objSv->eq("\x{153}", $ocrc)); 76898184e3Ssthen 77898184e3Ssthen# 17 78898184e3Ssthen 79898184e3Ssthen$objSv->change(level => 2); 80898184e3Ssthen 81898184e3Ssthenok($objSv->lt('d', "\x{111}")); 82898184e3Ssthenok($objSv->lt("\x{111}", $eth)); 83898184e3Ssthenok($objSv->lt('v', 'w')); 84898184e3Ssthenok($objSv->lt('y', $uuml)); 85898184e3Ssthenok($objSv->lt($uuml, "\x{171}")); 86898184e3Ssthen 87898184e3Ssthenok($objSv->lt($auml, $ae)); 88898184e3Ssthenok($objSv->lt($ae, "\x{119}")); 89898184e3Ssthenok($objSv->lt($ouml, $ostk)); 90898184e3Ssthenok($objSv->lt($ostk, "\x{151}")); 91898184e3Ssthenok($objSv->lt("\x{151}", "\x{153}")); 92898184e3Ssthenok($objSv->lt("\x{153}", $ocrc)); 93898184e3Ssthen 94898184e3Ssthen# 28 95898184e3Ssthen 96898184e3Ssthenok($objSv->eq("\x{111}", "\x{110}")); 97898184e3Ssthenok($objSv->eq($eth, $ETH)); 98898184e3Ssthenok($objSv->eq('th', $thrn)); 99898184e3Ssthenok($objSv->eq($thrn, 'TH')); 100898184e3Ssthenok($objSv->eq('TH', $THRN)); 101898184e3Ssthenok($objSv->eq('w', 'W')); 102898184e3Ssthenok($objSv->eq($uuml, $Uuml)); 103898184e3Ssthenok($objSv->eq("\x{171}", "\x{170}")); 104898184e3Ssthenok($objSv->eq($arng, $Arng)); 105898184e3Ssthenok($objSv->eq($auml, $Auml)); 106898184e3Ssthenok($objSv->eq($ae, $AE)); 107898184e3Ssthenok($objSv->eq($AE, "\x{1D2D}")); 108898184e3Ssthenok($objSv->eq("\x{119}", "\x{118}")); 109898184e3Ssthenok($objSv->eq($ouml, $Ouml)); 110898184e3Ssthenok($objSv->eq($ostk, $Ostk)); 111898184e3Ssthenok($objSv->eq("\x{151}", "\x{150}")); 112898184e3Ssthenok($objSv->eq("\x{153}", "\x{152}")); 113898184e3Ssthenok($objSv->eq($ocrc, $Ocrc)); 114898184e3Ssthen 115898184e3Ssthen# 46 116898184e3Ssthen 117898184e3Ssthen$objSv->change(level => 3); 118898184e3Ssthen 119898184e3Ssthenok($objSv->lt("\x{111}", "\x{110}")); 120898184e3Ssthenok($objSv->lt($eth, $ETH)); 121898184e3Ssthenok($objSv->lt('th', $thrn)); 122898184e3Ssthenok($objSv->lt($thrn, 'TH')); 123898184e3Ssthenok($objSv->lt('TH', $THRN)); 124898184e3Ssthenok($objSv->lt('w', 'W')); 125898184e3Ssthenok($objSv->lt($uuml, $Uuml)); 126898184e3Ssthenok($objSv->lt("\x{171}", "\x{170}")); 127898184e3Ssthenok($objSv->lt($arng, $Arng)); 128898184e3Ssthenok($objSv->lt($auml, $Auml)); 129898184e3Ssthenok($objSv->lt($ae, $AE)); 130898184e3Ssthenok($objSv->lt($AE, "\x{1D2D}")); 131898184e3Ssthenok($objSv->lt("\x{119}", "\x{118}")); 132898184e3Ssthenok($objSv->lt($ouml, $Ouml)); 133898184e3Ssthenok($objSv->lt($ostk, $Ostk)); 134898184e3Ssthenok($objSv->lt("\x{151}", "\x{150}")); 135898184e3Ssthenok($objSv->lt("\x{153}", "\x{152}")); 136898184e3Ssthenok($objSv->lt($ocrc, $Ocrc)); 137898184e3Ssthen 138898184e3Ssthen# 64 139898184e3Ssthen 140898184e3Ssthenok($objSv->eq("d\x{335}", "\x{111}")); 141898184e3Ssthenok($objSv->eq("D\x{335}", "\x{110}")); 142898184e3Ssthenok($objSv->eq("u\x{308}", $uuml)); 143898184e3Ssthenok($objSv->eq("U\x{308}", $Uuml)); 144898184e3Ssthenok($objSv->eq("u\x{30B}", "\x{171}")); 145898184e3Ssthenok($objSv->eq("U\x{30B}", "\x{170}")); 146898184e3Ssthenok($objSv->eq("a\x{30A}", $arng)); 147898184e3Ssthenok($objSv->eq("A\x{30A}", $Arng)); 148898184e3Ssthenok($objSv->eq("a\x{308}", $auml)); 149898184e3Ssthenok($objSv->eq("A\x{308}", $Auml)); 150898184e3Ssthenok($objSv->eq("e\x{328}", "\x{119}")); 151898184e3Ssthenok($objSv->eq("E\x{328}", "\x{118}")); 152898184e3Ssthenok($objSv->eq("o\x{308}", $ouml)); 153898184e3Ssthenok($objSv->eq("O\x{308}", $Ouml)); 154898184e3Ssthenok($objSv->eq("o\x{338}", $ostk)); 155898184e3Ssthenok($objSv->eq("O\x{338}", $Ostk)); 156898184e3Ssthenok($objSv->eq("o\x{30B}", "\x{151}")); 157898184e3Ssthenok($objSv->eq("O\x{30B}", "\x{150}")); 158898184e3Ssthenok($objSv->eq("o\x{302}", $ocrc)); 159898184e3Ssthenok($objSv->eq("O\x{302}", $Ocrc)); 160898184e3Ssthen 161898184e3Ssthen# 84 162898184e3Ssthen 163898184e3Ssthenok($objSv->eq("u\x{308}\x{300}", "\x{1DC}")); 164898184e3Ssthenok($objSv->eq("U\x{308}\x{300}", "\x{1DB}")); 165898184e3Ssthenok($objSv->eq("u\x{308}\x{301}", "\x{1D8}")); 166898184e3Ssthenok($objSv->eq("U\x{308}\x{301}", "\x{1D7}")); 167898184e3Ssthenok($objSv->eq("u\x{308}\x{304}", "\x{1D6}")); 168898184e3Ssthenok($objSv->eq("U\x{308}\x{304}", "\x{1D5}")); 169898184e3Ssthenok($objSv->eq("u\x{308}\x{30C}", "\x{1DA}")); 170898184e3Ssthenok($objSv->eq("U\x{308}\x{30C}", "\x{1D9}")); 171898184e3Ssthenok($objSv->eq("A\x{30A}", "\x{212B}")); 172898184e3Ssthenok($objSv->eq("a\x{30A}\x{301}", "\x{1FB}")); 173898184e3Ssthenok($objSv->eq("A\x{30A}\x{301}", "\x{1FA}")); 174898184e3Ssthenok($objSv->eq("a\x{308}\x{304}", "\x{1DF}")); 175898184e3Ssthenok($objSv->eq("A\x{308}\x{304}", "\x{1DE}")); 176898184e3Ssthenok($objSv->eq("\x{1FD}", "$ae\x{301}")); 177898184e3Ssthenok($objSv->eq("\x{1FC}", "$AE\x{301}")); 178898184e3Ssthenok($objSv->eq("\x{1E3}", "$ae\x{304}")); 179898184e3Ssthenok($objSv->eq("\x{1E2}", "$AE\x{304}")); 180898184e3Ssthenok($objSv->eq("o\x{308}\x{304}", "\x{22B}")); 181898184e3Ssthenok($objSv->eq("O\x{308}\x{304}", "\x{22A}")); 182898184e3Ssthenok($objSv->eq("o\x{338}\x{301}", "\x{1FF}")); 183898184e3Ssthenok($objSv->eq("O\x{338}\x{301}", "\x{1FE}")); 184898184e3Ssthen 185898184e3Ssthen# 105 186898184e3Ssthen 187898184e3Ssthenok($objSv->eq("o\x{302}\x{300}", "\x{1ED3}")); 188898184e3Ssthenok($objSv->eq("O\x{302}\x{300}", "\x{1ED2}")); 189898184e3Ssthenok($objSv->eq("o\x{302}\x{301}", "\x{1ED1}")); 190898184e3Ssthenok($objSv->eq("O\x{302}\x{301}", "\x{1ED0}")); 191898184e3Ssthenok($objSv->eq("o\x{302}\x{303}", "\x{1ED7}")); 192898184e3Ssthenok($objSv->eq("O\x{302}\x{303}", "\x{1ED6}")); 193898184e3Ssthenok($objSv->eq("o\x{302}\x{309}", "\x{1ED5}")); 194898184e3Ssthenok($objSv->eq("O\x{302}\x{309}", "\x{1ED4}")); 195898184e3Ssthenok($objSv->eq("o\x{302}\x{323}", "\x{1ED9}")); 196898184e3Ssthenok($objSv->eq("O\x{302}\x{323}", "\x{1ED8}")); 197898184e3Ssthen 198898184e3Ssthen# 115 199