stop using Moo as a test package
[catagits/Catalyst-Runtime.git] / t / aggregate / unit_core_script_run_options.t
CommitLineData
aee7cdcc 1use strict;
2use warnings;
3use Test::More;
4use FindBin qw/$Bin/;
5use IO::Handle;
6use Try::Tiny;
7use File::Temp qw/ tempfile /;
8use lib "$Bin/../lib";
9
10use_ok('Catalyst::ScriptRunner');
11use_ok('ScriptTestApp');
12
13is ScriptTestApp->run_options, undef;
14
15my ($fh, $fn) = tempfile();
16
17binmode( $fh );
18binmode( STDOUT );
19
20local @ARGV = ();
21local %ENV;
22
23my $saved;
24open( $saved, '>&'. STDOUT->fileno )
25 or croak("Can't dup stdout: $!");
26open( STDOUT, '>&='. $fh->fileno )
27 or croak("Can't open stdout: $!");
28local $SIG{__WARN__} = sub {}; # Shut up warnings...
29try { Catalyst::ScriptRunner->run('ScriptTestApp', 'CGI'); pass("Ran ok") }
30catch { fail "Failed to run $_" };
31
32STDOUT->flush
33 or croak("Can't flush stdout: $!");
34
35open( STDOUT, '>&'. fileno($saved) )
36 or croak("Can't restore stdout: $!");
37
38is_deeply ScriptTestApp->run_options, { argv => [], extra_argv => [] };
39
40done_testing;