X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Faggregate%2Funit_core_script_test.t;h=5f5668126e525a630573335088ffb7689d494f3a;hb=95389116fd165c265f5b7be42e1eedde13f38181;hp=cc91a3af2c217ac87be47709b776cdc2c59989b5;hpb=718e995d7eaead630c5ae91d66ef84e7513c33ae;p=catagits%2FCatalyst-Runtime.git diff --git a/t/aggregate/unit_core_script_test.t b/t/aggregate/unit_core_script_test.t index cc91a3a..5f56681 100644 --- a/t/aggregate/unit_core_script_test.t +++ b/t/aggregate/unit_core_script_test.t @@ -11,38 +11,44 @@ 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'; +is run_test('/'), "root index\n", 'correct content printed'; +is run_test('/moose/get_attribute'), "42\n", 'Correct content printed for non root action'; done_testing; +sub run_test { + my $url = shift; + + my ($fh, $fn) = tempfile(); + + binmode( $fh ); + binmode( STDOUT ); + + { + local @ARGV = ($url); + 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; + + return $data; +}