use warnings;
use Test::More;
+use Class::Load 'load_class';
use Test::Requires 'Data::Visitor';
use Test::Requires 'PadWalker';
use Try::Tiny;
my $can_partialdump = try {
- Class::MOP::load_class('Devel::PartialDump', { -version => 0.14 }); 1;
+ load_class('Devel::PartialDump', { -version => 0.14 }); 1;
};
{
sub _is_okay_to_close_over {
my $self = shift;
my ($thing) = @_;
+ return 1 if ref($thing) eq 'RuNNeR';
match_on_type $thing => (
'RegexpRef' => sub { 1 },
my ($package, $method) = @_;
my $visitor = Test::Visitor->new;
my $code = $package->meta->find_method_by_name($method)->body;
+ if (ref($code) eq 'RuNNeR') {
+ $code->(undef);
+ $code = $package->meta->find_method_by_name($method)->body;
+ }
$visitor->visit($code);
if ($visitor->pass) {
pass("${package}::${method} didn't close over anything complicated");