1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
use strict;
use warnings;
use t::std;
{
my $bless_a = bless {}, "A::Class";
my $bless_b = bless {}, "B::Class";
my $nobless = {};
check_test(
sub {
cmp_deeply([$bless_a], [noclass($bless_b)]);
},
{
actual_ok => 1,
diag => "",
},
"no class eq"
);
check_test(
sub {
cmp_deeply([$bless_a], [noclass($nobless)]);
},
{
actual_ok => 1,
diag => "",
},
"no class eq unblessed"
);
check_test(
sub {
cmp_deeply([$bless_a], [$bless_b]);
},
{
actual_ok => 0,
diag => <<EOM,
Compared blessed(\$data->[0])
got : 'A::Class'
expect : 'B::Class'
EOM
},
"class not eq"
);
check_test(
sub {
cmp_deeply([$bless_a], [$nobless]);
},
{
actual_ok => 0,
diag => <<EOM,
Compared blessed(\$data->[0])
got : 'A::Class'
expect : undef
EOM
},
"class not eq unblessed"
);
my $bless_c = bless [$bless_a], "C::Class";
check_test(
sub {
cmp_deeply(
$bless_c,
bless([noclass($nobless)], "C::Class")
);
},
{
actual_ok => 1,
diag => "",
},
"class eq on/off"
);
my $bless_d = bless [$bless_c], "D::Class";
check_test(
sub {
cmp_deeply(
$bless_d,
bless([noclass(bless([useclass(bless({}, "NotA::Class"))], "NotC::Class"))], "D::Class"),
);
},
{
actual_ok => 0,
diag => <<EOM,
Compared blessed(\$data->[0]->[0])
got : 'A::Class'
expect : 'NotA::Class'
EOM
},
"class eq on/off/on"
);
}
|