From: Tomas Doran Date: Fri, 20 Nov 2009 01:01:47 +0000 (+0000) Subject: Fugly test for myapp_test.pl. If someone fancies rewriting the IO redirection to... X-Git-Tag: 5.80014_02~41 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=718e995d7eaead630c5ae91d66ef84e7513c33ae Fugly test for myapp_test.pl. If someone fancies rewriting the IO redirection to be less gross then I loveyoulongtime --- diff --git a/t/aggregate/unit_core_script_test.t b/t/aggregate/unit_core_script_test.t new file mode 100644 index 0000000..cc91a3a --- /dev/null +++ b/t/aggregate/unit_core_script_test.t @@ -0,0 +1,48 @@ +use strict; +use warnings; + +use FindBin qw/$Bin/; +use lib "$Bin/../lib"; + +use Test::More; +use Test::Exception; + +use Catalyst::Script::Test; +use File::Temp qw/tempfile/; +use IO::Handle; + +my ($fh, $fn) = tempfile(); + +binmode( $fh ); +binmode( STDOUT ); + +{ + local @ARGV = ('/'); + my $i; + lives_ok { + $i = Catalyst::Script::Test->new_with_options(application_name => 'TestApp'); + } "new_with_options"; + ok $i; + my $saved; + open( $saved, '<&'. STDIN->fileno ) + or croak("Can't dup stdin: $!"); + open( STDOUT, '>&='. $fh->fileno ) + or croak("Can't open stdout: $!"); + eval { $i->run }; + ok !$@, 'Ran ok'; + + STDOUT->flush + or croak("Can't flush stdout: $!"); + + open( STDOUT, '>&'. fileno($saved) ) + or croak("Can't restore stdout: $!"); +} + +my $data = do { my $fh; open($fh, '<', $fn) or die $!; local $/; <$fh>; }; +$fh = undef; +unlink $fn if -r $fn; + +is $data, "root index\n", 'correct content printed'; + +done_testing; +