Group
Extension

App-Env/t/capture.t

#!perl

use Test2::V0;
use Test::Lib;

use File::Temp;
use File::Spec::Functions qw[ catfile ];

use App::Env;

my $script = catfile( qw [ t bin capture.pl ] );

{
    my $app1 = App::Env->new( 'App1', { Cache => 0 } );

    my ( $stdout, $stderr ) = $app1->capture( $^X, $script );
    is( $?, 0, 'successful system call' );

    is( $stdout, "STDOUT\n", 'success: STDOUT' );
    is( $stderr, "STDERR\n", 'success: STDERR' );
}

{
    my $app1 = App::Env->new( 'App1', { Cache => 0 } );

    $app1->capture( $^X, $script, 'exit' );
    isnt( $?, 0, 'unsuccessful system call' );
}

{
    my $app1 = App::Env->new( 'App1', { Cache => 0, SysFatal => 1 } );

    ok( dies { $app1->capture( $^X, $script, 'exit' ); }, 'unsuccessful system call: SysFatal', );
}

{
    my $app1 = App::Env->new( 'App1', { Cache => 0 } );

    my $stdout = $app1->qexec( $^X, $script, 'a', 'b' );

    is( $stdout, "a\nb\n", 'qexec scalar' );

    my @stdout = $app1->qexec( $^X, $script, 'a', 'b' );

    is( \@stdout, [ "a\n", "b\n" ], 'qexec list' );

}

done_testing;


Powered by Groonga
Maintained by Kenichi Ishigaki <ishigaki@cpan.org>. If you find anything, submit it on GitHub.