Provided by: libapp-cmd-perl_0.323-1_all bug

NAME

       App::Cmd::Tester::CaptureExternal - Extends App::Cmd::Tester to capture from external
       subprograms

VERSION

       version 0.323

SYNOPSIS

         use Test::More tests => 4;
         use App::Cmd::Tester::CaptureExternal;

         use YourApp;

         my $result = test_app(YourApp => [ qw(command --opt value) ]);

         like($result->stdout, qr/expected output/, 'printed what we expected');

         is($result->stderr, '', 'nothing sent to sderr');

         ok($result->output, "STDOUT concatenated with STDERR");

DESCRIPTION

       App::Cmd::Tester provides a useful scaffold for testing applications, but it is unable to
       capture output generated from any external subprograms that are invoked from the
       application.

       This subclass uses an alternate mechanism for capturing output (Capture::Tiny) that does
       capture from external programs, with one major limitation.

       It is not possible to capture externally from both STDOUT and STDERR while also having
       appropriately interleaved combined output.  Therefore, the "output" from this subclass
       simply concatenates the two.

       You can still use "output" for testing if there is any output at all or for testing if
       something appeared in either output stream, but you can't rely on the ordering being
       correct between lines to STDOUT and lines to STDERR.

AUTHOR

       Ricardo Signes <rjbs@cpan.org>

COPYRIGHT AND LICENSE

       This software is copyright (c) 2013 by Ricardo Signes.

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