12 use Test::More tests => 3 * 9;
23 local $SIG{__WARN__} = sub { push @warns, @_ };
34 my ($skip, $prefix) = split /#+/, $1;
35 $skip = 0 unless defined $skip;
36 $prefix = '' unless defined $prefix;
41 skip "$_: $skip" => 9 if eval $skip;
44 try "return; $prefix; use indirect; $_";
45 is $@, '', "use indirect: $_";
46 is @warns, 0, 'correct number of reports';
48 try "return; $prefix; no indirect; $_";
49 is $@, '', "no indirect: $_";
50 is @warns, 0, 'correct number of reports';
57 try "return; $prefix; use indirect; $_";
58 is $@, '', "use indirect, defined: $_";
59 is @warns, 0, 'correct number of reports';
61 try "return; $prefix; no indirect; $_";
62 is $@, '', "use indirect, defined: $_";
63 is @warns, 1, 'correct number of reports';
64 like $warns[0], qr/^Indirect call of method "meh" on object "Dongs" at \(eval \d+\) line \d+/, 'report 0 is correct';
76 meh Hlagh->new, "Wut";