first commit
This commit is contained in:
26
htmlpurifier-4.10.0/tests/PHPT/Controller/SimpleTest.php
Executable file
26
htmlpurifier-4.10.0/tests/PHPT/Controller/SimpleTest.php
Executable file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Controller for PHPT that implements the SimpleTest unit-testing interface.
|
||||
*/
|
||||
class PHPT_Controller_SimpleTest extends SimpleTestCase
|
||||
{
|
||||
|
||||
protected $_path;
|
||||
|
||||
public function __construct($path)
|
||||
{
|
||||
$this->_path = $path;
|
||||
parent::__construct($path);
|
||||
}
|
||||
|
||||
public function testPhpt()
|
||||
{
|
||||
$suite = new PHPT_Suite(array($this->_path));
|
||||
$phpt_reporter = new PHPT_Reporter_SimpleTest($this->reporter);
|
||||
$suite->run($phpt_reporter);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// vim: et sw=4 sts=4
|
86
htmlpurifier-4.10.0/tests/PHPT/Reporter/SimpleTest.php
Executable file
86
htmlpurifier-4.10.0/tests/PHPT/Reporter/SimpleTest.php
Executable file
@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Proxies results from PHPT_Reporter to SimpleTest's reporter
|
||||
*/
|
||||
class PHPT_Reporter_SimpleTest implements PHPT_Reporter
|
||||
{
|
||||
|
||||
/** SimpleTest reporter to proxy results to */
|
||||
protected $reporter;
|
||||
|
||||
/** @param SimpleTest reporter */
|
||||
public function __construct($reporter)
|
||||
{
|
||||
$this->reporter = $reporter;
|
||||
}
|
||||
|
||||
// TODO: Figure out what the proper calls should be, since we've given
|
||||
// each Suite its own UnitTestCase controller
|
||||
|
||||
/**
|
||||
* Called when the Reporter is started from a PHPT_Suite
|
||||
* @todo Figure out if Suites can be named
|
||||
*/
|
||||
public function onSuiteStart(PHPT_Suite $suite)
|
||||
{
|
||||
//$this->reporter->paintGroupStart('PHPT Suite', $suite->count());
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when the Reporter is finished in a PHPT_Suite
|
||||
*/
|
||||
public function onSuiteEnd(PHPT_Suite $suite)
|
||||
{
|
||||
//$this->reporter->paintGroupEnd('PHPT Suite');
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when a Case is started
|
||||
*/
|
||||
public function onCaseStart(PHPT_Case $case)
|
||||
{
|
||||
//$this->reporter->paintCaseStart($case->name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when a Case ends
|
||||
*/
|
||||
public function onCaseEnd(PHPT_Case $case)
|
||||
{
|
||||
//$this->reporter->paintCaseEnd($case->name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when a Case runs without Exception
|
||||
*/
|
||||
public function onCasePass(PHPT_Case $case)
|
||||
{
|
||||
$this->reporter->paintPass("{$case->name} in {$case->filename}");
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when a PHPT_Case_VetoException is thrown during a Case's run()
|
||||
*/
|
||||
public function onCaseSkip(PHPT_Case $case, PHPT_Case_VetoException $veto)
|
||||
{
|
||||
$this->reporter->paintSkip($veto->getMessage() . ' [' . $case->filename .']');
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when any Exception other than a PHPT_Case_VetoException is encountered
|
||||
* during a Case's run()
|
||||
*/
|
||||
public function onCaseFail(PHPT_Case $case, PHPT_Case_FailureException $failure)
|
||||
{
|
||||
$this->reporter->paintFail($failure->getReason());
|
||||
}
|
||||
|
||||
public function onParserError(Exception $exception)
|
||||
{
|
||||
$this->reporter->paintException($exception);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// vim: et sw=4 sts=4
|
36
htmlpurifier-4.10.0/tests/PHPT/Section/PRESKIPIF.php
Executable file
36
htmlpurifier-4.10.0/tests/PHPT/Section/PRESKIPIF.php
Executable file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
class PHPT_Section_PRESKIPIF implements PHPT_Section_RunnableBefore
|
||||
{
|
||||
private $_data = null;
|
||||
private $_runner_factory = null;
|
||||
|
||||
public function __construct($data)
|
||||
{
|
||||
$this->_data = $data;
|
||||
$this->_runner_factory = new PHPT_CodeRunner_Factory();
|
||||
}
|
||||
|
||||
public function run(PHPT_Case $case)
|
||||
{
|
||||
// @todo refactor this code into PHPT_Util class as its used in multiple places
|
||||
$filename = dirname($case->filename) . '/' . basename($case->filename, '.php') . '.skip.php';
|
||||
|
||||
// @todo refactor to PHPT_CodeRunner
|
||||
file_put_contents($filename, $this->_data);
|
||||
$runner = $this->_runner_factory->factory($case);
|
||||
$runner->ini = "";
|
||||
$response = $runner->run($filename)->output;
|
||||
unlink($filename);
|
||||
|
||||
if (preg_match('/^skip( - (.*))?/', $response, $matches)) {
|
||||
$message = !empty($matches[2]) ? $matches[2] : '';
|
||||
throw new PHPT_Case_VetoException($message);
|
||||
}
|
||||
}
|
||||
|
||||
public function getPriority()
|
||||
{
|
||||
return -2;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user