Annotation of embedaddon/php/ext/phar/tests/create_path_error.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Phar: create with illegal path
! 3: --SKIPIF--
! 4: <?php if (!extension_loaded("phar")) die("skip"); ?>
! 5: <?php if (!extension_loaded("spl")) die("skip SPL not available"); ?>
! 6: --INI--
! 7: phar.readonly=0
! 8: phar.require_hash=1
! 9: --FILE--
! 10: <?php
! 11:
! 12: $fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php';
! 13: $pname = 'phar://' . $fname;
! 14:
! 15: @unlink($fname);
! 16:
! 17: file_put_contents($pname . '/a.php?', "query");
! 18: file_put_contents($pname . '/b.php?bla', "query");
! 19:
! 20: var_dump(file_get_contents($pname . '/a.php'));
! 21: var_dump(file_get_contents($pname . '/b.php'));
! 22:
! 23: function error_handler($errno, $errmsg)
! 24: {
! 25: echo "Error: $errmsg\n";
! 26: }
! 27:
! 28: set_error_handler('error_handler');
! 29:
! 30: $checks = array('/', '.', '../', 'a/..', 'a/', 'b//a.php');
! 31: foreach($checks as $check)
! 32: {
! 33: file_put_contents($pname . '/' . $check, "error");
! 34: }
! 35:
! 36: $phar = new Phar($fname);
! 37: $checks = array("a\0");
! 38: foreach($checks as $check)
! 39: {
! 40: try
! 41: {
! 42: $phar[$check] = 'error';
! 43: }
! 44: catch(Exception $e)
! 45: {
! 46: echo 'Exception: ' . $e->getMessage() . "\n";
! 47: }
! 48: }
! 49:
! 50: ?>
! 51: ===DONE===
! 52: --CLEAN--
! 53: <?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.php'); ?>
! 54: --EXPECTF--
! 55: string(5) "query"
! 56: string(5) "query"
! 57: Error: file_put_contents(phar://%s//): failed to open stream: phar error: file "" in phar "%s" cannot be empty
! 58: Error: file_put_contents(phar://%s/.): failed to open stream: phar error: file "" in phar "%s" cannot be empty
! 59: Error: file_put_contents(phar://%s/../): failed to open stream: phar error: file "" in phar "%s" cannot be empty
! 60: Error: file_put_contents(phar://%s/a/..): failed to open stream: phar error: file "" in phar "%s" cannot be empty
! 61: Exception: Entry a does not exist and cannot be created: phar error: invalid path "a" contains illegal character
! 62: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>