X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F05-words.t;h=bcb3ac9bcc806e5b986df0706cef95818c3e5f27;hb=2236279ceecd37fc3e752bdf1142808a0f671d6e;hp=b1d1467161c5db82c906353a8a45bd11e01c69da;hpb=da0237ee151a65dff50933a7af535ea0541c2ac2;p=perl%2Fmodules%2FScope-Upper.git diff --git a/t/05-words.t b/t/05-words.t index b1d1467..bcb3ac9 100644 --- a/t/05-words.t +++ b/t/05-words.t @@ -3,9 +3,20 @@ use strict; use warnings; -use Test::More tests => 42; +use Test::More; -use Scope::Upper qw/:words/; +BEGIN { + if ($^P) { + plan skip_all => 'hardcoded values are wrong under the debugger'; + } else { + plan tests => 29 + 13 * 2; + } +} + +use Scope::Upper qw<:words>; + +# This test is for internal use only and doesn't imply any kind of future +# compatibility on what the words should actually return. is HERE, 0, 'main : here'; is TOP, 0, 'main : top'; @@ -72,22 +83,35 @@ do { } while (0); { - is CALLER, 0, '{ } : caller'; - is CALLER(0), 0, '{ } : caller 0'; - is CALLER(1), 0, '{ } : caller 1'; + is SCOPE, 1, 'block : scope'; + is SCOPE(0), 1, 'block : scope 0'; + is SCOPE(1), 0, 'block : scope 1'; + is CALLER, 0, 'block: caller'; + is CALLER(0), 0, 'block : caller 0'; + is CALLER(1), 0, 'block : caller 1'; sub { - is CALLER, 2, '{ sub { } } : caller'; - is CALLER(0), 2, '{ sub { } } : caller 0'; - is CALLER(1), 0, '{ sub { } } : caller 1'; + is SCOPE, 2, 'block sub : scope'; + is SCOPE(0), 2, 'block sub : scope 0'; + is SCOPE(1), 1, 'block sub : scope 1'; + is CALLER, 2, 'block sub : caller'; + is CALLER(0), 2, 'block sub : caller 0'; + is CALLER(1), 0, 'block sub : caller 1'; for (1) { - is CALLER, 2, '{ sub { for { } } } : caller'; - is CALLER(0), 2, '{ sub { for { } } } : caller 0'; - is CALLER(1), 0, '{ sub { for { } } } : caller 1'; + is SCOPE, 3, 'block sub for : scope'; + is SCOPE(0), 3, 'block sub for : scope 0'; + is SCOPE(1), 2, 'block sub for : scope 1'; + is CALLER, 2, 'block sub for : caller'; + is CALLER(0), 2, 'block sub for : caller 0'; + is CALLER(1), 0, 'block sub for : caller 1'; eval { - is CALLER, 4, '{ sub { for { eval { } } } } : caller'; - is CALLER(0), 4, '{ sub { for { eval { } } } } : caller 0'; - is CALLER(1), 2, '{ sub { for { eval { } } } } : caller 1'; - is CALLER(2), 0, '{ sub { for { eval { } } } } : caller 2'; + is SCOPE, 4, 'block sub for eval : scope'; + is SCOPE(0), 4, 'block sub for eval : scope 0'; + is SCOPE(1), 3, 'block sub for eval : scope 1'; + is SCOPE(2), 2, 'block sub for eval : scope 2'; + is CALLER, 4, 'block sub for eval : caller'; + is CALLER(0), 4, 'block sub for eval : caller 0'; + is CALLER(1), 2, 'block sub for eval : caller 1'; + is CALLER(2), 0, 'block sub for eval : caller 2'; } } }->();