X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Flive_fork.t;h=e716b386b6557842f1b331d7cc0f40443250c970;hp=c5785a3000e703cb26b11e74be05d8974c9749b1;hb=5757858f133f7f1e92dd996dad0f6e28b0b919ed;hpb=ba9ee3c8d5672fc1213bcdffe1fdc7f8e05beecd diff --git a/t/live_fork.t b/t/live_fork.t index c5785a3..e716b38 100644 --- a/t/live_fork.t +++ b/t/live_fork.t @@ -1,4 +1,3 @@ -#!/usr/bin/perl # live_fork.t # Copyright (c) 2006 Jonathan Rockway @@ -13,9 +12,7 @@ use Test::More; use FindBin; use lib "$FindBin::Bin/lib"; use Catalyst::Test qw(TestApp); - -eval 'use YAML'; -plan skip_all => 'YAML required' if $@; +use JSON::MaybeXS qw(decode_json); plan skip_all => 'Using remote server (and REMOTE_FORK not set)' if $ENV{CATALYST_SERVER} && !$ENV{REMOTE_FORK}; @@ -27,7 +24,7 @@ plan skip_all => 'Skipping fork tests: no /bin/ls' ok(my $result = get('/fork/system/%2Fbin%2Fls'), 'system'); if (my $result_ref = result_ok($result)) { - ok($result_ref, 'is YAML'); + ok($result_ref, 'is JSON'); is($result_ref->{result}, 0, 'exited OK'); } } @@ -36,7 +33,7 @@ plan skip_all => 'Skipping fork tests: no /bin/ls' ok(my $result = get('/fork/backticks/%2Fbin%2Fls'), '`backticks`'); if (my $result_ref = result_ok($result)) { - ok($result_ref, 'is YAML'); + ok($result_ref, 'is JSON'); is($result_ref->{code}, 0, 'exited successfully'); like($result_ref->{result}, qr{^/bin/ls[^:]}, 'contains ^/bin/ls$'); like($result_ref->{result}, qr{\n.*\n}m, 'contains two newlines'); @@ -47,7 +44,7 @@ plan skip_all => 'Skipping fork tests: no /bin/ls' ok(my $result = get('/fork/fork'), 'fork'); if (my $result_ref = result_ok($result)) { - ok($result_ref, 'is YAML'); + ok($result_ref, 'is JSON'); isnt($result_ref->{pid}, 0, q{fork's "pid" wasn't 0}); isnt($result_ref->{pid}, $$, 'fork got a new pid'); is($result_ref->{result}, 'ok', 'fork was effective'); @@ -60,10 +57,9 @@ sub result_ok { unlike( $result, qr/FATAL/, 'result is not an error' ) or return; - my @result = split /$/m, $result; - $result = join q{}, @result[-4..-1]; + $result =~ s/\r\n|\r/\n/g; - return eval { Load($result) }; + return eval { decode_json($result) }; } done_testing;