mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-27 15:19:57 +09:00
Merge 1.5.2.3 (~r10623)
git-svn-id: http://xe-core.googlecode.com/svn/trunk@10624 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
79fdf10866
commit
e4306a789f
915 changed files with 71076 additions and 245 deletions
|
|
@ -0,0 +1,24 @@
|
|||
<?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
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
<?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
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue