X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=t%2Fv2-message.t;h=0b2b5281907bef833a2dce75cd3ceab2303dba22;hb=34ac983862368c022af1ffe37fe80de1abdec2a8;hp=c4036e3f9544a08dd5b0d43ab336d6bba6aa2bb9;hpb=8f87af0520c5dbcedbfe74dd6ef6e7826f200263;p=term-progressbar.git diff --git a/t/v2-message.t b/t/v2-message.t index c4036e3..0b2b528 100644 --- a/t/v2-message.t +++ b/t/v2-message.t @@ -1,6 +1,7 @@ # (X)Emacs mode: -*- cperl -*- use strict; +use warnings; =head1 Unit Test Package for Term::ProgressBar @@ -8,17 +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::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 @@ -47,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)' ), - '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)'; +} # ------------------------------------- @@ -84,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)'), - '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)'; +} # ----------------------------------------------------------------------------