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