X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FSub-Op.git;a=blobdiff_plain;f=t%2F20-deparse.t;fp=t%2F20-deparse.t;h=0000000000000000000000000000000000000000;hp=199523fdea789813d9e39a57c4162dfed58adeba;hb=0eb003f3bbeeada878cab10f7dabc020c775b666;hpb=302bf09fbd4b673e199bdd22b330ebbdbec4e1fe diff --git a/t/20-deparse.t b/t/20-deparse.t deleted file mode 100644 index 199523f..0000000 --- a/t/20-deparse.t +++ /dev/null @@ -1,86 +0,0 @@ -#!perl - -use strict; -use warnings; - -use blib 't/Sub-Op-LexicalSub'; - -use Test::More tests => 13; - -use Devel::Peek; -use B::Deparse; - -my $bd = B::Deparse->new; - -$bd->ambient_pragmas( - strict => 'all', - warnings => 'all', -); - -{ - local $/ = "####\n"; - while () { - chomp; - s/\s*$//; - my $code = $_; - - my $test = eval <<" TESTCASE"; - sub { - use Sub::Op::LexicalSub f => sub { }; - use Sub::Op::LexicalSub g => sub { }; - $code - } - TESTCASE - if ($@) { - fail "unable to compile testcase: $@"; - next; - } - my $deparsed = $bd->coderef2text($test); - $deparsed =~ s[BEGIN \s* \{ \s* \$\^H \s* \{ .*? \} .*? \} \s*][]gxs; - - my $expected = do { - local *f = sub { }; - local *g = sub { }; - f(); g(); # silence 'once' warnings without setting the bits - my $exp = eval <<" EXPECTED"; - sub { - $code - } - EXPECTED - if ($@) { - fail "unable to compile expected code: $@"; - next; - } - $bd->coderef2text($exp); - }; - - is $deparsed, $expected, "deparsed <$code> is as expected"; - } -} - -__DATA__ -f(); -#### -f; -#### -f(1); -#### -f 1; -#### -f(1, 2); -#### -f 1, 2; -#### -f(1); g(2); -#### -f 1, f(2), 3, g(4, f(g, 5), 6); -#### -&f; -#### -&f(); -#### -&f(1); -#### -&f(1, 2); -#### -my $x = \&f;