0
0
mirror of https://github.com/ezyang/htmlpurifier.git synced 2024-12-22 08:21:52 +00:00

Modernize some of the testing facilities.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
This commit is contained in:
Edward Z. Yang 2012-01-18 18:10:16 -05:00
parent 1c7fedff5a
commit 56a26cab14
3 changed files with 15 additions and 5 deletions

View File

@ -23,11 +23,11 @@ class CliTestCase
public function getLabel() {
return $this->_command;
}
public function run(&$reporter) {
public function run($reporter) {
if (!$this->_quiet) $reporter->paintFormattedMessage('Running ['.$this->_command.']');
return $this->_invokeCommand($this->_command, $reporter);
}
public function _invokeCommand($command, &$reporter) {
public function _invokeCommand($command, $reporter) {
$xml = shell_exec($command);
if (! $xml) {
if (!$this->_quiet) {
@ -35,7 +35,7 @@ class CliTestCase
}
return false;
}
$parser = &$this->_createParser($reporter);
$parser = $this->_createParser($reporter);
set_error_handler(array($this, '_errorHandler'));
$status = $parser->parse($xml);
@ -59,7 +59,7 @@ class CliTestCase
}
return true;
}
public function &_createParser(&$reporter) {
public function _createParser($reporter) {
$parser = new SimpleTestXmlParser($reporter);
return $parser;
}

View File

@ -107,6 +107,14 @@ if ($AC['standalone']) {
require '../library/HTMLPurifier.autoload.php';
require 'HTMLPurifier/Harness.php';
// immediately load external libraries, so we can bail out early if
// they're bad
if ($GLOBALS['HTMLPurifierTest']['PEAR']) {
if ($GLOBALS['HTMLPurifierTest']['Net_IDNA2']) {
require_once 'Net/IDNA2.php';
}
}
// Shell-script code is executed
if ($AC['xml']) {

View File

@ -51,9 +51,11 @@ $AC['standalone'] = false; // convenience for --distro=standalone
$AC['only-phpt'] = false; // --type=phpt
$AC['exclude-normal'] = false; // --distro=standalone
$AC['exclude-standalone'] = false; // --distro=normal
$AC['verbose'] = false;
$aliases = array(
'f' => 'file',
'q' => 'quiet',
'v' => 'verbose',
);
htmlpurifier_parse_args($AC, $aliases);
@ -68,7 +70,7 @@ elseif ($AC['standalone']) $AC['distro'] = 'standalone';
if ($AC['xml']) {
$reporter = new XmlReporter();
} else {
$reporter = new TextReporter();
$reporter = new HTMLPurifier_SimpleTest_TextReporter($AC);
}
// Regenerate any necessary files