]> git.vpit.fr Git - perl/modules/Test-Leaner.git/blobdiff - lib/Test/Leaner.pm
Prevent vivification of deleted elements by fetching the array values
[perl/modules/Test-Leaner.git] / lib / Test / Leaner.pm
index d79aef2c9a527bfa3f1e5a4d429bb700b4dc2e83..3980b4398a066880277282665352ec7dc1ac6c43 100644 (file)
@@ -50,6 +50,10 @@ It also tests in scalar context, so C<'..'> will be treated as the flip-flop ope
 
 =item *
 
+The tests don't output any kind of default diagnostic in case of failure ; the rationale being that if you have a large number of tests and a lot of them are failing, then you don't want to be flooded by diagnostics.
+
+=item *
+
 C<use_ok>, C<require_ok>, C<can_ok>, C<isa_ok>, C<new_ok>, C<subtest>, C<explain>, C<TODO> blocks and C<todo_skip> are not implemented.
 
 =item *
@@ -487,7 +491,9 @@ sub _deep_check {
 
  if ($ry eq 'ARRAY') {
   if ($#$x == $#$y) {
-   _deep_check($x->[$_], $y->[$_]) or return 0 for 0 .. $#$y;
+   # Prevent vivification of deleted elements by fetching the array values.
+   my ($ex, $ey);
+   _deep_check($ex = $x->[$_], $ey = $y->[$_]) or return 0 for 0 .. $#$x;
    return 1;
   }
  } elsif ($ry eq 'HASH') {