#!perl -w
BEGIN {
chdir
't'
if
-d
't'
;
require
"./test.pl"
;
set_up_inc(
'../lib'
);
}
use
open
qw( :utf8 :std )
;
plan
'no_plan'
;
package
캎oẃ;
@ur
Ḳḵk::ISA =
'kഌoんḰ'
;
package
к;
@ur
Ḳḵk::ISA = (
'kഌoんḰ'
,
'캎oẃ'
);
package
ṭ화ckэ;
@ṭ화ckэ::ISA = ();
package
Źzzzዟᑉ;
@Źzzzዟᑉ::ISA = (
'ṭ화ckэ'
,
'캎oẃ'
);
package
Ẁ함M;
@Ẁ함M::ISA = (
'캎oẃ'
,
'ṭ화ckэ'
);
my
%expect
=
(
kഌoんḰ => [
qw(kഌoんḰ)
],
urḲḵk => [
qw(urḲḵk kഌoんḰ 캎oẃ)
],
캎oẃ => [
qw(캎oẃ)
],
к => [
qw(к)
],
ṭ화ckэ => [
qw(ṭ화ckэ)
],
Źzzzዟᑉ => [
qw(Źzzzዟᑉ ṭ화ckэ 캎oẃ)
],
Ẁ함M => [
qw(Ẁ함M 캎oẃ ṭ화ckэ)
],
);
foreach
my
$package
(
qw(kഌoんḰ urḲḵk 캎oẃ к ṭ화ckэ Źzzzዟᑉ Ẁ함M)
) {
my
$ref
=
bless
[],
$package
;
my
$isa
=
$expect
{
$package
};
is(
"@{mro::get_linear_isa($package)}"
,
"@$isa"
,
"\@ISA for $package"
);
foreach
my
$class
(
$package
,
@$isa
,
'UNIVERSAL'
) {
object_ok(
$ref
,
$class
,
$package
);
}
}