NAME

TAPx::Parser::Results::Test - Test result token.

DESCRIPTION

This is a subclass of TAPx::Parser::Results. A token of this class will be returned if a test line is encountered.

1..1
ok 1 - woo hooo!

OVERRIDDEN METHODS

This class is the workhorse of the TAPx::Parser system. Most TAP lines will be test lines and if $result->is_test, then you have a bunch of methods at your disposal.

Instance methods

ok

my $ok = $result->ok;

Returns the literal text of the ok or not ok status.

number

my $test_number = $result->number;

Returns the number of the test, even if the original TAP output did not supply that number.

description

my $description = $result->description;

Returns the description of the test, if any. This is the portion after the test number but before the directive.

directive

my $directive = $result->directive;

Returns either TODO or SKIP if either directive was present for a test line.

explanation

my $explanation = $result->explanation;

If a test had either a TODO or SKIP directive, this method will return the accompanying explantion, if present.

not ok 17 - 'Pigs can fly' # TODO not enough acid

For the above line, the explanation is not enough acid.

passed

if ( $result->passed ) { ... }

Returns a boolean value indicating whether or not the test passed. Remember that for TODO tests, the sense of passing and failing is reversed.

actual_passed

if ( $result->actual_passed ) { ... }

Returns a boolean value indicating whether or not the test passed, regardless of its TODO status.

has_skip

if ( $result->has_skip ) { ... }

Returns a boolean value indicating whether or not this test has a SKIP directive.

has_todo

if ( $result->has_todo ) { ... }

Returns a boolean value indicating whether or not this test has a TODO directive.

as_string

print $result->as_string;

This method prints the test as a string. It will probably be similar, but not necessarily identical, to the original test line. Directives are capitalized, some whitespace may be trimmed and a test number will be added if it was not present in the original line. If you need the original text of the test line, use the raw method.