mirror of
https://github.com/php/php-src.git
synced 2025-08-19 08:49:28 +02:00
new unit test
This commit is contained in:
parent
48bca64444
commit
43d1ad8372
1 changed files with 175 additions and 0 deletions
175
pear/tests/pear_dependency_checkPackageUninstall.phpt
Normal file
175
pear/tests/pear_dependency_checkPackageUninstall.phpt
Normal file
|
@ -0,0 +1,175 @@
|
|||
--TEST--
|
||||
PEAR_Dependency::checkPackageUninstall() test
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!getenv('PHP_PEAR_RUNTESTS')) {
|
||||
echo 'skip';
|
||||
}
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
require_once "PEAR/Registry.php";
|
||||
require_once "PEAR/Dependency.php";
|
||||
|
||||
// snarfed from pear_registry.phpt
|
||||
$reg = new PEAR_Registry;
|
||||
$reg->statedir = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'checkPackagetmp';
|
||||
|
||||
$files1 = array(
|
||||
"pkg1-1.php" => array(
|
||||
"role" => "php",
|
||||
),
|
||||
"pkg1-2.php" => array(
|
||||
"role" => "php",
|
||||
"baseinstalldir" => "pkg1",
|
||||
),
|
||||
);
|
||||
$files2 = array(
|
||||
"pkg2-1.php" => array(
|
||||
"role" => "php",
|
||||
),
|
||||
"pkg2-2.php" => array(
|
||||
"role" => "php",
|
||||
"baseinstalldir" => "pkg2",
|
||||
),
|
||||
);
|
||||
$files3 = array(
|
||||
"pkg3-1.php" => array(
|
||||
"role" => "php",
|
||||
),
|
||||
"pkg3-2.php" => array(
|
||||
"role" => "php",
|
||||
"baseinstalldir" => "pkg3",
|
||||
),
|
||||
);
|
||||
|
||||
$reg->addPackage("pkg2", array("name" => "pkg2", "version" => "2.0", "filelist" => $files2));
|
||||
$reg->addPackage("pkg3", array("name" => "pkg3", "version" => "3.0", "filelist" => $files3));
|
||||
|
||||
$reg->addPackage("pkg1", array("name" => "pkg1", "version" => "1.0", "filelist" => $files1,
|
||||
'release_deps' => array(
|
||||
array('type' => 'pkg', 'name' => 'pkg3', 'rel' => 'not')
|
||||
)));
|
||||
|
||||
$dep = new PEAR_Dependency($reg);
|
||||
$msg = '';
|
||||
$warn = '';
|
||||
$ret = $dep->checkPackageUninstall($msg, $warn, 'pkg1');
|
||||
echo 'uninstall ok? ';
|
||||
echo $ret ? "no\n" : "yes\n";
|
||||
echo $msg . "\n";
|
||||
echo $warn . "\n";
|
||||
|
||||
cleanall();
|
||||
|
||||
$reg->addPackage("pkg2", array("name" => "pkg2", "version" => "2.0", "filelist" => $files2));
|
||||
$reg->addPackage("pkg3", array("name" => "pkg3", "version" => "3.0", "filelist" => $files3));
|
||||
|
||||
$reg->addPackage("pkg1", array("name" => "pkg1", "version" => "1.0", "filelist" => $files1,
|
||||
'release_deps' => array(
|
||||
array('type' => 'pkg', 'name' => 'pkg2', 'rel' => 'ne', 'version' => '6.0')
|
||||
)));
|
||||
|
||||
$dep = new PEAR_Dependency($reg);
|
||||
$msg = '';
|
||||
$warn = '';
|
||||
$ret = $dep->checkPackageUninstall($msg, $warn, 'pkg2');
|
||||
echo 'uninstall ok? ';
|
||||
echo $ret ? "no\n" : "yes\n";
|
||||
echo $msg . "\n";
|
||||
echo $warn . "\n";
|
||||
|
||||
cleanall();
|
||||
|
||||
$reg->addPackage("pkg2", array("name" => "pkg2", "version" => "2.0", "filelist" => $files2));
|
||||
$reg->addPackage("pkg3", array("name" => "pkg3", "version" => "3.0", "filelist" => $files3));
|
||||
|
||||
$reg->addPackage("pkg1", array("name" => "pkg1", "version" => "1.0", "filelist" => $files1,
|
||||
'release_deps' => array(
|
||||
array('type' => 'pkg', 'name' => 'pkg2', 'rel' => 'has')
|
||||
)));
|
||||
|
||||
$dep = new PEAR_Dependency($reg);
|
||||
$msg = '';
|
||||
$warn = '';
|
||||
$ret = $dep->checkPackageUninstall($msg, $warn, 'pkg2');
|
||||
echo 'uninstall ok? ';
|
||||
echo $ret ? "no\n" : "yes\n";
|
||||
echo $msg . "\n";
|
||||
echo $warn . "\n";
|
||||
|
||||
cleanall();
|
||||
|
||||
$reg->addPackage("pkg2", array("name" => "pkg2", "version" => "2.0", "filelist" => $files2));
|
||||
$reg->addPackage("pkg3", array("name" => "pkg3", "version" => "3.0", "filelist" => $files3));
|
||||
|
||||
$reg->addPackage("pkg1", array("name" => "pkg1", "version" => "1.0", "filelist" => $files1,
|
||||
'release_deps' => array(
|
||||
array('type' => 'pkg', 'name' => 'pkg2', 'rel' => 'has', 'optional' => 'no')
|
||||
)));
|
||||
|
||||
$dep = new PEAR_Dependency($reg);
|
||||
$msg = '';
|
||||
$warn = '';
|
||||
$ret = $dep->checkPackageUninstall($msg, $warn, 'pkg2');
|
||||
echo 'uninstall ok? ';
|
||||
echo $ret ? "no\n" : "yes\n";
|
||||
echo $msg . "\n";
|
||||
echo $warn . "\n";
|
||||
|
||||
cleanall();
|
||||
|
||||
$reg->addPackage("pkg2", array("name" => "pkg2", "version" => "2.0", "filelist" => $files2));
|
||||
$reg->addPackage("pkg3", array("name" => "pkg3", "version" => "3.0", "filelist" => $files3));
|
||||
|
||||
$reg->addPackage("pkg1", array("name" => "pkg1", "version" => "1.0", "filelist" => $files1,
|
||||
'release_deps' => array(
|
||||
array('type' => 'pkg', 'name' => 'pkg2', 'rel' => 'has', 'optional' => 'yes')
|
||||
)));
|
||||
|
||||
$dep = new PEAR_Dependency($reg);
|
||||
$msg = '';
|
||||
$warn = '';
|
||||
$ret = $dep->checkPackageUninstall($msg, $warn, 'pkg2');
|
||||
echo 'uninstall ok? ';
|
||||
echo $ret ? "no\n" : "yes\n";
|
||||
echo $msg . "\n";
|
||||
echo $warn . "\n";
|
||||
|
||||
cleanall();
|
||||
|
||||
// ------------------------------------------------------------------------- //
|
||||
|
||||
function cleanall()
|
||||
{
|
||||
$dp = opendir(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'checkPackagetmp');
|
||||
while ($ent = readdir($dp)) {
|
||||
if (substr($ent, -4) == ".reg") {
|
||||
unlink(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'checkPackagetmp' . DIRECTORY_SEPARATOR . $ent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
--GET--
|
||||
--POST--
|
||||
--EXPECT--
|
||||
uninstall ok? yes
|
||||
|
||||
|
||||
uninstall ok? yes
|
||||
|
||||
|
||||
uninstall ok? no
|
||||
Package 'pkg1' depends on 'pkg2'
|
||||
|
||||
|
||||
uninstall ok? no
|
||||
Package 'pkg1' depends on 'pkg2'
|
||||
|
||||
|
||||
uninstall ok? yes
|
||||
|
||||
|
||||
Warning: Package 'pkg1' optionally depends on 'pkg2'
|
Loading…
Add table
Add a link
Reference in a new issue