]> git.vpit.fr Git - perl/modules/Test-Leaner.git/commitdiff
Fix and test skip()
authorVincent Pit <vince@profvince.com>
Fri, 24 Dec 2010 17:49:43 +0000 (18:49 +0100)
committerVincent Pit <vince@profvince.com>
Fri, 24 Dec 2010 17:54:57 +0000 (18:54 +0100)
MANIFEST
lib/Test/Leaner.pm
t/18-skip.t [new file with mode: 0644]

index e5fbf16bc82d146fe01434416d9aaeebfec01a7f..d0c4d968d61ec816e7cad5a6a0db10d3f00c7b04 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -13,6 +13,7 @@ t/14-use-no_plan.t
 t/15-use-skip_all.t
 t/16-done_testing.t
 t/17-plan-done_testing.t
+t/18-skip.t
 t/19-comments.t
 t/80-threads.t
 t/20-ok.t
index 4f5327580106e339ac8b87566805459544aa6d52..dfba80f1505119d9e795865661fbe6264413b0fb 100644 (file)
@@ -183,6 +183,8 @@ sub skip {
  }
 
  for (1 .. $count) {
+  ++$test;
+
   my $skip_str = "ok $test # skip";
   if (defined $reason) {
    sanitize_comment($reason);
@@ -191,8 +193,6 @@ sub skip {
 
   local $\;
   print $TAP_STREAM "$skip_str\n";
-
-  $test++;
  }
 
  no warnings 'exiting';
diff --git a/t/18-skip.t b/t/18-skip.t
new file mode 100644 (file)
index 0000000..05fa3ae
--- /dev/null
@@ -0,0 +1,26 @@
+#!perl -T
+
+use strict;
+use warnings;
+
+use Test::Leaner tests => 7;
+
+pass 'test begin';
+
+SKIP: {
+ skip 'test skipping a block' => 1;
+ fail 'should not be reached';
+}
+
+SKIP: {
+ pass 'outer block begin';
+ SKIP: {
+  skip 'test skipping the inner nested block' => 1;
+  fail 'should not be reached either';
+ }
+ pass 'back to outer block';
+ skip 'test skipping the outer nested block' => 1;
+ fail 'should not be reached as well';
+}
+
+pass 'test end';