The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Test::Stream::Event::Ok - Ok event type

EXPERIMENTAL CODE WARNING

This is an experimental release! Test-Stream, and all its components are still in an experimental phase. This dist has been released to cpan in order to allow testers and early adopters the chance to write experimental new tools with it, or to add experimental support for it into old tools.

PLEASE DO NOT COMPLETELY CONVERT OLD TOOLS YET. This experimental release is very likely to see a lot of code churn. API's may break at any time. Test-Stream should NOT be depended on by any toolchain level tools until the experimental phase is over.

DESCRIPTION

Ok events are generated whenever you run a test that produces a result. Examples are ok(), and is().

SYNOPSIS

    use Test::Stream::Context qw/context/;
    use Test::Stream::Event::Ok;

    my $ctx = context();
    my $event = $ctx->ok($bool, $name, \@diag);

or:

    my $ctx   = debug();
    my $event = $ctx->send_event(
        'Ok',
        pass => $bool,
        name => $name,
        diag => \@diag
    );

ACCESSORS

$rb = $e->pass

The original true/false value of whatever was passed into the event (but reduced down to 1 or 0).

$name = $e->name

Name of the test.

$diag = $e->diag

An arrayref full of diagnostics strings to print in the event of a failure.

Note: This does not have anything by default, the default_diag() method can be used to generate the basic diagnostics message which you may push into this arrayref.

$b = $e->effective_pass

This is the true/false value of the test after TODO, SKIP, and similar modifiers are taken into account.

$b = $e->allow_bad_name

This relaxes the test name checks such that they allow characters that can confuse a TAP parser.

METHODS

$string = $e->default_diag()

This generates the default diagnostics string:

    # Failed test 'Some Test'
    # at t/foo.t line 42.
@sets = $e->to_tap()
@sets = $e->to_tap($num)

Generate the tap stream for this object. @sets containes 1 or more arrayrefs that identify the IO handle to use, and the string that should be sent to it.

IO Handle identifiers are set to the value of the Test::Stream::Formatter::TAP OUT_* constants.

Example:

    @sets = (
        [OUT_STD() => 'not ok 1 - foo'],
        [OUT_ERR() => '# Test 1 Failed ...' ],
        ...
    );

SOURCE

The source code repository for Test::Stream can be found at http://github.com/Test-More/Test-Stream/.

MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Copyright 2015 Chad Granum <exodist7@gmail.com>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html