pass('Expected results received');
return;
}
$iLen = count($aExpected);
for ($c = 0; $c < $iLen; $c++) {
if ($aReceived[$c] != $aExpected[$c]) {
$this->fail(sprintf("Failure. Expected %s, but got %s\n", $aExpected[$c], $aReceived[$c]));
}
}
}
function assertEntity($oEntity, $sClass) {
if (is_a($oEntity, $sClass)) {
return $this->pass(sprintf('Object is a %s', $sClass));
}
return $this->fail(sprintf('Object is not a %s', $sClass));
}
function assertNotError($oObject) {
if(PEAR::isError($oObject)) {
return $this->fail(sprintf('Object is a PEAR Error: '.$oObject->getMessage() ));
}
return $this->pass(sprintf('Object is not a PEAR Error'));
}
function assertError($oObject) {
if(PEAR::isError($oObject)) {
return $this->pass(sprintf('Object is a PEAR Error: '.$oObject->getMessage() ));
}
return $this->fail(sprintf('Object is not a PEAR Error'));
}
function assertGroup($oGroup) {
return $this->assertEntity($oGroup, 'Group');
}
}
/**
* Extends the HTML reporter to display more information
*
*/
class KTHtmlReporter extends HtmlReporter {
/**
* Display all test output
*
* @var bool
*/
protected $show;
/**
* Does nothing yet. The first output will
* be sent on the first test start. For use
* by a web browser.
* @access public
*/
function KTHtmlReporter($show = false) {
$this->HtmlReporter();
$this->show = $show;
}
/**
* Display the passed tests
*
* @param string $message Display a custom message for the test
*/
function paintPass($message) {
parent::paintPass($message);
if($this->show){
print "PASS: ";
$breadcrumb = $this->getTestList();
array_shift($breadcrumb);
print implode("->", $breadcrumb);
print "->$message
\n";
}
}
/**
* Paints the test failure with a breadcrumbs
* trail of the nesting test suites below the
* top level test.
* @param string $message Failure message displayed in
* the context of the other tests.
* @access public
*/
function paintFail($message) {
SimpleScorer::paintFail($message);
print "FAIL: ";
$breadcrumb = $this->getTestList();
array_shift($breadcrumb);
print implode(" -> ", $breadcrumb);
print " -> " . $this->_htmlEntities($message) . "
\n";
}
/**
* Paints a PHP error.
* @param string $message Message is ignored.
* @access public
*/
function paintError($message) {
SimpleScorer::paintError($message);
print "EXCEPTION: ";
$breadcrumb = $this->getTestList();
array_shift($breadcrumb);
print implode(" -> ", $breadcrumb);
print " -> " . $this->_htmlEntities($message) . "
\n";
}
/**
* Display the start of each method
*
* @param string $test_name
*/
function paintMethodStart($test_name) {
parent::paintMethodStart($test_name);
if($this->show) print "
";
print "Method: $test_name
";
}
/**
* Display the start of each test case
*
* @param string $test_case
* @param int $size
*/
function paintGroupStart($test_case, $size) {
parent::paintGroupStart($test_case, $size);
print "