244 lines
5 KiB
Perl
244 lines
5 KiB
Perl
use strict;
|
|
use warnings FATAL => 'all';
|
|
|
|
use Apache::Test;
|
|
use Apache::TestRequest;
|
|
|
|
plan tests => 1, need_php;
|
|
|
|
my $expected = <<EXPECT;
|
|
PHP Regression Test
|
|
|
|
<html>
|
|
<head>
|
|
|
|
*** Testing assignments and variable aliasing: ***<br>
|
|
This should read "blah": blah<br>
|
|
This should read "this is nifty": this is nifty<br>
|
|
*************************************************<br>
|
|
|
|
*** Testing integer operators ***<br>
|
|
Correct result - 8: 8<br>
|
|
Correct result - 8: 8<br>
|
|
Correct result - 2: 2<br>
|
|
Correct result - -2: -2<br>
|
|
Correct result - 15: 15<br>
|
|
Correct result - 15: 15<br>
|
|
Correct result - 2: 2<br>
|
|
Correct result - 3: 3<br>
|
|
*********************************<br>
|
|
|
|
*** Testing real operators ***<br>
|
|
Correct result - 8: 8<br>
|
|
Correct result - 8: 8<br>
|
|
Correct result - 2: 2<br>
|
|
Correct result - -2: -2<br>
|
|
Correct result - 15: 15<br>
|
|
Correct result - 15: 15<br>
|
|
Correct result - 2: 2<br>
|
|
Correct result - 3: 3<br>
|
|
*********************************<br>
|
|
|
|
*** Testing if/elseif/else control ***<br>
|
|
|
|
This works<br>
|
|
this_still_works<br>
|
|
should_print<br>
|
|
|
|
|
|
*** Seriously nested if's test ***<br>
|
|
** spelling correction by kluzz **
|
|
Only two lines of text should follow:<br>
|
|
this should be displayed. should be: \$i=1, \$j=0. is: \$i=1, \$j=0<br>
|
|
this is supposed to be displayed. should be: \$i=2, \$j=4. is: \$i=2, \$j=4<br>
|
|
3 loop iterations should follow:<br>
|
|
2 4<br>
|
|
3 4<br>
|
|
4 4<br>
|
|
**********************************<br>
|
|
|
|
*** C-style else-if's ***<br>
|
|
This should be displayed<br>
|
|
*************************<br>
|
|
|
|
*** WHILE tests ***<br>
|
|
0 is smaller than 20<br>
|
|
1 is smaller than 20<br>
|
|
2 is smaller than 20<br>
|
|
3 is smaller than 20<br>
|
|
4 is smaller than 20<br>
|
|
5 is smaller than 20<br>
|
|
6 is smaller than 20<br>
|
|
7 is smaller than 20<br>
|
|
8 is smaller than 20<br>
|
|
9 is smaller than 20<br>
|
|
10 is smaller than 20<br>
|
|
11 is smaller than 20<br>
|
|
12 is smaller than 20<br>
|
|
13 is smaller than 20<br>
|
|
14 is smaller than 20<br>
|
|
15 is smaller than 20<br>
|
|
16 is smaller than 20<br>
|
|
17 is smaller than 20<br>
|
|
18 is smaller than 20<br>
|
|
19 is smaller than 20<br>
|
|
20 equals 20<br>
|
|
21 is greater than 20<br>
|
|
22 is greater than 20<br>
|
|
23 is greater than 20<br>
|
|
24 is greater than 20<br>
|
|
25 is greater than 20<br>
|
|
26 is greater than 20<br>
|
|
27 is greater than 20<br>
|
|
28 is greater than 20<br>
|
|
29 is greater than 20<br>
|
|
30 is greater than 20<br>
|
|
31 is greater than 20<br>
|
|
32 is greater than 20<br>
|
|
33 is greater than 20<br>
|
|
34 is greater than 20<br>
|
|
35 is greater than 20<br>
|
|
36 is greater than 20<br>
|
|
37 is greater than 20<br>
|
|
38 is greater than 20<br>
|
|
39 is greater than 20<br>
|
|
*******************<br>
|
|
|
|
|
|
*** Nested WHILEs ***<br>
|
|
Each array variable should be equal to the sum of its indices:<br>
|
|
\${test00}[0] = 0<br>
|
|
\${test00}[1] = 1<br>
|
|
\${test00}[2] = 2<br>
|
|
\${test01}[0] = 1<br>
|
|
\${test01}[1] = 2<br>
|
|
\${test01}[2] = 3<br>
|
|
\${test02}[0] = 2<br>
|
|
\${test02}[1] = 3<br>
|
|
\${test02}[2] = 4<br>
|
|
\${test10}[0] = 1<br>
|
|
\${test10}[1] = 2<br>
|
|
\${test10}[2] = 3<br>
|
|
\${test11}[0] = 2<br>
|
|
\${test11}[1] = 3<br>
|
|
\${test11}[2] = 4<br>
|
|
\${test12}[0] = 3<br>
|
|
\${test12}[1] = 4<br>
|
|
\${test12}[2] = 5<br>
|
|
\${test20}[0] = 2<br>
|
|
\${test20}[1] = 3<br>
|
|
\${test20}[2] = 4<br>
|
|
\${test21}[0] = 3<br>
|
|
\${test21}[1] = 4<br>
|
|
\${test21}[2] = 5<br>
|
|
\${test22}[0] = 4<br>
|
|
\${test22}[1] = 5<br>
|
|
\${test22}[2] = 6<br>
|
|
*********************<br>
|
|
|
|
*** hash test... ***<br>
|
|
commented out...
|
|
**************************<br>
|
|
|
|
*** Hash resizing test ***<br>
|
|
ba<br>
|
|
baa<br>
|
|
baaa<br>
|
|
baaaa<br>
|
|
baaaaa<br>
|
|
baaaaaa<br>
|
|
baaaaaaa<br>
|
|
baaaaaaaa<br>
|
|
baaaaaaaaa<br>
|
|
baaaaaaaaaa<br>
|
|
ba<br>
|
|
10<br>
|
|
baa<br>
|
|
9<br>
|
|
baaa<br>
|
|
8<br>
|
|
baaaa<br>
|
|
7<br>
|
|
baaaaa<br>
|
|
6<br>
|
|
baaaaaa<br>
|
|
5<br>
|
|
baaaaaaa<br>
|
|
4<br>
|
|
baaaaaaaa<br>
|
|
3<br>
|
|
baaaaaaaaa<br>
|
|
2<br>
|
|
baaaaaaaaaa<br>
|
|
1<br>
|
|
**************************<br>
|
|
|
|
|
|
*** break/continue test ***<br>
|
|
\$i should go from 0 to 2<br>
|
|
\$j should go from 3 to 4, and \$q should go from 3 to 4<br>
|
|
\$j=3<br>
|
|
\$q=3<br>
|
|
\$q=4<br>
|
|
\$j=4<br>
|
|
\$q=3<br>
|
|
\$q=4<br>
|
|
\$j should go from 0 to 2<br>
|
|
\$j=0<br>
|
|
\$j=1<br>
|
|
\$j=2<br>
|
|
\$k should go from 0 to 2<br>
|
|
\$k=0<br>
|
|
\$k=1<br>
|
|
\$k=2<br>
|
|
\$i=0<br>
|
|
\$j should go from 3 to 4, and \$q should go from 3 to 4<br>
|
|
\$j=3<br>
|
|
\$q=3<br>
|
|
\$q=4<br>
|
|
\$j=4<br>
|
|
\$q=3<br>
|
|
\$q=4<br>
|
|
\$j should go from 0 to 2<br>
|
|
\$j=0<br>
|
|
\$j=1<br>
|
|
\$j=2<br>
|
|
\$k should go from 0 to 2<br>
|
|
\$k=0<br>
|
|
\$k=1<br>
|
|
\$k=2<br>
|
|
\$i=1<br>
|
|
\$j should go from 3 to 4, and \$q should go from 3 to 4<br>
|
|
\$j=3<br>
|
|
\$q=3<br>
|
|
\$q=4<br>
|
|
\$j=4<br>
|
|
\$q=3<br>
|
|
\$q=4<br>
|
|
\$j should go from 0 to 2<br>
|
|
\$j=0<br>
|
|
\$j=1<br>
|
|
\$j=2<br>
|
|
\$k should go from 0 to 2<br>
|
|
\$k=0<br>
|
|
\$k=1<br>
|
|
\$k=2<br>
|
|
\$i=2<br>
|
|
***********************<br>
|
|
|
|
*** Nested file include test ***<br>
|
|
<html>
|
|
This is Finish.phtml. This file is supposed to be included
|
|
from regression_test.phtml. This is normal HTML.
|
|
and this is PHP code, 2+2=4
|
|
</html>
|
|
********************************<br>
|
|
|
|
Tests completed.<br>
|
|
Limor Ullmann is now Limor Baruch :I
|
|
|
|
EXPECT
|
|
|
|
my $result = GET_BODY "/php/regression.php";
|
|
|
|
ok $result eq $expected;
|