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

NAME

Test::Stream::Plugin::Capture - Plugin for capturing STDERR and STDOUT.

DESCRIPTION

This plugin provides the capture { ... } function which can be used to capture all STDERR and STDOUT output from the code in the provided codeblock. This will not intercept TAP output from Test::Stream itself, so it is safe to run tests within the block.

SYNOPSIS

    is(
        capture {
            print STDERR "First STDERR\n";
            print STDOUT "First STDOUT\n";
            print STDERR "Second STDERR\n";
            print STDOUT "Second STDOUT\n";
        },
        {
            STDOUT => "First STDOUT\nSecond STDOUT\n",
            STDERR => "First STDERR\nSecond STDERR\n",
        },
        "Captured stdout and stderr"
    );

EXPORTS

$out = capture { ... }

Captures all STDERR and STDOUT output within the codeblock. $out will be a hashref with STDERR and STDOUT as keys. All output is combined into a single string per handle.

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