]> git.donarmstrong.com Git - term-progressbar.git/blobdiff - t/eta-linear.t
cleanup of the test code
[term-progressbar.git] / t / eta-linear.t
index 25081eea82b878f5baa68a16b44573a01535e167..3d4f06b3c2bcc89e9330995d9d993a96ac7692ef 100644 (file)
@@ -1,6 +1,7 @@
 # (X)Emacs mode: -*- cperl -*-
 
 use strict;
+use warnings;
 
 =head1 Unit Test Package for Term::ProgressBar
 
@@ -8,31 +9,13 @@ This package tests the basic functionality of Term::ProgressBar.
 
 =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 );
-
-BEGIN {
-  # 1 for compilation test,
-  plan tests  => 10,
-       todo   => [],
-}
-
-=head2 Test 1: compilation
-
-This test confirms that the test script and the modules it calls compiled
-successfully.
-
-=cut
+use Capture::Tiny qw(capture);
 
 use Term::ProgressBar;
 
-ok 1, 1, 'compilation';
-
 Term::ProgressBar->__force_term (50);
 
 # -------------------------------------
@@ -55,32 +38,27 @@ Update it it from 1 to 10.
 =cut
 
 {
-  my $p;
-  save_output('stderr', *STDERR{IO});
-  ok (evcheck(sub {
+  my ($out, $err) = capture {
+    my $p;
+    lives_ok {
                 $p = Term::ProgressBar->new({count => 10, name => 'fred',
                                              ETA => 'linear'});
-              }, 'Count 1-10 (1)' ),
-      1, 'Count 1-10 (1)');
-  ok (evcheck(sub { for (1..5) { $p->update($_); sleep 1 } },
-              'Count 1-10 (2)' ),
-      1, 'Count 1-10 (2)');
-  ok (evcheck(sub { $p->message('Hello Mum!') },
-              'Count 1-10 (3)' ),
-      1, 'Count 1-10 (3)');
-  ok (evcheck(sub { for (6..10) { $p->update($_); sleep 1 } },
-              'Count 1-10 (4)' ),
-      1, 'Count 1-10 (4)');
-  my $err = restore_output('stderr');
-#  $err =~ s!^.*\r!!gm;
+              } 'Count 1-10 (1)';
+    lives_ok { for (1..5) { $p->update($_); sleep 1 } }
+              'Count 1-10 (2)';
+    lives_ok { $p->message('Hello Mum!') }  'Count 1-10 (3)';
+    lives_ok { for (6..10) { $p->update($_); sleep 1 } } 'Count 1-10 (4)';
+  };
+  print $out;
+
   my @lines = grep $_ ne '', split /[\n\r]+/, $err;
-  print Dumper \@lines
+  diag explain \@lines
     if $ENV{TEST_DEBUG};
   ok grep $_ eq 'Hello Mum!', @lines;
-  ok $lines[-1], qr/\[=+\]/,                                  'Count 1-10 (6)';
-  ok $lines[-1], qr/^fred: \s*100%/,                          'Count 1-10 (7)';
-  ok $lines[-1], qr/D[ \d]\dh\d{2}m\d{2}s$/,                  'Count 1-10 (8)';
-  ok $lines[-2], qr/ Left$/,                                  'Count 1-10 (9)';
+  like $lines[-1], qr/\[=+\]/,                  'Count 1-10 (6)';
+  like $lines[-1], qr/^fred: \s*100%/,          'Count 1-10 (7)';
+  like $lines[-1], qr/D[ \d]\dh\d{2}m\d{2}s$/,  'Count 1-10 (8)';
+  like $lines[-2], qr/ Left$/,                  'Count 1-10 (9)';
 }
 
 # ----------------------------------------------------------------------------