use strict; use warnings; use Test::More 0.88; use File::Path qw/make_path remove_tree/; use File::Basename; use lib dirname(__FILE__). '/lib'; use Test::AppRolling; use App::Rolling; sub mk_testdir { make_path( outdir(), +{} ); } sub outdir { dirname(__FILE__). '/out'; } sub cleanup_testdir { remove_tree( outdir() ); } END { cleanup_testdir(); } my $roll = 'bin/roll'; mk_testdir(); { open_words_txt_as_stdin(); system $^X, (map { "-I$_" } @INC), $roll, outdir().'/foo', ; is $?, 0, 'foo'; my $file = exists_file(outdir(), qr/foo\.\d+/); is( (defined $file), 1, 'file exists' ); is slurp($file), "1\n2\n3\n4\n5\n", 'content'; restore_stdin(); } { open_words_txt_as_stdin(); system $^X, (map { "-I$_" } @INC), $roll, sprintf('--file=%s/bar', outdir()), ; is $?, 0, "--file"; my $file = exists_file(outdir(), qr/bar\.\d+/); is( (defined $file), 1, 'file exists' ); is slurp($file), "1\n2\n3\n4\n5\n", 'content'; restore_stdin(); } { open_words_txt_as_stdin(); system $^X, (map { "-I$_" } @INC), $roll, sprintf('-f=%s/baz', outdir()), ; is $?, 0, "-f"; my $file = exists_file(outdir(), qr/baz\.\d+/); is( (defined $file), 1, 'file exists' ); is slurp($file), "1\n2\n3\n4\n5\n", 'content'; restore_stdin(); } cleanup_testdir(); done_testing;