From e11a488e0909da46fd76f05a6aef47305055e43f Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Mon, 2 Jun 2008 07:10:27 +0000 Subject: [PATCH] expect unordered headers in tests Headers are stored as hash, which will be printed in semi-random order. Sort all lines in output upto the first empty line, in order to compare reliably. --- t/50-cgi.t | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/t/50-cgi.t b/t/50-cgi.t index 1873c8f..cd10ee4 100644 --- a/t/50-cgi.t +++ b/t/50-cgi.t @@ -41,6 +41,7 @@ sub plp_is { select ORGOUT; # return to original STDOUT not $@ or fail($test), diag(" Error: $@"), return; + $output =~ s{((?:.+\n)*)}{ join "", sort split /(?<=\n)/, $1 }e; # order headers is($output, $expect, $test); } @@ -58,8 +59,8 @@ sub plp_is { ); # Apache/2.2.4 CGI environment my $HEAD = <3', "$HEAD\n0213"); @@ -73,14 +74,14 @@ plp_is('%get', '<: print $get{test} if defined $get{test} and not exists $get{te plp_is('%get array', '<:= @{$get{q/@test/}}', "$HEAD\n12\n"); plp_is('%header', - '<: $headers{x_test}=2; print $header{x_PLP_version}; BEGIN { $header{"X-tesT"}=1 }', - "X-tesT: 2\n$HEAD\n$PLP::VERSION" + '<: $headers{_test}=2; print $header{x_PLP_version}; BEGIN { $header{"-tesT"}=1 }', + "-tesT: 2\n$HEAD\n$PLP::VERSION" ); -plp_is('%header', '.<: BEGIN{$header{x}="1\n2"} $header{x}=3', <Debug information:
Can't set headers after sending them at testfile.plp line 1. (Output started at testfile.plp line 1.) @@ -144,13 +145,13 @@ plp_is('$PLP::ERROR', #TODO: 403 plp_is('$PLP::DEBUG', - '<: $PLP::DEBUG = 2 :>1<(missinginclude)>2', - "Content-Type: text/plain\n\n$HEAD\n1" + '<: $PLP::DEBUG = 2; delete $header{x_plp_version} :>1<(missinginclude)>2', + "Content-Type: text/plain\n\nContent-Type: text/html\n\n1" ); plp_is('utf8', '<: use open qw/:std :utf8/; print chr 191', <