mirror of
https://github.com/php/php-src.git
synced 2024-10-21 00:12:34 +00:00
54 lines
1.4 KiB
Plaintext
54 lines
1.4 KiB
Plaintext
|
--TEST--
|
||
|
Phar: PharFileInfo::setMetadata/delMetadata extra code coverage
|
||
|
--SKIPIF--
|
||
|
<?php if (!extension_loaded("phar")) die("skip"); ?>
|
||
|
--INI--
|
||
|
phar.readonly=0
|
||
|
--FILE--
|
||
|
<?php
|
||
|
$fname = dirname(__FILE__) . '/' . basename(__FILE__, '.php') . '.phar';
|
||
|
$pname = 'phar://' . $fname;
|
||
|
|
||
|
$phar = new Phar($fname);
|
||
|
|
||
|
$phar['a/b'] = 'hi there';
|
||
|
$tar = $phar->convertToData(Phar::TAR);
|
||
|
|
||
|
$b = $phar['a/b'];
|
||
|
try {
|
||
|
$phar['a']->setMetadata('hi');
|
||
|
} catch (Exception $e) {
|
||
|
echo $e->getMessage(), "\n";
|
||
|
}
|
||
|
try {
|
||
|
$phar['a']->delMetadata();
|
||
|
} catch (Exception $e) {
|
||
|
echo $e->getMessage(), "\n";
|
||
|
}
|
||
|
ini_set('phar.readonly', 1);
|
||
|
try {
|
||
|
$b->setMetadata('hi');
|
||
|
} catch (Exception $e) {
|
||
|
echo $e->getMessage(), "\n";
|
||
|
}
|
||
|
try {
|
||
|
$b->delMetadata();
|
||
|
} catch (Exception $e) {
|
||
|
echo $e->getMessage(), "\n";
|
||
|
}
|
||
|
ini_set('phar.readonly', 0);
|
||
|
$b->setMetadata(1,2,3);
|
||
|
?>
|
||
|
===DONE===
|
||
|
--CLEAN--
|
||
|
<?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.phar'); ?>
|
||
|
<?php unlink(dirname(__FILE__) . '/' . basename(__FILE__, '.clean.php') . '.tar'); ?>
|
||
|
--EXPECTF--
|
||
|
Phar entry is a temporary directory (not an actual entry in the archive), cannot set metadata
|
||
|
Phar entry is a temporary directory (not an actual entry in the archive), cannot delete metadata
|
||
|
Write operations disabled by phar.readonly INI setting
|
||
|
Write operations disabled by phar.readonly INI setting
|
||
|
|
||
|
Warning: PharFileInfo::setMetadata() expects exactly 1 parameter, 3 given in %spharfileinfo_setmetadata.php on line %d
|
||
|
===DONE===
|