diff options
Diffstat (limited to 't/22-overload-can-bug.t')
-rw-r--r-- | t/22-overload-can-bug.t | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/t/22-overload-can-bug.t b/t/22-overload-can-bug.t new file mode 100644 index 0000000..44d81e8 --- /dev/null +++ b/t/22-overload-can-bug.t @@ -0,0 +1,37 @@ +use strict; +use warnings; + +use Params::Validate qw(validate); +use Test::More; + +{ + package Overloaded; + + use overload 'bool' => sub {0}; + + sub new { bless {} } + + sub foo {1} +} + +my $ovl = Overloaded->new; + +{ + eval { + my @p = ( object => $ovl ); + validate( @p, { object => { isa => 'Overloaded' } } ); + }; + + is( $@, q{}, 'overloaded object->isa' ); +} + +{ + eval { + my @p = ( object => $ovl ); + validate( @p, { object => { can => 'foo' } } ); + }; + + is( $@, q{}, 'overloaded object->foo' ); +} + +done_testing(); |