The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

TAP::Parser::Result - TAP::Parser output

VERSION

Version 0.54

DESCRIPTION

This is merely a factory class which returns an object representing the current bit of test data from TAP (usually a line). It's for internal use only and should not be relied upon.

METHODS

new

my $result = TAP::Parser::Result->new($token);

Returns an instance the appropriate class for the test token passed in.

Boolean methods

The following methods all return a boolean value and are to be overridden in the appropriate subclass.

  • is_plan

    Indicates whether or not this is the test plan line.

    1..3
  • is_test

    Indicates whether or not this is a test line.

    is $foo, $bar, $description;
  • is_comment

    Indicates whether or not this is a comment.

    # this is a comment
  • is_bailout

    Indicates whether or not this is bailout line.

    Bail out! We're out of dilithium crystals.
  • is_version

    Indicates whether or not this is a TAP version line.

    TAP version 4
  • is_unknown

    Indicates whether or not the current line could be parsed.

    ... this line is junk ...
  • is_yaml

    Indicates whether or not this is a YAML chunk.

raw

print $result->raw;

Returns the original line of text which was parsed.

type

my $type = $result->type;

Returns the "type" of a token, such as comment or test.

as_string

print $result->as_string;

Prints a string representation of the token. This might not be the exact output, however. Tests will have test numbers added if not present, TODO and SKIP directives will be capitalized and, in general, things will be cleaned up. If you need the original text for the token, see the raw method.

is_ok

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

Reports whether or not a given result has passed. Anything which is not a test result returns true. This is merely provided as a convenient shortcut.

passed

Deprecated. Please use is_ok instead.

has_directive

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

Indicates whether or not the given result has a TODO or SKIP directive.

has_todo

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

Indicates whether or not the given result has a TODO directive.

has_skip

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

Indicates whether or not the given result has a SKIP directive.