X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=t%2Feta-linear.t;h=8c07d2dd98a9e96e32fe2eaa2d0c1234621e41b3;hb=2256bba0170029adbe6ce865c0b7c3edbededfe7;hp=25081eea82b878f5baa68a16b44573a01535e167;hpb=3797cda1b0da9caa24c7ff35e910e1f318c77918;p=term-progressbar.git diff --git a/t/eta-linear.t b/t/eta-linear.t index 25081ee..8c07d2d 100644 --- a/t/eta-linear.t +++ b/t/eta-linear.t @@ -9,18 +9,8 @@ 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 lib $Bin; -use test qw( DATA_DIR - evcheck restore_output save_output ); - -BEGIN { - # 1 for compilation test, - plan tests => 10, - todo => [], -} +use Test::More tests => 9; +use Test::Exception; =head2 Test 1: compilation @@ -31,8 +21,6 @@ successfully. use Term::ProgressBar; -ok 1, 1, 'compilation'; - Term::ProgressBar->__force_term (50); # ------------------------------------- @@ -54,33 +42,28 @@ Update it it from 1 to 10. =cut -{ +use Capture::Tiny qw(capture); + +my ($out, $err) = capture { my $p; - save_output('stderr', *STDERR{IO}); - ok (evcheck(sub { + 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 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)'; + # ----------------------------------------------------------------------------