# (X)Emacs mode: -*- cperl -*-
use strict;
+use warnings;
=head1 Unit Test Package for Term::ProgressBar
=cut
-use Data::Dumper 2.101 qw( Dumper );
-use FindBin 1.42 qw( $Bin );
use Test::More tests => 11;
+use Test::Exception;
-use lib $Bin;
-use test qw( evcheck );
-
-use constant MESSAGE1 => 'Walking on the Milky Way';
-
-use Capture::Tiny qw(capture);
+use Capture::Tiny qw(capture_stderr);
+my $MESSAGE1 = 'Walking on the Milky Way';
=head2 Test 1: compilation
(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)' ),
- 'Count 1-10 (1)');
- ok (evcheck(sub { $p->update($_) for 1..5 }, 'Count 1-10 (2)' ),
- 'Count 1-10 (2)');
- ok (evcheck(sub { $p->message(MESSAGE1) }, 'Count 1-10 (3)' ),
- 'Count 1-10 (3)');
- ok (evcheck(sub { $p->update($_) for 6..10 }, 'Count 1-10 (4)' ),
- '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;
- is $lines[0], MESSAGE1;
+ is $lines[0], $MESSAGE1;
like $lines[-1], qr/\[=+\]/, 'Count 1-10 (5)';
like $lines[-1], qr/^\s*100%/, 'Count 1-10 (6)';
+}
# -------------------------------------
=cut
-($out, $err) = capture {
- my $p;
- ok (evcheck(sub { $p = Term::ProgressBar->new(100); }, 'Message Check ( 1)'),
- 'Message Check ( 1)');
- ok (evcheck(sub { for (0..100) { $p->update($_); $p->message("Hello") } },
- 'Message Check ( 2)',),
- '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;
is substr($last_line, 0, 4), '100%', 'Message Check ( 3)';
+}
# ----------------------------------------------------------------------------