X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2Findirect.git;a=blobdiff_plain;f=t%2F10-good.t;h=da9b2d734fd6dd7b903691758ddbafceb20fb292;hp=6510bea46724c99c93b3b637ac1bc301e5bafbdb;hb=256486fe8cf158890b5bd5048d7467d6809b4f2e;hpb=a6ff113a643fb1f626edbdc5c1d7ed0d2ce73c95 diff --git a/t/10-good.t b/t/10-good.t index 6510bea..da9b2d7 100644 --- a/t/10-good.t +++ b/t/10-good.t @@ -1,33 +1,59 @@ #!perl -T +package Dongs; + +sub new; + +package main; + use strict; use warnings; -use Test::More tests => 33 * 2; +use Test::More tests => 52 * 4; -my ($obj, $pkg, $cb, $x); +use feature 'state'; + +my ($obj, $pkg, $cb, $x, @a); +our $y; +state $z; sub meh; { - local $/ = "####\n"; + local $/ = "####"; while () { chomp; + s/\s*$//; + s/(.*?)$//m; + my ($skip, $prefix) = split /#+/, $1; + $skip = 0 unless defined $skip; + $prefix = '' unless defined $prefix; + s/\s*//; + +SKIP: { - use indirect; - local $SIG{__WARN__} = sub { die 'warn:' . join(' ', @_) }; - eval "die qq{ok\\n}; $_"; - } - is($@, "ok\n", $_); - { - no indirect; + skip "$_: $skip" => 4 if eval $skip; + local $SIG{__WARN__} = sub { die 'warn:' . join(' ', @_) }; - eval "die qq{ok\n}; $_"; + + eval "die qq{ok\\n}; $prefix; use indirect; $_"; + is($@, "ok\n", "use indirect: $_"); + + eval "die qq{ok\n}; $prefix; no indirect; $_"; + is($@, "ok\n", "no indirect: $_"); + + s/Hlagh/Dongs/g; + + eval "die qq{ok\\n}; $prefix; use indirect; $_"; + is($@, "ok\n", "use indirect, defined: $_"); + + eval "die qq{ok\\n}; $prefix; no indirect; $_"; + is($@, "ok\n", "no indirect, defined: $_"); } - is($@, "ok\n", $_); } } __DATA__ + $obj = Hlagh->new; #### $obj = Hlagh->new(); @@ -113,12 +139,50 @@ $obj = new $x }(qw/bar baz/); #### +meh; +#### +meh $_; +#### meh $x; #### -meh $x, 1 , 2; +meh $x, 1, 2; #### -print STDOUT "bananananananana\n"; +meh $y; +#### +meh $y, 1, 2; +#### +meh $z; +#### +meh $z, 1, 2; +#### +print; +#### +print $_; +#### +print $x; #### print $x "oh hai\n"; #### +print $y; +#### +print $y "dongs\n"; +#### +print $z; +#### +print $z "hlagh\n"; +#### +print STDOUT "bananananananana\n"; +#### $x->foo($pkg->$cb) +#### +$obj = "apple ${\(new Hlagh)} pear" +#### +$obj = "apple @{[new Hlagh]} pear" +#### +exec $x $x, @a; +#### +exec { $a[0] } @a; +#### +system $x $x, @a; +#### +system { $a[0] } @a;