X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Findirect.git;a=blobdiff_plain;f=t%2F20-good.t;h=97c874c7500c393400df9691eac8153dcc65d8bb;hp=4a7c3a0fa0fa6e7860787e759ac4e0725860e5de;hb=485841aab90380ffecbe0f217eb234a64f69bb25;hpb=c7b10fa5c0fe7243236bf0efa9a33776bafdc5c1 diff --git a/t/20-good.t b/t/20-good.t index 4a7c3a0..97c874c 100644 --- a/t/20-good.t +++ b/t/20-good.t @@ -9,10 +9,12 @@ package main; use strict; use warnings; -use Test::More tests => 56 * 8; +use Test::More tests => 101 * 8; + +BEGIN { delete $ENV{PERL_INDIRECT_PM_DISABLE} } my ($obj, $pkg, $cb, $x, @a); -our $y; +our ($y, $meth); sub meh; sub zap (&); @@ -122,6 +124,12 @@ $obj = Hlagh->$cb($pkg); #### $obj = Hlagh->$cb(sub { 'foo' }, bar => $obj); #### +$obj = Hlagh->$meth; +#### +$obj = Hlagh + -> + $meth ( 1, 2 ); +#### $obj = $pkg->new ; #### $obj = $pkg -> new ( ); @@ -147,7 +155,31 @@ $obj = $pkg -> ($cb) (); #### $obj = $pkg->$cb( $obj ); #### -$obj = $pkg->$cb(qw/foo bar baz/); +$obj = $pkg->$cb(qw); +#### +$obj = $pkg->$meth; +#### +$obj + = + $pkg + -> + $meth + ( 1 .. 10 ); +#### +$obj = $y->$cb; +#### +$obj = $y + -> $cb ( + 'foo', 1, 2, 'bar' +); +#### +$obj = $y->$meth; +#### +$obj = + $y-> + $meth ( + qr(hello), +); #### meh; #### @@ -185,9 +217,83 @@ print STDOUT "bananananananana\n"; #### $x->foo($pkg->$cb) #### -$obj = "apple ${\(new Hlagh)} pear" +$obj = "apple ${\($x->new)} pear" +#### +$obj = "apple @{[$x->new]} pear" +#### +$obj = "apple ${\($y->new)} pear" +#### +$obj = "apple @{[$y->new]} pear" +#### +$obj = "apple ${\($x->$cb)} pear" +#### +$obj = "apple @{[$x->$cb]} pear" +#### +$obj = "apple ${\($y->$cb)} pear" +#### +$obj = "apple @{[$y->$cb]} pear" +#### +$obj = "apple ${\($x->$meth)} pear" +#### +$obj = "apple @{[$x->$meth]} pear" +#### +$obj = "apple ${\($y->$meth)} pear" +#### +$obj = "apple @{[$y->$meth]} pear" +#### # local $_ = "foo"; +s/foo/return; Hlagh->new/e; +#### # local $_ = "bar"; +s/foo/return; Hlagh->new/e; +#### # local $_ = "foo"; +s/foo/return; Hlagh->$cb/e; +#### # local $_ = "bar"; +s/foo/return; Hlagh->$cb/e; +#### # local $_ = "foo"; +s/foo/return; Hlagh->$meth/e; +#### # local $_ = "bar"; +s/foo/return; Hlagh->$meth/e; +#### # local $_ = "foo"; +s/foo/return; $x->new/e; +#### # local $_ = "bar"; +s/foo/return; $x->new/e; +#### # local $_ = "foo"; +s/foo/return; $x->$cb/e; +#### # local $_ = "bar"; +s/foo/return; $x->$cb/e; +#### # local $_ = "foo"; +s/foo/return; $x->$meth/e; +#### # local $_ = "bar"; +s/foo/return; $x->$meth/e; +#### # local $_ = "foo"; +s/foo/return; $y->new/e; +#### # local $_ = "bar"; +s/foo/return; $y->new/e; +#### # local $_ = "foo"; +s/foo/return; $y->$cb/e; +#### # local $_ = "bar"; +s/foo/return; $y->$cb/e; +#### # local $_ = "foo"; +s/foo/return; $y->$meth/e; +#### # local $_ = "bar"; +s/foo/return; $y->$meth/e; +#### +"foo" =~ /(?{Hlagh->new})/; +#### +"foo" =~ /(?{Hlagh->$cb})/; +#### +"foo" =~ /(?{Hlagh->$meth})/; +#### +"foo" =~ /(?{$x->new})/; +#### +"foo" =~ /(?{$x->$cb})/; +#### +"foo" =~ /(?{$x->$meth})/; +#### +"foo" =~ /(?{$y->new})/; +#### +"foo" =~ /(?{$y->$cb})/; #### -$obj = "apple @{[new Hlagh]} pear" +"foo" =~ /(?{$y->$meth})/; #### exec $x $x, @a; ####