]> git.vpit.fr Git - perl/modules/Scope-Upper.git/blobdiff - t/05-words.t
Introduce CALLER()
[perl/modules/Scope-Upper.git] / t / 05-words.t
index 751b464b0a12ca7e0d37fdd78dff1ad3bdd1c6a5..a52a362adcd15d38b5af9941e2c60ecede089220 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 33;
+use Test::More tests => 46;
 
 use Scope::Upper qw/:words/;
 
@@ -74,3 +74,25 @@ do {
   }
  };
 } while (0);
+
+{
+ is CALLER,    1, '{ } : caller';
+ is CALLER(0), 1, '{ } : caller 0';
+ is CALLER(1), 1, '{ } : caller 1';
+ sub {
+  is CALLER,    0, '{ sub { } } : caller';
+  is CALLER(0), 0, '{ sub { } } : caller 0';
+  is CALLER(1), 2, '{ sub { } } : caller 1';
+  for (1) {
+   is CALLER,    1, '{ sub { for { } } } : caller';
+   is CALLER(0), 1, '{ sub { for { } } } : caller 0';
+   is CALLER(1), 3, '{ sub { for { } } } : caller 1';
+   eval {
+    is CALLER,    0, '{ sub { for { eval { } } } } : caller';
+    is CALLER(0), 0, '{ sub { for { eval { } } } } : caller 0';
+    is CALLER(1), 2, '{ sub { for { eval { } } } } : caller 1';
+    is CALLER(2), 4, '{ sub { for { eval { } } } } : caller 2';
+   }
+  }
+ }->();
+}