use Test::Tester;
use Test::More tests => 98;
use Test::Output;
use strict;
use warnings;
check_test( sub {
combined_is(sub {
print "TEST OUT\n";
},
"TEST OUT\n",
'Testing STDOUT'
)
},{
ok => 1,
name => 'Testing STDOUT',
diag => '',
},'STDOUT matches success'
);
check_test( sub {
combined_is(sub {
print STDERR "TEST OUT\n";
},
"TEST OUT\n",
'Testing STDERR'
)
},{
ok => 1,
name => 'Testing STDERR',
diag => '',
},'STDERR matches success'
);
check_test( sub {
combined_is(sub {
print "TEST OUT\n";
print STDERR "TEST ERR\n";
print "TEST AGAIN\n";
},
"TEST OUT\nTEST ERR\nTEST AGAIN\n",
'Testing STDOUT & STDERR'
)
},{
ok => 1,
name => 'Testing STDOUT & STDERR',
diag => '',
},'STDOUT & STDERR match success'
);
check_test( sub {
combined_is(sub {
printf("TEST OUT - %d\n",25);
},
"TEST OUT - 25\n",
'Testing STDOUT printf'
)
},{
ok => 1,
name => 'Testing STDOUT printf',
diag => '',
},'STDOUT printf match success'
);
check_test( sub {
combined_is(sub {
print "TEST OUT";
},
"TEST OUT STDOUT",
'Testing STDOUT failure'
)
}, {
ok => 0,
name => 'Testing STDOUT failure',
diag => "STDOUT & STDERR are:\nTEST OUT\nnot:\nTEST OUT STDOUT\nas expected\n",
},'STDOUT not matching failure'
);
check_test( sub {
combined_is(sub {
print STDERR "TEST OUT"},
"TEST OUT STDERR",
'Testing STDERR failure'
)
}, {
ok => 0,
name => 'Testing STDERR failure',
diag => "STDOUT & STDERR are:\nTEST OUT\nnot:\nTEST OUT STDERR\nas expected\n",
},'STDERR not matching failure'
);
check_test( sub {
combined_is(sub {
print "TEST ERR\n";
print STDERR "TEST OUT\n"},
"TEST ERR STDOUT\nTEST OUT STDERR\n",
'Testing STDERR failure'
)
}, {
ok => 0,
name => 'Testing STDERR failure',
diag => "STDOUT & STDERR are:\nTEST ERR\nTEST OUT\n\nnot:\nTEST ERR STDOUT\nTEST OUT STDERR\n\nas expected\n",
},'STDOUT and STDERR not matching failure'
);
check_test( sub {
combined_is {
print "TEST OUT\n";
}
"TEST OUT\n",
'Testing STDOUT'
},{
ok => 1,
name => 'Testing STDOUT',
diag => '',
},'codeblock STDOUT matches success'
);
check_test( sub {
combined_is {
print STDERR "TEST OUT\n";
}
"TEST OUT\n",
'Testing STDERR'
},{
ok => 1,
name => 'Testing STDERR',
diag => '',
},'STDERR matches success'
);
check_test( sub {
combined_is {
print "TEST OUT\n";
print STDERR "TEST ERR\n";
print "TEST OUT AGAIN\n";
}
"TEST OUT\nTEST ERR\nTEST OUT AGAIN\n",
'Testing STDOUT & STDERR'
},{
ok => 1,
name => 'Testing STDOUT & STDERR',
diag => '',
},'STDOUT & STDERR match success'
);
check_test( sub {
combined_is {
printf("TEST OUT - %d\n",25);
}
"TEST OUT - 25\n",
'Testing STDOUT printf'
},{
ok => 1,
name => 'Testing STDOUT printf',
diag => '',
},'STDOUT printf match success'
);
check_test( sub {
combined_is {
print "TEST OUT";
}
"TEST OUT STDOUT",
'Testing STDOUT failure'
}, {
ok => 0,
name => 'Testing STDOUT failure',
diag => "STDOUT & STDERR are:\nTEST OUT\nnot:\nTEST OUT STDOUT\nas expected\n",
},'STDOUT not matching failure'
);
check_test( sub {
combined_is {
print STDERR "TEST OUT"}
"TEST OUT STDERR",
'Testing STDERR failure'
}, {
ok => 0,
name => 'Testing STDERR failure',
diag => "STDOUT & STDERR are:\nTEST OUT\nnot:\nTEST OUT STDERR\nas expected\n",
},'STDERR not matching failure'
);
check_test( sub {
combined_is {
print "TEST ERR\n";
print STDERR "TEST OUT\n"}
"TEST ERR STDOUT\nTEST OUT STDERR\n",
'Testing STDERR failure'
}, {
ok => 0,
name => 'Testing STDERR failure',
diag => "STDOUT & STDERR are:\nTEST ERR\nTEST OUT\n\nnot:\nTEST ERR STDOUT\nTEST OUT STDERR\n\nas expected\n",
},'STDOUT and STDERR not matching failure'
);