BEGIN {
unless
(
"A"
eq
pack
(
'U'
, 0x41)) {
print
"1..0 # Unicode::Collate "
.
"cannot stringify a Unicode code point\n"
;
exit
0;
}
if
(
$ENV
{PERL_CORE}) {
chdir
(
't'
)
if
-d
't'
;
@INC
= $^O eq
'MacOS'
?
qw(::lib)
:
qw(../lib)
;
}
}
BEGIN { plan
tests
=> 235 };
ok(1);
my
$objHu
= Unicode::Collate::Locale->
new(
locale
=>
'HU'
,
normalization
=>
undef
);
ok(
$objHu
->getlocale,
'hu'
);
$objHu
->change(
level
=> 1);
ok(
$objHu
->lt(
"c"
,
"cs"
));
ok(
$objHu
->lt(
"cz"
,
"cs"
));
ok(
$objHu
->gt(
"d"
,
"cs"
));
ok(
$objHu
->lt(
"d"
,
"dz"
));
ok(
$objHu
->gt(
"dz"
,
"d\x{292}"
));
ok(
$objHu
->lt(
"dz"
,
"dzs"
));
ok(
$objHu
->lt(
"dzz"
,
"dzs"
));
ok(
$objHu
->gt(
"e"
,
"dzs"
));
ok(
$objHu
->lt(
"g"
,
"gy"
));
ok(
$objHu
->lt(
"gz"
,
"gy"
));
ok(
$objHu
->gt(
"h"
,
"gy"
));
ok(
$objHu
->lt(
"l"
,
"ly"
));
ok(
$objHu
->lt(
"lz"
,
"ly"
));
ok(
$objHu
->gt(
"m"
,
"ly"
));
ok(
$objHu
->lt(
"n"
,
"ny"
));
ok(
$objHu
->lt(
"nz"
,
"ny"
));
ok(
$objHu
->gt(
"o"
,
"ny"
));
ok(
$objHu
->lt(
"s"
,
"sz"
));
ok(
$objHu
->gt(
"sz"
,
"s\x{292}"
));
ok(
$objHu
->gt(
"t"
,
"sz"
));
ok(
$objHu
->lt(
"t"
,
"ty"
));
ok(
$objHu
->lt(
"tz"
,
"ty"
));
ok(
$objHu
->gt(
"u"
,
"ty"
));
ok(
$objHu
->lt(
"z"
,
"zs"
));
ok(
$objHu
->lt(
"zz"
,
"zs"
));
ok(
$objHu
->lt(
"zs"
,
"\x{292}"
));
ok(
$objHu
->lt(
"o"
,
"o\x{308}"
));
ok(
$objHu
->gt(
"p"
,
"o\x{308}"
));
ok(
$objHu
->lt(
"u"
,
"u\x{308}"
));
ok(
$objHu
->gt(
"v"
,
"u\x{308}"
));
ok(
$objHu
->eq(
"o\x{308}"
,
"o\x{30B}"
));
ok(
$objHu
->eq(
"u\x{308}"
,
"u\x{30B}"
));
$objHu
->change(
level
=> 2);
ok(
$objHu
->eq(
"cs"
,
"cS"
));
ok(
$objHu
->eq(
"cS"
,
"Cs"
));
ok(
$objHu
->eq(
"Cs"
,
"CS"
));
ok(
$objHu
->eq(
"dz"
,
"dZ"
));
ok(
$objHu
->eq(
"dZ"
,
"Dz"
));
ok(
$objHu
->eq(
"Dz"
,
"DZ"
));
ok(
$objHu
->eq(
"dzs"
,
"dzS"
));
ok(
$objHu
->eq(
"dzS"
,
"dZs"
));
ok(
$objHu
->eq(
"dZs"
,
"dZS"
));
ok(
$objHu
->eq(
"dZS"
,
"Dzs"
));
ok(
$objHu
->eq(
"Dzs"
,
"DzS"
));
ok(
$objHu
->eq(
"DzS"
,
"DZs"
));
ok(
$objHu
->eq(
"DZs"
,
"DZS"
));
ok(
$objHu
->eq(
"gy"
,
"gY"
));
ok(
$objHu
->eq(
"gY"
,
"Gy"
));
ok(
$objHu
->eq(
"Gy"
,
"GY"
));
ok(
$objHu
->eq(
"ly"
,
"lY"
));
ok(
$objHu
->eq(
"lY"
,
"Ly"
));
ok(
$objHu
->eq(
"Ly"
,
"LY"
));
ok(
$objHu
->eq(
"ny"
,
"nY"
));
ok(
$objHu
->eq(
"nY"
,
"Ny"
));
ok(
$objHu
->eq(
"Ny"
,
"NY"
));
ok(
$objHu
->eq(
"sz"
,
"sZ"
));
ok(
$objHu
->eq(
"sZ"
,
"Sz"
));
ok(
$objHu
->eq(
"Sz"
,
"SZ"
));
ok(
$objHu
->eq(
"ty"
,
"tY"
));
ok(
$objHu
->eq(
"tY"
,
"Ty"
));
ok(
$objHu
->eq(
"Ty"
,
"TY"
));
ok(
$objHu
->eq(
"zs"
,
"zS"
));
ok(
$objHu
->eq(
"zS"
,
"Zs"
));
ok(
$objHu
->eq(
"Zs"
,
"ZS"
));
ok(
$objHu
->lt(
"o\x{308}"
,
"o\x{30B}"
));
ok(
$objHu
->lt(
"u\x{308}"
,
"u\x{30B}"
));
ok(
$objHu
->eq(
"o\x{308}"
,
"O\x{308}"
));
ok(
$objHu
->eq(
"o\x{30B}"
,
"O\x{30B}"
));
ok(
$objHu
->eq(
"u\x{308}"
,
"U\x{308}"
));
ok(
$objHu
->eq(
"u\x{30B}"
,
"U\x{30B}"
));
$objHu
->change(
level
=> 3);
ok(
$objHu
->lt(
"cs"
,
"cS"
));
ok(
$objHu
->lt(
"cS"
,
"Cs"
));
ok(
$objHu
->lt(
"Cs"
,
"CS"
));
ok(
$objHu
->lt(
"dz"
,
"dZ"
));
ok(
$objHu
->lt(
"dZ"
,
"Dz"
));
ok(
$objHu
->lt(
"Dz"
,
"DZ"
));
ok(
$objHu
->lt(
"dzs"
,
"dzS"
));
ok(
$objHu
->lt(
"dzS"
,
"dZs"
));
ok(
$objHu
->lt(
"dZs"
,
"dZS"
));
ok(
$objHu
->lt(
"dZS"
,
"Dzs"
));
ok(
$objHu
->lt(
"Dzs"
,
"DzS"
));
ok(
$objHu
->lt(
"DzS"
,
"DZs"
));
ok(
$objHu
->lt(
"DZs"
,
"DZS"
));
ok(
$objHu
->lt(
"gy"
,
"gY"
));
ok(
$objHu
->lt(
"gY"
,
"Gy"
));
ok(
$objHu
->lt(
"Gy"
,
"GY"
));
ok(
$objHu
->lt(
"ly"
,
"lY"
));
ok(
$objHu
->lt(
"lY"
,
"Ly"
));
ok(
$objHu
->lt(
"Ly"
,
"LY"
));
ok(
$objHu
->lt(
"ny"
,
"nY"
));
ok(
$objHu
->lt(
"nY"
,
"Ny"
));
ok(
$objHu
->lt(
"Ny"
,
"NY"
));
ok(
$objHu
->lt(
"sz"
,
"sZ"
));
ok(
$objHu
->lt(
"sZ"
,
"Sz"
));
ok(
$objHu
->lt(
"Sz"
,
"SZ"
));
ok(
$objHu
->lt(
"ty"
,
"tY"
));
ok(
$objHu
->lt(
"tY"
,
"Ty"
));
ok(
$objHu
->lt(
"Ty"
,
"TY"
));
ok(
$objHu
->lt(
"zs"
,
"zS"
));
ok(
$objHu
->lt(
"zS"
,
"Zs"
));
ok(
$objHu
->lt(
"Zs"
,
"ZS"
));
ok(
$objHu
->lt(
"o\x{308}"
,
"O\x{308}"
));
ok(
$objHu
->lt(
"o\x{30B}"
,
"O\x{30B}"
));
ok(
$objHu
->lt(
"u\x{308}"
,
"U\x{308}"
));
ok(
$objHu
->lt(
"u\x{30B}"
,
"U\x{30B}"
));
ok(
$objHu
->eq(
"o\x{308}"
,
pack
(
'U'
, 0xF6)));
ok(
$objHu
->eq(
"O\x{308}"
,
pack
(
'U'
, 0xD6)));
ok(
$objHu
->eq(
"o\x{30B}"
,
"\x{151}"
));
ok(
$objHu
->eq(
"O\x{30B}"
,
"\x{150}"
));
ok(
$objHu
->eq(
"u\x{308}"
,
pack
(
'U'
, 0xFC)));
ok(
$objHu
->eq(
"U\x{308}"
,
pack
(
'U'
, 0xDC)));
ok(
$objHu
->eq(
"u\x{30B}"
,
"\x{171}"
));
ok(
$objHu
->eq(
"U\x{30B}"
,
"\x{170}"
));
ok(
$objHu
->eq(
"o\x{308}\x{304}"
,
"\x{22B}"
));
ok(
$objHu
->eq(
"O\x{308}\x{304}"
,
"\x{22A}"
));
ok(
$objHu
->eq(
"u\x{308}\x{300}"
,
"\x{1DC}"
));
ok(
$objHu
->eq(
"U\x{308}\x{300}"
,
"\x{1DB}"
));
ok(
$objHu
->eq(
"u\x{308}\x{301}"
,
"\x{1D8}"
));
ok(
$objHu
->eq(
"U\x{308}\x{301}"
,
"\x{1D7}"
));
ok(
$objHu
->eq(
"u\x{308}\x{304}"
,
"\x{1D6}"
));
ok(
$objHu
->eq(
"U\x{308}\x{304}"
,
"\x{1D5}"
));
ok(
$objHu
->eq(
"u\x{308}\x{30C}"
,
"\x{1DA}"
));
ok(
$objHu
->eq(
"U\x{308}\x{30C}"
,
"\x{1D9}"
));
ok(
$objHu
->eq(
"ccs"
,
"cscs"
));
ok(
$objHu
->eq(
"ccS"
,
"cscS"
));
ok(
$objHu
->eq(
"cCs"
,
"csCs"
));
ok(
$objHu
->eq(
"cCS"
,
"csCS"
));
ok(
$objHu
->eq(
"Ccs"
,
"CScs"
));
ok(
$objHu
->eq(
"CcS"
,
"CScS"
));
ok(
$objHu
->eq(
"CCs"
,
"CSCs"
));
ok(
$objHu
->eq(
"CCS"
,
"CSCS"
));
ok(
$objHu
->eq(
"ddz"
,
"dzdz"
));
ok(
$objHu
->eq(
"ddZ"
,
"dzdZ"
));
ok(
$objHu
->eq(
"dDz"
,
"dzDz"
));
ok(
$objHu
->eq(
"dDZ"
,
"dzDZ"
));
ok(
$objHu
->eq(
"Ddz"
,
"DZdz"
));
ok(
$objHu
->eq(
"DdZ"
,
"DZdZ"
));
ok(
$objHu
->eq(
"DDz"
,
"DZDz"
));
ok(
$objHu
->eq(
"DDZ"
,
"DZDZ"
));
ok(
$objHu
->eq(
"ddzs"
,
"dzsdzs"
));
ok(
$objHu
->eq(
"ddzS"
,
"dzsdzS"
));
ok(
$objHu
->eq(
"ddZs"
,
"dzsdZs"
));
ok(
$objHu
->eq(
"ddZS"
,
"dzsdZS"
));
ok(
$objHu
->eq(
"dDzs"
,
"dzsDzs"
));
ok(
$objHu
->eq(
"dDzS"
,
"dzsDzS"
));
ok(
$objHu
->eq(
"dDZs"
,
"dzsDZs"
));
ok(
$objHu
->eq(
"dDZS"
,
"dzsDZS"
));
ok(
$objHu
->eq(
"Ddzs"
,
"DZSdzs"
));
ok(
$objHu
->eq(
"DdzS"
,
"DZSdzS"
));
ok(
$objHu
->eq(
"DdZs"
,
"DZSdZs"
));
ok(
$objHu
->eq(
"DdZS"
,
"DZSdZS"
));
ok(
$objHu
->eq(
"DDzs"
,
"DZSDzs"
));
ok(
$objHu
->eq(
"DDzS"
,
"DZSDzS"
));
ok(
$objHu
->eq(
"DDZs"
,
"DZSDZs"
));
ok(
$objHu
->eq(
"DDZS"
,
"DZSDZS"
));
ok(
$objHu
->eq(
"ggy"
,
"gygy"
));
ok(
$objHu
->eq(
"ggY"
,
"gygY"
));
ok(
$objHu
->eq(
"gGy"
,
"gyGy"
));
ok(
$objHu
->eq(
"gGY"
,
"gyGY"
));
ok(
$objHu
->eq(
"Ggy"
,
"GYgy"
));
ok(
$objHu
->eq(
"GgY"
,
"GYgY"
));
ok(
$objHu
->eq(
"GGy"
,
"GYGy"
));
ok(
$objHu
->eq(
"GGY"
,
"GYGY"
));
ok(
$objHu
->eq(
"lly"
,
"lyly"
));
ok(
$objHu
->eq(
"llY"
,
"lylY"
));
ok(
$objHu
->eq(
"lLy"
,
"lyLy"
));
ok(
$objHu
->eq(
"lLY"
,
"lyLY"
));
ok(
$objHu
->eq(
"Lly"
,
"LYly"
));
ok(
$objHu
->eq(
"LlY"
,
"LYlY"
));
ok(
$objHu
->eq(
"LLy"
,
"LYLy"
));
ok(
$objHu
->eq(
"LLY"
,
"LYLY"
));
ok(
$objHu
->eq(
"nny"
,
"nyny"
));
ok(
$objHu
->eq(
"nnY"
,
"nynY"
));
ok(
$objHu
->eq(
"nNy"
,
"nyNy"
));
ok(
$objHu
->eq(
"nNY"
,
"nyNY"
));
ok(
$objHu
->eq(
"Nny"
,
"NYny"
));
ok(
$objHu
->eq(
"NnY"
,
"NYnY"
));
ok(
$objHu
->eq(
"NNy"
,
"NYNy"
));
ok(
$objHu
->eq(
"NNY"
,
"NYNY"
));
ok(
$objHu
->eq(
"ssz"
,
"szsz"
));
ok(
$objHu
->eq(
"ssZ"
,
"szsZ"
));
ok(
$objHu
->eq(
"sSz"
,
"szSz"
));
ok(
$objHu
->eq(
"sSZ"
,
"szSZ"
));
ok(
$objHu
->eq(
"Ssz"
,
"SZsz"
));
ok(
$objHu
->eq(
"SsZ"
,
"SZsZ"
));
ok(
$objHu
->eq(
"SSz"
,
"SZSz"
));
ok(
$objHu
->eq(
"SSZ"
,
"SZSZ"
));
ok(
$objHu
->eq(
"tty"
,
"tyty"
));
ok(
$objHu
->eq(
"ttY"
,
"tytY"
));
ok(
$objHu
->eq(
"tTy"
,
"tyTy"
));
ok(
$objHu
->eq(
"tTY"
,
"tyTY"
));
ok(
$objHu
->eq(
"Tty"
,
"TYty"
));
ok(
$objHu
->eq(
"TtY"
,
"TYtY"
));
ok(
$objHu
->eq(
"TTy"
,
"TYTy"
));
ok(
$objHu
->eq(
"TTY"
,
"TYTY"
));
ok(
$objHu
->eq(
"zzs"
,
"zszs"
));
ok(
$objHu
->eq(
"zzS"
,
"zszS"
));
ok(
$objHu
->eq(
"zZs"
,
"zsZs"
));
ok(
$objHu
->eq(
"zZS"
,
"zsZS"
));
ok(
$objHu
->eq(
"Zzs"
,
"ZSzs"
));
ok(
$objHu
->eq(
"ZzS"
,
"ZSzS"
));
ok(
$objHu
->eq(
"ZZs"
,
"ZSZs"
));
ok(
$objHu
->eq(
"ZZS"
,
"ZSZS"
));
$objHu
->change(
upper_before_lower
=> 1);
ok(
$objHu
->gt(
"cs"
,
"cS"
));
ok(
$objHu
->gt(
"cS"
,
"Cs"
));
ok(
$objHu
->gt(
"Cs"
,
"CS"
));
ok(
$objHu
->gt(
"dz"
,
"dZ"
));
ok(
$objHu
->gt(
"dZ"
,
"Dz"
));
ok(
$objHu
->gt(
"Dz"
,
"DZ"
));
ok(
$objHu
->gt(
"dzs"
,
"dzS"
));
ok(
$objHu
->gt(
"dzS"
,
"dZs"
));
ok(
$objHu
->gt(
"dZs"
,
"dZS"
));
ok(
$objHu
->gt(
"dZS"
,
"Dzs"
));
ok(
$objHu
->gt(
"Dzs"
,
"DzS"
));
ok(
$objHu
->gt(
"DzS"
,
"DZs"
));
ok(
$objHu
->gt(
"DZs"
,
"DZS"
));
ok(
$objHu
->gt(
"gy"
,
"gY"
));
ok(
$objHu
->gt(
"gY"
,
"Gy"
));
ok(
$objHu
->gt(
"Gy"
,
"GY"
));
ok(
$objHu
->gt(
"ly"
,
"lY"
));
ok(
$objHu
->gt(
"lY"
,
"Ly"
));
ok(
$objHu
->gt(
"Ly"
,
"LY"
));
ok(
$objHu
->gt(
"ny"
,
"nY"
));
ok(
$objHu
->gt(
"nY"
,
"Ny"
));
ok(
$objHu
->gt(
"Ny"
,
"NY"
));
ok(
$objHu
->gt(
"sz"
,
"sZ"
));
ok(
$objHu
->gt(
"sZ"
,
"Sz"
));
ok(
$objHu
->gt(
"Sz"
,
"SZ"
));
ok(
$objHu
->gt(
"ty"
,
"tY"
));
ok(
$objHu
->gt(
"tY"
,
"Ty"
));
ok(
$objHu
->gt(
"Ty"
,
"TY"
));
ok(
$objHu
->gt(
"zs"
,
"zS"
));
ok(
$objHu
->gt(
"zS"
,
"Zs"
));
ok(
$objHu
->gt(
"Zs"
,
"ZS"
));