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);
}
); # Apache/2.2.4 CGI environment
my $HEAD = <<EOT; # common header output
-X-PLP-Version: $PLP::VERSION
Content-Type: text/html
+X-PLP-Version: $PLP::VERSION
EOT
plp_is('print', '0<: print print 2 :>3', "$HEAD\n0213");
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', <<TEST);
-${HEAD}x: 1
-x: 2
-
+plp_is('%header repetition', '.<: BEGIN{$header{A}="1\n2"} $header{A}=3', <<TEST);
+A: 1
+A: 2
+$HEAD
.<table border=1 class="PLPerror"><tr><td><b>Debug information:</b><br>Can't set headers after sending them at testfile.plp line 1.
(Output started at testfile.plp line 1.)
</td></tr></table>
#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', <<TEST);
-X-PLP-Version: $PLP::VERSION
Content-Type: text/html; charset=utf-8
+X-PLP-Version: $PLP::VERSION
\302\277
TEST