X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Findirect.git;a=blobdiff_plain;f=t%2F21-bad.t;fp=t%2F21-bad.t;h=eea745eb863c64e8301c610f528aeabc740e1549;hp=9f8f3ff0de6a5da8c40f90b81dbde18e7c6dcbdf;hb=ff16be2f69592b80dfcbc397b37dd4ea070b9d62;hpb=a5339a6ced4d5e3ad1541320476c3d6bf8ff9408 diff --git a/t/21-bad.t b/t/21-bad.t index 9f8f3ff..eea745e 100644 --- a/t/21-bad.t +++ b/t/21-bad.t @@ -11,8 +11,8 @@ use warnings; my ($tests, $reports); BEGIN { - $tests = 52; - $reports = 53; + $tests = 60; + $reports = 68; } use Test::More tests => 3 * (4 * $tests + $reports) + 2; @@ -27,10 +27,11 @@ sub expect { map { my ($meth, $obj, $file, $line) = @$_; - $_ = quotemeta for $meth, $obj; + $meth = quotemeta $meth; + $obj = ($obj =~ /^\s*\{/) ? "a block" : "object \"\Q$obj\E\""; $file = '\(eval \d+\)' unless defined $file; $line = '\d+' unless defined $line; - qr/^Indirect call of method "$meth" on object "$obj" at $file line $line/ + qr/^Indirect call of method "$meth" on $obj at $file line $line/ } eval $expected; } @@ -354,3 +355,40 @@ new Hlagh (meh $x) Hlagh->new(meh $x) ---- [ 'meh', '$x' ] +#### +meh { }; +---- +[ 'meh', '{' ] +#### +meh { + 1; +}; +---- +[ 'meh', '{' ] +#### +meh { + 1; + 1; +}; +---- +[ 'meh', '{' ] +#### +meh { new Hlagh; 1; }; +---- +[ 'new', 'Hlagh' ], [ 'meh', '{' ] +#### +meh { feh $x; 1; }; +---- +[ 'feh', '$x' ], [ 'meh', '{' ] +#### +meh { feh $x; use indirect; new Hlagh; 1; }; +---- +[ 'feh', '$x' ], [ 'meh', '{' ] +#### +meh { feh $y; 1; }; +---- +[ 'feh', '$y' ], [ 'meh', '{' ] +#### +meh { feh $x; 1; } new Hlagh, feh $y; +---- +[ 'feh', '$x' ], [ 'new', 'Hlagh' ], [ 'feh', '$y' ], [ 'meh', '{' ]