]> git.vpit.fr Git - perl/modules/Variable-Magic.git/blobdiff - t/33-code.t
Importing Variable-Magic-0.14.tar.gz
[perl/modules/Variable-Magic.git] / t / 33-code.t
index 21d900ff20bc1ae4e9fdfd7ecbeade20bc847ed6..40c32a4b00fff8e0cd40bf1ac1afbdbb884f64e4 100644 (file)
@@ -7,12 +7,13 @@ use Test::More tests => 10;
 
 use Variable::Magic qw/wizard cast dispell/;
 
-my @c = (0) x 5;
-my @x = (0) x 5;
+my @c = (0) x 12;
+my @x = (0) x 12;
 
 sub check {
- for (0 .. 4) { return 0 unless $c[$_] == $x[$_]; }
- return 1;
+ is join(':', map { (defined) ? $_ : 'u' } @c[0 .. 11]),
+    join(':', map { (defined) ? $_ : 'u' } @x[0 .. 11]),
+    $_[0];
 }
 
 my $i = -1;
@@ -20,44 +21,51 @@ my $wiz = wizard get   => sub { ++$c[0] },
                  set   => sub { ++$c[1] },
                  len   => sub { ++$c[2] },
                  clear => sub { ++$c[3] },
-                 free  => sub { ++$c[4] };
-ok(check(), 'code : create wizard');
+                 free  => sub { ++$c[4] },
+                 copy  => sub { ++$c[5] },
+                 dup   => sub { ++$c[6] },
+                 local => sub { ++$c[7] },
+                 fetch => sub { ++$c[8] },
+                 store => sub { ++$c[9] },
+                 'exists' => sub { ++$c[10] },
+                 'delete' => sub { ++$c[11] };
+check('code : create wizard');
 
 my $x = 0;
 my $n = sub { ++$x };
 my $a = $n;
 
 cast $a, $wiz;
-ok(check(), 'code : cast');
+check('code : cast');
 
 my $b = $a;
 ++$x[0];
-ok(check(), 'code : assign to');
+check('code : assign to');
 
 $b = "X${a}Y";
 ++$x[0];
-ok(check(), 'code : interpolate');
+check('code : interpolate');
 
 $b = \$a;
-ok(check(), 'code : reference');
+check('code : reference');
 
 $a = $n;
 ++$x[1];
-ok(check(), 'code : assign');
+check('code : assign');
 
 $a->();
-ok(check(), 'code : call');
+check('code : call');
 
 {
  my $b = $n;
  cast $b, $wiz;
 }
 ++$x[4];
-ok(check(), 'code : scope end');
+check('code : scope end');
 
 undef $a;
 ++$x[1];
-ok(check(), 'code : undef');
+check('code : undef');
 
 dispell $a, $wiz;
-ok(check(), 'code : dispell');
+check('code : dispell');