Source for file phpt_test.php.inc
Documentation is available at phpt_test.php.inc
@include_once 'Text/Diff.php';
@include_once 'Text/Diff/Renderer.php';
@include_once 'Text/Diff/Renderer/unified.php';
require_once 'PEAR/ErrorStack.php';
function PEAR_PHPTest ($diffonly = false )
$this->_diffonly = $diffonly;
$this->_errors = array ();
PEAR ::setErrorHandling (PEAR_ERROR_CALLBACK , array (&$this, 'pearerrorCallback'));
PEAR_ErrorStack ::setDefaultCallback (array (&$this, 'pearerrorstackCallback'));
function pearerrorCallback ($err)
PEAR_ErrorStack ::staticPush ('PEAR_Error', -1 , 'error', array ('obj' => $err),
function pearerrorstackCallback ($err)
function assertPEARError ($err, $message)
if (is_a($err, 'PEAR_Error')) {
echo "Not a PEAR_Error\n";
function assertNoErrors ($message, $trace = null )
if (count($this->_errors) == 0 ) {
$this->_failTest ($trace, $message);
foreach ($this->_errors as $err) {
if ($err['package'] == 'PEAR_Error') {
echo "Unexpected PEAR_Error:\n";
echo 'message "' . $err['message'] . "\"\n";
echo "Unexpected PEAR_ErrorStack error:\n";
echo 'package "' . $err['package'] . "\"\n";
echo 'message "' . $err['message'] . "\"\n";
$this->_errors = array ();
function assertErrors ($errors, $message, $trace = null )
if (!count($this->_errors)) {
$this->_failTest ($trace, $message);
echo "No errors caught, but errors were expected\n";
if (!isset ($errors[0 ])) {
$errors = array ($errors);
foreach ($errors as $err) {
foreach ($this->_errors as $i => $caughterror) {
if ($caughterror['package'] == $err['package']) {
if ($caughterror['message'] == $err['message']) {
unset ($this->_errors[$i]);
$this->_failTest ($trace, $message);
echo "Unthrown error:\n";
if ($err['package'] == 'PEAR_Error') {
echo " error package: \"$err[package]\"\n";
echo " message: \"$err[message]\"\n";
if (count($this->_errors)) {
$this->_failTest ($trace, $message);
foreach ($this->_errors as $err) {
echo "Unexpected error:\n";
if ($err['package'] == 'PEAR_Error') {
echo " error package: \"$err[package]\"\n";
echo " message: \"$err[message]\"\n";
$this->_errors = array ();
function assertTrue ($test, $message)
echo "Unexpected non-true value: \n";
function assertIsa ($control, $test, $message)
if (is_a($test, $control)) {
echo " Unexpected non-$control object: \n";
function assertNull ($test, $message)
echo "Unexpected non-null value: \n";
function assertNotNull ($test, $message)
echo "Unexpected null: \n";
function assertSame ($test, $test1, $message)
echo "Unexpectedly two vars are not the same thing: \n";
function assertNotSame ($test, $test1, $message)
echo "Unexpectedly two vars are the same thing: \n";
function assertFalse ($test, $message)
echo "Unexpected non-false value: \n";
function assertNotTrue ($test, $message)
echo "Unexpected loose true value: \n";
function assertNotFalse ($test, $message)
echo "Unexpected loose false value: \n";
function assertEquals ($control, $test, $message)
echo "Diff of expecting/received:\n";
// Output the diff in unified format.
$renderer = &new Text_Diff_Renderer_unified ();
echo $renderer->render ($diff);
function assertFileExists ($fname, $message)
echo " File '$fname' does not exist, and should\n";
function assertFileNotExists ($fname, $message)
echo " File '$fname' exists, and should not\n";
function assertRegEquals ($dump, &$reg, $message)
return $this->assertEquals ($testdump, $actualdump, $message);
function assertPackageInfoEquals ($control, $test, $message)
if (isset ($control[0 ])) {
if (!isset ($test[0 ]) || (count($control) != count($test))) {
echo "Invalid packageInfo\n";
$ret = $this->assertEquals ($control, $test, $message);
foreach ($control as $i => $packageinfo) {
$this->assertPackageInfoEquals ($packageinfo, $test[$i], $message . $i);
if (isset ($control['_lastmodified'])) {
if (!isset ($test['_lastmodified'])) {
echo "_lastmodified is not set in packageInfo() output\n";
unset ($control['_lastmodified']);
unset ($test['_lastmodified']);
echo "Diff of expecting/received:\n";
// Output the diff in unified format.
$renderer = &new Text_Diff_Renderer_unified ();
echo $renderer->render ($diff);
print "dumping registry...\n";
$infos = $reg->packageInfo (null , null , null );
foreach ($infos as $channel => $info) {
echo " channel $channel:\n";
foreach ($info as $pkg) {
print $pkg["name"] . ":";
foreach ($pkg as $k => $v) {
if ($k == '_lastmodified') {
print " _lastmodified is set";
foreach ($v as $k2 => $v2) {
foreach ($v2 as $k3 => $v3) {
function _failTest ($trace, $message)
echo 'Test Failure: "' . $message . "\"\n in " . $trace[0 ]['file'] . ' line ' .
$trace[0 ]['line'] . "\n";
$this->_diffonly = false;
Documentation generated on Mon, 11 Mar 2019 15:42:04 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.
|