X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F10-good.t;h=6559b5410a41f3ffa53fce7d106b5e78157c24e3;hb=faed8ab9b402954feb3efbffbb1ce53aafd53fc1;hp=b88d721779fd773545a194f9451235b45b573cf2;hpb=c21777a35a9cee9151b6b2f6dcf5e16e17751c48;p=perl%2Fmodules%2Findirect.git diff --git a/t/10-good.t b/t/10-good.t index b88d721..6559b54 100644 --- a/t/10-good.t +++ b/t/10-good.t @@ -1,29 +1,50 @@ #!perl -T +package Dongs; + +sub new; + +package main; + use strict; use warnings; -use Test::More tests => 36 * 2; +use Test::More tests => 53 * 4; + +use feature 'state'; -my ($obj, $pkg, $cb, $x); +my ($obj, $pkg, $cb, $x, @a); +our $y; +state $z; sub meh; { local $/ = "####\n"; while () { chomp; + s/\s*$//; + local $SIG{__WARN__} = sub { die 'warn:' . join(' ', @_) }; { use indirect; - local $SIG{__WARN__} = sub { die 'warn:' . join(' ', @_) }; eval "die qq{ok\\n}; $_"; } - is($@, "ok\n", $_); + is($@, "ok\n", "use indirect: $_"); { no indirect; - local $SIG{__WARN__} = sub { die 'warn:' . join(' ', @_) }; eval "die qq{ok\n}; $_"; } - is($@, "ok\n", $_); + is($@, "ok\n", "no indirect: $_"); + s/Hlagh/Dongs/g; + { + use indirect; + eval "die qq{ok\\n}; $_"; + } + is($@, "ok\n", "use indirect, defined: $_"); + { + no indirect; + eval "die qq{ok\\n}; $_"; + } + is($@, "ok\n", "no indirect, defined: $_"); } } @@ -113,14 +134,40 @@ $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" @@ -128,3 +175,11 @@ $obj = "apple ${\(new Hlagh)} pear" $obj = "apple @{[new Hlagh]} pear" #### s/dongs/new Hlagh/e; +#### +exec $x $x, @a; +#### +exec { $a[0] } @a; +#### +system $x $x, @a; +#### +system { $a[0] } @a;