]> git.donarmstrong.com Git - term-progressbar.git/blobdiff - t/v2-message.t
gitignore releases
[term-progressbar.git] / t / v2-message.t
index 5b215be694b1e30950ae431cea3b94d4dffa07cb..0b2b5281907bef833a2dce75cd3ceab2303dba22 100644 (file)
@@ -1,6 +1,7 @@
 # (X)Emacs mode: -*- cperl -*-
 
 use strict;
+use warnings;
 
 =head1 Unit Test Package for Term::ProgressBar
 
@@ -8,22 +9,12 @@ This package tests the basic functionality of Term::ProgressBar.
 
 =cut
 
-use Data::Dumper 2.101 qw( Dumper );
-use FindBin 1.42 qw( $Bin );
-use Test 1.122 qw( ok plan );
+use Test::More tests => 11;
+use Test::Exception;
 
-use lib $Bin;
-use test qw( evcheck );
+use Capture::Tiny qw(capture_stderr);
 
-use constant MESSAGE1 => 'Walking on the Milky Way';
-
-use Capture::Tiny qw(capture);
-
-BEGIN {
-  # 1 for compilation test,
-  plan tests  => 11,
-       todo   => [],
-}
+my $MESSAGE1 = 'Walking on the Milky Way';
 
 =head2 Test 1: compilation
 
@@ -32,9 +23,7 @@ successfully.
 
 =cut
 
-use Term::ProgressBar;
-
-ok 1, 1, 'compilation';
+use_ok 'Term::ProgressBar';
 
 Term::ProgressBar->__force_term (50);
 
@@ -54,29 +43,25 @@ Update it it from 1 to 10.  Output a message halfway through.
 (7) Check bar number is 100%
 
 =cut
-
-my ($out, $err) = capture {
-  my $p;
-  ok (evcheck(sub { $p = Term::ProgressBar->new(10); }, 'Count 1-10 (1)' ),
-      1, 'Count 1-10 (1)');
-  ok (evcheck(sub { $p->update($_) for 1..5  }, 'Count 1-10 (2)' ),
-      1, 'Count 1-10 (2)');
-  ok (evcheck(sub { $p->message(MESSAGE1)    }, 'Count 1-10 (3)' ),
-      1, 'Count 1-10 (3)');
-  ok (evcheck(sub { $p->update($_) for 6..10 }, 'Count 1-10 (4)' ),
-      1, 'Count 1-10 (4)');
-};
-print $out;
+{
+  my $err = capture_stderr {
+    my $p;
+    lives_ok { $p = Term::ProgressBar->new(10); } 'Count 1-10 (1)';
+    lives_ok { $p->update($_) for 1..5  }         'Count 1-10 (2)';
+    lives_ok { $p->message($MESSAGE1)    }         'Count 1-10 (3)';
+    lives_ok { $p->update($_) for 6..10 }         'Count 1-10 (4)';
+  };
 
   $err =~ s!^.*\r!!gm;
-  print STDERR "ERR:\n$err\nlength: ", length($err), "\n"
+  diag "ERR:\n$err\nlength: " . length($err)
     if $ENV{TEST_DEBUG};
 
   my @lines = split /\n/, $err;
 
-  ok $lines[0], MESSAGE1;
-  ok $lines[-1], qr/\[=+\]/,            'Count 1-10 (5)';
-  ok $lines[-1], qr/^\s*100%/,          'Count 1-10 (6)';
+  is $lines[0], $MESSAGE1;
+  like $lines[-1], qr/\[=+\]/,            'Count 1-10 (5)';
+  like $lines[-1], qr/^\s*100%/,          'Count 1-10 (6)';
+}
 
 # -------------------------------------
 
@@ -91,18 +76,16 @@ This is to check that message preserves the progress bar value correctly.
 
 =cut
 
-($out, $err) = capture {
-  my $p;
-  ok (evcheck(sub { $p = Term::ProgressBar->new(100); }, 'Message Check ( 1)'),
-      1,                                                 'Message Check ( 1)');
-  ok (evcheck(sub { for (0..100) { $p->update($_); $p->message("Hello") } },
-              'Message Check ( 2)',), 
-      1,                                                 'Message Check ( 2)');
-};
-print $out;
+{
+  my $err = capture_stderr {
+    my $p;
+    lives_ok { $p = Term::ProgressBar->new(100); } 'Message Check ( 1)';
+    lives_ok { for (0..100) { $p->update($_); $p->message("Hello") } }  'Message Check ( 2)';
+  };
 
   my @err_lines = split /\n/, $err;
   (my $last_line = $err_lines[-1]) =~ tr/\r//d;
-  ok substr($last_line, 0, 4), '100%',               'Message Check ( 3)';
+  is substr($last_line, 0, 4), '100%',               'Message Check ( 3)';
+}
 
 # ----------------------------------------------------------------------------