--TEST-- PEAR_Dependency::checkPackage() 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", ), ); $reg->addPackage("pkg1", array("name" => "pkg1", "version" => "1.0", "filelist" => $files1)); $dep = new PEAR_Dependency($reg); $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1'); echo 'has works? '; echo $ret ? "no\n" : "yes\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', '1.0', 'eq'); echo 'eq 1.0 works? '; echo $ret ? "no\n" : "yes\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', '1.0', 'le'); echo 'le 1.0 works? '; echo $ret ? "no\n" : "yes\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', '1.1', 'lt'); echo 'lt 1.1 works? '; echo $ret ? "no\n" : "yes\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', '1.1', 'ne'); echo 'ne 1.1 works? '; echo $ret ? "no\n" : "yes\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', '1.0', 'ge'); echo 'ge 1.0 works? '; echo $ret ? "no\n" : "yes\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', '0.9', 'gt'); echo 'ge 0.9 works? '; echo $ret ? "no\n" : "yes\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg2', null, 'not'); echo 'not pkg2 works? '; echo $ret ? "no\n" : "yes\n"; echo $msg . "\n"; // error conditions $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', '0.9', 'le'); echo 'le 0.9 works? '; echo $ret ? "no\n" : "yes\n"; echo '$ret is PEAR_DEPENDENCY_CONFLICT? '; echo ($ret == PEAR_DEPENDENCY_CONFLICT) ? "yes\n" : "no\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', '1.0', 'ne'); echo 'ne 1.0 works? '; echo $ret ? "no\n" : "yes\n"; echo '$ret is PEAR_DEPENDENCY_CONFLICT? '; echo ($ret == PEAR_DEPENDENCY_CONFLICT) ? "yes\n" : "no\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', '1.1', 'ge'); echo 'ge 1.1 works? '; echo $ret ? "no\n" : "yes\n"; echo '$ret is PEAR_DEPENDENCY_UPGRADE_MINOR? '; echo ($ret == PEAR_DEPENDENCY_UPGRADE_MINOR) ? "yes\n" : "no\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', '2.0', 'ge'); echo 'ge 2.0 works? '; echo $ret ? "no\n" : "yes\n"; echo '$ret is PEAR_DEPENDENCY_UPGRADE_MAJOR? '; echo ($ret == PEAR_DEPENDENCY_UPGRADE_MAJOR) ? "yes\n" : "no\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', '1.0', 'gt'); echo 'gt 1.0 works? '; echo $ret ? "no\n" : "yes\n"; echo '$ret is PEAR_DEPENDENCY_UPGRADE_MINOR? '; echo ($ret == PEAR_DEPENDENCY_UPGRADE_MINOR) ? "yes\n" : "no\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', null, 'not'); echo 'not pkg1 works? '; echo $ret ? "no\n" : "yes\n"; echo '$ret is PEAR_DEPENDENCY_CONFLICT? '; echo ($ret == PEAR_DEPENDENCY_CONFLICT) ? "yes\n" : "no\n"; echo $msg . "\n"; $msg = 'no error'; $ret = $dep->checkPackage($msg, 'pkg1', null, 'foobar'); echo 'foobar pkg1 works? '; echo $ret ? "no\n" : "yes\n"; echo '$ret is PEAR_DEPENDENCY_BAD_DEPENDENCY? '; echo ($ret == PEAR_DEPENDENCY_BAD_DEPENDENCY) ? "yes\n" : "no\n"; echo $msg . "\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-- has works? yes no error eq 1.0 works? yes no error le 1.0 works? yes no error lt 1.1 works? yes no error ne 1.1 works? yes no error ge 1.0 works? yes no error ge 0.9 works? yes no error not pkg2 works? yes no error le 0.9 works? no $ret is PEAR_DEPENDENCY_CONFLICT? yes requires package `pkg1' <= 0.9 ne 1.0 works? no $ret is PEAR_DEPENDENCY_CONFLICT? yes requires package `pkg1' != 1.0 ge 1.1 works? no $ret is PEAR_DEPENDENCY_UPGRADE_MINOR? yes requires package `pkg1' >= 1.1 ge 2.0 works? no $ret is PEAR_DEPENDENCY_UPGRADE_MAJOR? yes requires package `pkg1' >= 2.0 gt 1.0 works? no $ret is PEAR_DEPENDENCY_UPGRADE_MINOR? yes requires package `pkg1' > 1.0 not pkg1 works? no $ret is PEAR_DEPENDENCY_CONFLICT? yes conflicts with package `pkg1' foobar pkg1 works? no $ret is PEAR_DEPENDENCY_BAD_DEPENDENCY? yes relation 'foobar' with requirement '' is not supported (name=pkg1)