mirror of
https://github.com/php/php-src.git
synced 2024-10-04 00:06:16 +00:00
c4f502fae0
1 - executable phars must contain '.phar' in the filename 2 - non-executable phars must not contain '.phar' and must have an extension of at least 1 character In addition, phar filenames must exist if opened for read, and the directory containing the phar must exist if opened for creation if opened for creation, the file must not already exist [DOC]
39 lines
1.4 KiB
PHP
39 lines
1.4 KiB
PHP
--TEST--
|
|
phar: mkdir/rmdir edge cases
|
|
--SKIPIF--
|
|
<?php if (!extension_loaded("phar")) die("skip"); ?>
|
|
--INI--
|
|
phar.readonly=0
|
|
--FILE--
|
|
<?php
|
|
$fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar.php';
|
|
$pname = 'phar://' . $fname;
|
|
Phar::interceptFileFuncs();
|
|
mkdir('phar://');
|
|
mkdir('phar://foo.phar');
|
|
$a = new Phar($fname);
|
|
$a['a'] = 'hi';
|
|
mkdir($pname . '/a');
|
|
rmdir('phar://');
|
|
rmdir('phar://foo.phar');
|
|
rmdir($pname . '/a');
|
|
?>
|
|
===DONE===
|
|
--CLEAN--
|
|
<?php
|
|
unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar.php');
|
|
__HALT_COMPILER();
|
|
?>
|
|
--EXPECTF--
|
|
Warning: mkdir(): phar error: cannot create directory "phar://", no phar archive specified in %smkdir.php on line %d
|
|
|
|
Warning: mkdir(): phar error: cannot create directory "" in phar "foo.phar", phar error: invalid path "" must not be empty in %smkdir.php on line %d
|
|
|
|
Warning: mkdir(): phar error: cannot create directory "a" in phar "%smkdir.phar.php", phar error: path "a" exists and is a not a directory in %smkdir.php on line %d
|
|
|
|
Warning: rmdir(): phar error: cannot remove directory "phar://", no phar archive specified, or phar archive does not exist in %smkdir.php on line %d
|
|
|
|
Warning: rmdir(): phar error: cannot remove directory "" in phar "foo.phar", directory does not exist in %smkdir.php on line %d
|
|
|
|
Warning: rmdir(): phar error: cannot remove directory "a" in phar "%smkdir.phar.php", phar error: path "a" exists and is a not a directory in %smkdir.php on line %d
|
|
===DONE===
|