1
0
mirror of https://github.com/php/php-src.git synced 2026-04-28 18:53:33 +02:00

new tests for phar.cache_list

This commit is contained in:
Greg Beaver
2008-06-22 00:49:54 +00:00
parent 7e57fd2e6f
commit 0ad165e402
52 changed files with 631 additions and 0 deletions
Binary file not shown.
@@ -0,0 +1,17 @@
--TEST--
Phar front controller other
--INI--
phar.cache_list={PWD}/frontcontroller1.php [cache_list]
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller1.php
REQUEST_URI=/frontcontroller1.php/a.jpg
PATH_INFO=/a.jpg
--FILE_EXTERNAL--
files/frontcontroller.phar
--EXPECTHEADERS--
Content-type: image/jpeg
Content-length: 3
--EXPECT--
hio
@@ -0,0 +1,25 @@
--TEST--
Phar front controller rewrite access denied [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller10.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller10.php
REQUEST_URI=/frontcontroller10.php/hi
PATH_INFO=/hi
--FILE_EXTERNAL--
files/frontcontroller4.phar
--EXPECTHEADERS--
Content-type: text/html
Status: 403 Access Denied
--EXPECT--
<html>
<head>
<title>Access Denied</title>
</head>
<body>
<h1>403 - File /hi Access Denied</h1>
</body>
</html>
@@ -0,0 +1,21 @@
--TEST--
Phar front controller mime type extension is not a string [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller11.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller11.php
REQUEST_URI=/frontcontroller11.php/a.php
PATH_INFO=/a.php
--FILE_EXTERNAL--
files/frontcontroller5.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECTF--
Fatal error: Uncaught exception 'PharException' with message 'Key of MIME type overrides array must be a file extension, was "0"' in %sfrontcontroller11.php:2
Stack trace:
#0 %sfrontcontroller11.php(2): Phar::webPhar('whatever', 'index.php', '', Array)
#1 {main}
thrown in %sfrontcontroller11.php on line 2
@@ -0,0 +1,21 @@
--TEST--
Phar front controller mime type unknown int [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller12.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller12.php
REQUEST_URI=/frontcontroller12.php/a.php
PATH_INFO=/a.php
--FILE_EXTERNAL--
files/frontcontroller6.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECTF--
Fatal error: Uncaught exception 'PharException' with message 'Unknown mime type specifier used, only Phar::PHP, Phar::PHPS and a mime type string are allowed' in %sfrontcontroller12.php:2
Stack trace:
#0 %sfrontcontroller12.php(2): Phar::webPhar('whatever', 'index.php', '', Array)
#1 {main}
thrown in %sfrontcontroller12.php on line 2
@@ -0,0 +1,21 @@
--TEST--
Phar front controller mime type not string/int [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller13.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller13.php
REQUEST_URI=/frontcontroller13.php/a.php
PATH_INFO=/a.php
--FILE_EXTERNAL--
files/frontcontroller7.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECTF--
Fatal error: Uncaught exception 'PharException' with message 'Unknown mime type specifier used (not a string or int), only Phar::PHP, Phar::PHPS and a mime type string are allowed' in %sfrontcontroller13.php:2
Stack trace:
#0 %sfrontcontroller13.php(2): Phar::webPhar('whatever', 'index.php', '', Array)
#1 {main}
thrown in %sfrontcontroller13.php on line 2
@@ -0,0 +1,17 @@
--TEST--
Phar front controller mime type override, other [cache_list]
--INI--
phar.cache_list={PWD}/frontcontroller14.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller14.php
REQUEST_URI=/frontcontroller14.php/a.jpg
PATH_INFO=/a.jpg
--FILE_EXTERNAL--
files/frontcontroller8.phar
--EXPECTHEADERS--
Content-type: foo/bar
Content-length: 4
--EXPECT--
hio2
@@ -0,0 +1,21 @@
--TEST--
Phar front controller mime type override, Phar::PHPS [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller15.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller15.php
REQUEST_URI=/frontcontroller15.php/a.php
PATH_INFO=/a.php
--FILE_EXTERNAL--
files/frontcontroller8.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECT--
<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">hio</span><span style="color: #007700">(){}</span>
</span>
</code>
@@ -0,0 +1,18 @@
--TEST--
Phar front controller mime type override, Phar::PHP [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller16.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller16.php
REQUEST_URI=/frontcontroller16.php/a.phps
PATH_INFO=/a.phps
--FILE_EXTERNAL--
files/frontcontroller8.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECT--
hio1
@@ -0,0 +1,18 @@
--TEST--
Phar front controller mime type unknown [cache_list]
--INI--
phar.cache_list={PWD}/frontcontroller17.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller17.php
REQUEST_URI=/frontcontroller17.php/fronk.gronk
PATH_INFO=/fronk.gronk
--FILE_EXTERNAL--
files/frontcontroller8.phar
--EXPECTHEADERS--
Content-type: application/octet-stream
Content-length: 4
--EXPECT--
hio3
@@ -0,0 +1,18 @@
--TEST--
Phar front controller $_SERVER munging failure [cache_list]
--INI--
phar.cache_list={PWD}/frontcontroller18.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller18.php
REQUEST_URI=/frontcontroller18.php/fronk.gronk
PATH_INFO=/fronk.gronk
--FILE_EXTERNAL--
files/frontcontroller9.phar
--EXPECTF--
Fatal error: Uncaught exception 'PharException' with message 'No values passed to Phar::mungServer(), expecting an array of any of these strings: PHP_SELF, REQUEST_URI, SCRIPT_FILENAME, SCRIPT_NAME' in %sfrontcontroller18.php:2
Stack trace:
#0 %sfrontcontroller18.php(2): Phar::mungServer(Array)
#1 {main}
thrown in %sfrontcontroller18.php on line 2
@@ -0,0 +1,18 @@
--TEST--
Phar front controller $_SERVER munging failure 2 [cache_list]
--INI--
phar.cache_list={PWD}/frontcontroller19.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller19.php
REQUEST_URI=/frontcontroller19.php/
PATH_INFO=/
--FILE_EXTERNAL--
files/frontcontroller10.phar
--EXPECTF--
Fatal error: Uncaught exception 'PharException' with message 'Too many values passed to Phar::mungServer(), expecting an array of any of these strings: PHP_SELF, REQUEST_URI, SCRIPT_FILENAME, SCRIPT_NAME' in %sfrontcontroller19.php:2
Stack trace:
#0 %sfrontcontroller19.php(2): Phar::mungServer(Array)
#1 {main}
thrown in %sfrontcontroller19.php on line 2
@@ -0,0 +1,17 @@
--TEST--
Phar front controller PHP test [cache_list]
--INI--
default_charset=
phar.cache_list=frontcontroller2.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller2.php
REQUEST_URI=/frontcontroller2.php/a.php
PATH_INFO=/a.php
--FILE_EXTERNAL--
files/frontcontroller.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECT--
hio
@@ -0,0 +1,18 @@
--TEST--
Phar front controller $_SERVER munging failure 3 [cache_list]
--INI--
phar.cache_list={PWD}/frontcontroller20.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller20.php
REQUEST_URI=/frontcontroller20.php/
PATH_INFO=/
--FILE_EXTERNAL--
files/frontcontroller11.phar
--EXPECTF--
Fatal error: Uncaught exception 'PharException' with message 'Non-string value passed to Phar::mungServer(), expecting an array of any of these strings: PHP_SELF, REQUEST_URI, SCRIPT_FILENAME, SCRIPT_NAME' in %sfrontcontroller20.php:2
Stack trace:
#0 %sfrontcontroller20.php(2): Phar::mungServer(Array)
#1 {main}
thrown in %sfrontcontroller20.php on line 2
@@ -0,0 +1,25 @@
--TEST--
Phar front controller $_SERVER munging success [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller21.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller21.php
REQUEST_URI=/frontcontroller21.php/index.php?test=hi
PATH_INFO=/index.php
QUERY_STRING=test=hi
--FILE_EXTERNAL--
files/frontcontroller12.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECTF--
string(10) "/index.php"
string(10) "/index.php"
string(%d) "phar://%sfrontcontroller21.php/index.php"
string(18) "/index.php?test=hi"
string(32) "/frontcontroller21.php/index.php"
string(22) "/frontcontroller21.php"
string(%d) "%sfrontcontroller21.php"
string(40) "/frontcontroller21.php/index.php?test=hi"
@@ -0,0 +1,22 @@
--TEST--
Phar front controller include from cwd test 1 [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller22.phpt
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller22.php
REQUEST_URI=/frontcontroller22.php/index.php
PATH_INFO=/index.php
--FILE_EXTERNAL--
files/frontcontroller13.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECTF--
string(4) "test"
string(12) "oof/test.php"
Warning: include(./hi.php): failed to open stream: No such file or directory in phar://%s/oof/test.php on line %d
Warning: include(): Failed opening './hi.php' for inclusion (include_path='%s') in phar://%soof/test.php on line %d
@@ -0,0 +1,18 @@
--TEST--
Phar front controller with generic action router test [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller23.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller23.php
REQUEST_URI=/frontcontroller23.php/hi/there
PATH_INFO=/hi/there
--FILE_EXTERNAL--
files/frontcontroller14.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECTF--
string(9) "/hi/there"
string(%d) "phar://%sfrontcontroller23.php/html/index.php"
@@ -0,0 +1,17 @@
--TEST--
Phar front controller with custom 404 php script [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller24.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller24.php
REQUEST_URI=/frontcontroller24.php/unknown/file
PATH_INFO=/unknown/file
--FILE_EXTERNAL--
files/frontcontroller8.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECTF--
My 404 is rawesome
@@ -0,0 +1,18 @@
--TEST--
Phar front controller with extra path_info [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller25.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller25.php
REQUEST_URI=/frontcontroller25.php/a1.phps/extra/stuff
PATH_INFO=/a1.phps/extra/stuff
--FILE_EXTERNAL--
files/frontcontroller8.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECTF--
string(42) "/frontcontroller25.php/a1.phps/extra/stuff"
string(12) "/extra/stuff"
@@ -0,0 +1,16 @@
--TEST--
Phar front controller with unknown extension mime type [cache_list]
--INI--
phar.cache_list={PWD}/frontcontroller26.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller26.php
REQUEST_URI=/frontcontroller26.php/unknown.ext
PATH_INFO=/unknown.ext
--FILE_EXTERNAL--
files/frontcontroller8.phar
--EXPECTHEADERS--
Content-type: application/octet-stream
--EXPECTF--
<?php var_dump("hi");
@@ -0,0 +1,17 @@
--TEST--
Phar front controller with no extension [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller27.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller27.php
REQUEST_URI=/frontcontroller27.php/noext
PATH_INFO=/noext
--FILE_EXTERNAL--
files/frontcontroller8.phar
--EXPECTHEADERS--
Content-type: text/plain
--EXPECTF--
hi
File diff suppressed because one or more lines are too long
@@ -0,0 +1,17 @@
--TEST--
Phar front controller with fatal error in php file [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller29.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller29.php
REQUEST_URI=/frontcontroller29.php/fatalerror.phps
PATH_INFO=/fatalerror.phps
--FILE_EXTERNAL--
files/frontcontroller8.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECTF--
Fatal error: Call to undefined function oopsie_daisy() in phar://%sfatalerror.phps on line 1
@@ -0,0 +1,20 @@
--TEST--
Phar front controller phps [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller3.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller3.php
REQUEST_URI=/frontcontroller3.php/a.phps
PATH_INFO=/a.phps
--FILE_EXTERNAL--
files/frontcontroller.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECT--
<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">hio</span><span style="color: #007700">(){}</span>
</span>
</code>
@@ -0,0 +1,14 @@
--TEST--
Phar front controller with weird SCRIPT_NAME [cache_list]
--INI--
phar.cache_list={PWD}/frontcontroller30.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/huh?
REQUEST_URI=/huh?
--FILE_EXTERNAL--
files/frontcontroller8.phar
--EXPECTF--
oops did not run
%a
@@ -0,0 +1,16 @@
--TEST--
Phar front controller with invalid callback for rewrites [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller31.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller31.php
REQUEST_URI=/frontcontroller31.php
--EXPECTHEADERS--
Content-type: text/html
--FILE_EXTERNAL--
files/frontcontroller16.phar
--EXPECT--
phar error: invalid rewrite callback
@@ -0,0 +1,16 @@
--TEST--
Phar front controller with valid callback that is not good [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller32.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller32.php
REQUEST_URI=/frontcontroller32.php
--EXPECTHEADERS--
Content-type: text/html
--FILE_EXTERNAL--
files/frontcontroller17.phar
--EXPECTF--
%ahar error: failed to call rewrite callback
@@ -0,0 +1,16 @@
--TEST--
Phar front controller with valid callback that does not return any value [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller33.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller33.php
REQUEST_URI=/frontcontroller33.php
--EXPECTHEADERS--
Content-type: text/html
--FILE_EXTERNAL--
files/frontcontroller18.phar
--EXPECTF--
phar error: rewrite callback must return a string or false
@@ -0,0 +1,19 @@
--TEST--
Phar front controller with cwd [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller34.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller34.php
REQUEST_URI=/frontcontroller34.php/start/index.php
PATH_INFO=/start/index.php
--EXPECTHEADERS--
Content-type: text/html
--FILE_EXTERNAL--
files/frontcontroller19.phar
--EXPECT--
start/index.php
start/another.php
another.php
@@ -0,0 +1,15 @@
--TEST--
Phar front controller index.php relocate (no /) [cache_list]
--INI--
phar.cache_list={PWD}/frontcontroller4.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller4.php
REQUEST_URI=/frontcontroller4.php
--FILE_EXTERNAL--
files/frontcontroller.phar
--EXPECTHEADERS--
Status: 301 Moved Permanently
Location: /frontcontroller4.php/index.php
--EXPECT--
@@ -0,0 +1,16 @@
--TEST--
Phar front controller index.php relocate [cache_list]
--INI--
phar.cache_list={PWD}/frontcontroller5.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller5.php
REQUEST_URI=/frontcontroller5.php/
PATH_INFO=/
--FILE_EXTERNAL--
files/frontcontroller.phar
--EXPECTHEADERS--
Status: 301 Moved Permanently
Location: /frontcontroller5.php/index.php
--EXPECT--
@@ -0,0 +1,23 @@
--TEST--
Phar front controller 404 [cache_list]
--INI--
phar.cache_list={PWD}/frontcontroller6.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller6.php
REQUEST_URI=/frontcontroller6.php/notfound.php
PATH_INFO=/notfound.php
--FILE_EXTERNAL--
files/frontcontroller.phar
--EXPECTHEADERS--
Status: 404 Not Found
--EXPECT--
<html>
<head>
<title>File Not Found</title>
</head>
<body>
<h1>404 - File /notfound.php Not Found</h1>
</body>
</html>
@@ -0,0 +1,16 @@
--TEST--
Phar front controller alternate index file [cache_list]
--INI--
phar.cache_list={PWD}/frontcontroller7.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller7.php
REQUEST_URI=/frontcontroller7.php/
PATH_INFO=/
--FILE_EXTERNAL--
files/frontcontroller2.phar
--EXPECTHEADERS--
Status: 301 Moved Permanently
Location: /frontcontroller7.php/a.php
--EXPECT--
@@ -0,0 +1,23 @@
--TEST--
Phar front controller no index file 404 [cache_list]
--INI--
phar.cache_list={PWD}/frontcontroller8.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller8.php
REQUEST_URI=/frontcontroller8.php/
PATH_INFO=/
--FILE_EXTERNAL--
files/frontcontroller3.phar
--EXPECTHEADERS--
Status: 404 Not Found
--EXPECT--
<html>
<head>
<title>File Not Found</title>
</head>
<body>
<h1>404 - File /index.php Not Found</h1>
</body>
</html>
@@ -0,0 +1,20 @@
--TEST--
Phar front controller rewrite array [cache_list]
--INI--
default_charset=
phar.cache_list={PWD}/frontcontroller9.php
--SKIPIF--
<?php if (!extension_loaded("phar")) die("skip"); ?>
--ENV--
SCRIPT_NAME=/frontcontroller9.php
REQUEST_URI=/frontcontroller9.php/hi
PATH_INFO=/hi
--FILE_EXTERNAL--
files/frontcontroller3.phar
--EXPECTHEADERS--
Content-type: text/html
--EXPECT--
<code><span style="color: #000000">
<span style="color: #0000BB">&lt;?php&nbsp;</span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">hio</span><span style="color: #007700">(){}</span>
</span>
</code>