NAME

Test::Stream::Bundle - Tools to help you write custom bundles.

DEPRECATED

This distribution is deprecated in favor of Test2, Test2::Suite, and Test2::Workflow.

See Test::Stream::Manual::ToTest2 for a conversion guide.

DESCRIPTION

You can reduce your boilerplate by writing your own Test::Stream bundles. A bundle is a set of plugins that get loaded all at once to your specifications.

SYNOPSIS

package Test::Stream::Bundle::MyBundle;
use strict;
use warnings;

# Gives us an 'import' method that allows this module to be used directly
# if desired.
use Test::Stream::Bundle qw/import/;

sub plugins {
    return (
        qw{
            IPC
            TAP
            ExitSummary
            Core
            Context
            Exception
            Warnings
            Compare
            Mock
        },
    );
}

EXPORTS

$class->import()

This import() method gets called when your plugin isused directly use Test::Stream::Bundle::MyBundle. Doing so will load all the specified plugins.

EXPECTED METHODS

@list = $class->plugins()

The plugins() method should return a list of plugins to load. It can also return coderefs which will be run with the original caller arrayref as their only argument.

sub plugins {
    return (
        qw/Core TAP .../,
        sub {
            my $caller = shift;

            # Package, file, and line that requested the bundle be used.
            my ($pkg, $file, $line) = @$caller;

            ...
        },
    );
}

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://dev.perl.org/licenses/