NAME
Test::Out - Test output from FILEHANDLE
SYNOPSIS
use Test::Out;
my $out = Test::Out->new( output => *STDOUT, tests => 4 );
# Or ...
my $out = Test::Out->new(tests => 4);
$out->redirect( output => *STDOUT );
## This will go to a place that your harness can see
$out->diag("Testing is* functions");
## But this will not be displayed but captured for test methods
$some->method_that_prints("This is a test\n");
$out->is_output("This is a test\n", "test 1");
$out->isnt_output("Han shot first", "test 2");
$out->diag("Testing regex functions");
CORE::print "A random number: @{[int rand 100]}\n";
$out->like_output(qr/random number: \d+/, "test 3");
$out->unlike_output(qr/i like pickles$/, "test 4");
$out->restore;
## This will be printed to STDOUT
print "Done.\n";
DESCRIPTION
Test out is another Test::Builder application that implements a few of the well known test facilities except the result of output to an IO::Handle is used. This could be used to capture output being printed to a file, but it's ideal for output being sent to STDOUT or STDERR.
See the SYNOPSIS for an example use.
AUTHOR
Lane Davis <cpan@upt.org>
FUNCTIONS
METHODS
- $out->new(%options)
-
The Test::Out package constructor has several arguments, some required some optional
- REQUIRED OPTIONS
-
The following options must be present in the hash passed to the constructor:
- NON-REQUIRED OPTIONS
- $out->redirect
- $out->redirect(output => *FH)
- $out->redirect(output => \*FH)
-
This method will be automatically invoked by the constructor if the output key is passed to new.
TESTS
- $out->is_output(EXPR, NAME)
- $out->was_output(EXPR, NAME)
-
Tests the last output buffer against EXPR. If there isn't a perfect string comparison the test fails. Pay particular attention to possible newlines in the last output. If you're unsure either paste the contents of $\ to your comparitor or use the
like
method.The was_output method is an alias for is_output.
- $out->isnt_output(EXPR, NAME)
- $out->wasnt_output(EXPR, NAME)
-
This is the inverse of is_output, the negation of the comparing EXPR to the last printed output is performed.
The wasnt_output method is an alias for isnt_output.
- $out->like_output(qr/STRING/, NAME)
-
This performs a test with the last output and a compiled regular expression as its first argument.
- $out->unlike_output(qr/STRING/, NAME)
-
This performs a negated test with the last output and a compiled regular expression as its first argument.
- $out->cmp_output(OP, EXPR, NAME)
-
This performs a comparison allowing you to pass your own perl binary operator as the first arugment (e.g., "==", "eq", etc).
- $out->diag(@messages)
-
Prints a diagnostic message