# !perl
#$Id: 03_list.t 1213 2008-02-09 23:40:34Z jimk $
# 03_list.t - test what happens when passing list to say
use strict;
use warnings;
use Test::More tests => 11;
use lib ( qq{./t/lib} );
BEGIN {
use_ok('Perl6::Say');
use_ok('Carp');
use_ok('Perl6::Say::Auxiliary', qw| _validate capture_say $capture_fail_message |);
};
SKIP: {
skip $capture_fail_message,
8 if $capture_fail_message;
my (@list, $say_sub, $msg);
$say_sub = sub { say @list; };
$msg = q{correctly printed to STDOUT as default print filehandle};
@list = ( 'Hello', ' ', 'World' );
capture_say( {
data => \@list,
pred => 1,
eval => $say_sub,
msg => $msg,
} );
@list = ( 'Hello', ' ', 'World', "\n" );
capture_say( {
data => \@list,
pred => 2,
eval => $say_sub,
msg => $msg,
} );
@list = ( 'Hello', ' ', 'World', "\n", 'Again!', "\n" );
capture_say( {
data => \@list,
pred => 3,
eval => $say_sub,
msg => $msg,
} );
@list = ( );
capture_say( {
data => \@list,
pred => 1,
eval => $say_sub,
msg => $msg,
} );
$say_sub = sub { say STDOUT @list; };
$msg = q{correctly printed to STDOUT as explicitly named print filehandle};
@list = ( 'Hello', ' ', 'World' );
capture_say( {
data => \@list,
pred => 1,
eval => $say_sub,
msg => $msg,
} );
@list = ( 'Hello', ' ', 'World', "\n" );
capture_say( {
data => \@list,
pred => 2,
eval => $say_sub,
msg => $msg,
} );
@list = ( 'Hello', ' ', 'World', "\n", 'Again!', "\n" );
capture_say( {
data => \@list,
pred => 3,
eval => $say_sub,
msg => $msg,
} );
@list = ( );
capture_say( {
data => \@list,
pred => 1,
eval => $say_sub,
msg => $msg,
} );
}