From 43d1ad837214d68c63e6ce2aa8f632edd0f5111c Mon Sep 17 00:00:00 2001 From: Greg Beaver Date: Sat, 1 Nov 2003 03:32:15 +0000 Subject: [PATCH] new unit test --- ...pear_dependency_checkPackageUninstall.phpt | 175 ++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 pear/tests/pear_dependency_checkPackageUninstall.phpt diff --git a/pear/tests/pear_dependency_checkPackageUninstall.phpt b/pear/tests/pear_dependency_checkPackageUninstall.phpt new file mode 100644 index 0000000000..1c1434f1ab --- /dev/null +++ b/pear/tests/pear_dependency_checkPackageUninstall.phpt @@ -0,0 +1,175 @@ +--TEST-- +PEAR_Dependency::checkPackageUninstall() test +--SKIPIF-- + +--FILE-- +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' \ No newline at end of file -- 2.50.1