#!./perl
BEGIN {
unless
(-d
'blib'
) {
chdir
't'
if
-d
't'
;
}
require
q(./test.pl)
;
set_up_inc(
'../lib'
);
}
plan(
tests
=> 7);
{
use
overload
'""'
=>
sub
{
ref
(
shift
) .
" stringified"
},
fallback
=> 1;
sub
new {
bless
{} =>
shift
}
}
my
$x
= InheritingFromOverloadedTest->new();
object_ok(
$x
,
'InheritingFromOverloadedTest'
);
my
$y
= OverloadingTest->new();
object_ok(
$y
,
'OverloadingTest'
);
is(
"$x"
,
'InheritingFromOverloadedTest stringified'
,
'... got the right value when stringifing'
);
is(
"$y"
,
'OverloadingTest stringified'
,
'... got the right value when stringifing'
);
ok((
$y
eq
'OverloadingTest stringified'
),
'... eq was handled correctly'
);
my
$result
;
eval
{
$result
=
$x
eq
'InheritingFromOverloadedTest stringified'
};
ok(!$@,
'... this should not throw an exception'
);
ok(
$result
,
'... and we should get the true value'
);