]> git.donarmstrong.com Git - term-progressbar.git/blobdiff - t/zero.t
upgrade Capture::Tiny and use the new capture_stderr
[term-progressbar.git] / t / zero.t
index 737f5088b77120ad33cb565c6c6d4f9b2c391e68..ee51f2b9b4e4f2127ede1198063cfa287c139def 100644 (file)
--- a/t/zero.t
+++ b/t/zero.t
@@ -1,6 +1,7 @@
 # (X)Emacs mode: -*- cperl -*-
 
 use strict;
+use warnings;
 
 =head1 Unit Test Package for Term::ProgressBar
 
@@ -8,30 +9,12 @@ This package tests the zero-progress handling of progress bar.
 
 =cut
 
-use Data::Dumper qw( Dumper );
-use FindBin      qw( $Bin );
-use Test         qw( ok plan );
+use Test::More tests => 9;
+use Test::Exception;
 
-use lib $Bin;
-use test qw( DATA_DIR
-             evcheck restore_output save_output );
+use Capture::Tiny qw(capture_stderr);
 
-BEGIN {
-  # 1 for compilation test,
-  plan tests  => 9,
-       todo   => [],
-}
-
-=head2 Test 1: compilation
-
-This test confirms that the test script and the modules it calls compiled
-successfully.
-
-=cut
-
-use Term::ProgressBar;
-
-ok 1, 1, 'compilation';
+use_ok 'Term::ProgressBar';
 
 Term::ProgressBar->__force_term (50);
 
@@ -51,19 +34,17 @@ Update it it from 1 to 10.
 
 {
   my $p;
-  save_output('stderr', *STDERR{IO});
   my $name = 'doing nothing';
-  ok (evcheck(sub { $p = Term::ProgressBar->new($name, 0); },
-        'V1 mode ( 1)' ),
-      1,                                                       'V1 mode ( 1)');
-  ok (evcheck(sub { $p->update($_) for 1..10 },'V1 mode ( 2)'),
-      1,                                                       'V1 mode ( 2)');
-  my $err = restore_output('stderr');
-  my @lines = grep $_ ne '', split /\r/, $err;
-  print Dumper \@lines
+  my $err  = capture_stderr {
+    lives_ok { $p = Term::ProgressBar->new($name, 0); } 'V1 mode ( 1)';
+    lives_ok { $p->update($_) for 1..10 } 'V1 mode ( 2)';
+  };
+
+  my @lines = grep { $_ ne ''} split /\r/, $err;
+  diag explain @lines
     if $ENV{TEST_DEBUG};
-  ok $lines[-1], qr/^$name:/,                                  'V1 mode ( 3)';
-  ok $lines[-1], qr/\(nothing to do\)/,                        'V1 mode ( 4)';
+  like $lines[-1], qr/^$name:/,                                  'V1 mode ( 3)';
+  like $lines[-1], qr/\(nothing to do\)/,                        'V1 mode ( 4)';
 }
 
 # -------------------------------------
@@ -82,20 +63,17 @@ Update it it from 1 to 10.
 
 {
   my $p;
-  save_output('stderr', *STDERR{IO});
   my $name = 'zero';
-  ok (evcheck(sub { $p = Term::ProgressBar->new({ count => 0,
-                                                  name => $name }); },
-        'V2 mode ( 1)' ),
-      1,                                                       'V2 mode ( 1)');
-  ok (evcheck(sub { $p->update($_) for 1..10 },'V2 mode ( 2)'),
-      1,                                                       'V2 mode ( 2)');
-  my $err = restore_output('stderr');
-  my @lines = grep $_ ne '', split /\r/, $err;
-  print Dumper \@lines
+  my $err = capture_stderr {
+    lives_ok { $p = Term::ProgressBar->new({ count => 0, name => $name }); } 'V2 mode ( 1)';
+    lives_ok { $p->update($_) for 1..10 } 'V2 mode ( 2)';
+  };
+
+  my @lines = grep {$_ ne ''} split /\r/, $err;
+  diag explain @lines
     if $ENV{TEST_DEBUG};
-  ok $lines[-1], qr/^$name:/,                                  'V2 mode ( 3)';
-  ok $lines[-1], qr/\(nothing to do\)/,                        'V2 mode ( 4)';
+  like $lines[-1], qr/^$name:/,             'V2 mode ( 3)';
+  like $lines[-1], qr/\(nothing to do\)/,   'V2 mode ( 4)';
 }
 
 # ----------------------------------------------------------------------------