44 lines
538 B
Perl
44 lines
538 B
Perl
use strict;
|
|
use warnings;
|
|
|
|
package Test::Deep::Isa;
|
|
|
|
use Test::Deep::Cmp;
|
|
use Scalar::Util;
|
|
|
|
sub init
|
|
{
|
|
my $self = shift;
|
|
|
|
my $val = shift;
|
|
$self->{val} = $val;
|
|
}
|
|
|
|
sub descend
|
|
{
|
|
my $self = shift;
|
|
my $got = shift;
|
|
|
|
return Scalar::Util::blessed($got)
|
|
? $got->isa($self->{val})
|
|
: ref($got) eq $self->{val};
|
|
}
|
|
|
|
sub diag_message
|
|
{
|
|
my $self = shift;
|
|
|
|
my $where = shift;
|
|
|
|
return "Checking class of $where with isa()";
|
|
}
|
|
|
|
sub renderExp
|
|
{
|
|
my $self = shift;
|
|
|
|
return "blessed into or ref of type '$self->{val}'";
|
|
}
|
|
|
|
1;
|