X-Git-Url: https://git.donarmstrong.com/?p=term-progressbar.git;a=blobdiff_plain;f=t%2Fv2-message.t;h=6b687344f7edb18f6045ab6ccd1bbcdf60ac93fb;hp=35634958e29ae2b149c0d606bbd5c7c353ee9829;hb=14647cabb5bbb54629de8545e080519bd0be430f;hpb=3797cda1b0da9caa24c7ff35e910e1f318c77918 diff --git a/t/v2-message.t b/t/v2-message.t index 3563495..6b68734 100644 --- a/t/v2-message.t +++ b/t/v2-message.t @@ -9,20 +9,13 @@ 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 lib $Bin; -use test qw( DATA_DIR - evcheck restore_output save_output ); +use Test::More tests => 11; +use Test::Exception; use constant MESSAGE1 => 'Walking on the Milky Way'; -BEGIN { - # 1 for compilation test, - plan tests => 11, - todo => [], -} +use Capture::Tiny qw(capture); + =head2 Test 1: compilation @@ -31,9 +24,7 @@ successfully. =cut -use Term::ProgressBar; - -ok 1, 1, 'compilation'; +use_ok 'Term::ProgressBar'; Term::ProgressBar->__force_term (50); @@ -54,18 +45,14 @@ Update it it from 1 to 10. Output a message halfway through. =cut -{ +my ($out, $err) = capture { my $p; - save_output('stderr', *STDERR{IO}); - 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)'); - my $err = restore_output('stderr'); + 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)'; +}; +print $out; $err =~ s!^.*\r!!gm; print STDERR "ERR:\n$err\nlength: ", length($err), "\n" @@ -73,10 +60,9 @@ Update it it from 1 to 10. Output a message halfway through. 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,19 +77,15 @@ This is to check that message preserves the progress bar value correctly. =cut -{ +($out, $err) = capture { my $p; - save_output('stderr', *STDERR{IO}); - 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)'); - my $err = restore_output('stderr'); + lives_ok { $p = Term::ProgressBar->new(100); } 'Message Check ( 1)'; + lives_ok { for (0..100) { $p->update($_); $p->message("Hello") } } 'Message Check ( 2)'; +}; +print $out; 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)'; # ----------------------------------------------------------------------------