12 use Test::More tests => 3 * 9;
14 BEGIN { delete $ENV{PERL_INDIRECT_PM_DISABLE} }
25 local $SIG{__WARN__} = sub { push @warns, @_ };
36 my ($skip, $prefix) = split /#+/, $1;
37 $skip = 0 unless defined $skip;
38 $prefix = '' unless defined $prefix;
43 skip "$_: $skip" => 9 if eval $skip;
46 try "return; $prefix; use indirect; $_";
47 is $@, '', "use indirect: $_";
48 is @warns, 0, 'correct number of reports';
50 try "return; $prefix; no indirect; $_";
51 is $@, '', "no indirect: $_";
52 is @warns, 0, 'correct number of reports';
59 try "return; $prefix; use indirect; $_";
60 is $@, '', "use indirect, defined: $_";
61 is @warns, 0, 'correct number of reports';
63 try "return; $prefix; no indirect; $_";
64 is $@, '', "use indirect, defined: $_";
65 is @warns, 1, 'correct number of reports';
66 like $warns[0], qr/^Indirect call of method "meh" on object "Dongs" at \(eval \d+\) line \d+/, 'report 0 is correct';
78 meh Hlagh->new, "Wut";