diff options
author | friendica <info@friendica.com> | 2012-05-12 17:57:41 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-07-18 20:40:31 +1000 |
commit | 7a40f4354b32809af3d0cfd6e3af0eda02ab0e0a (patch) | |
tree | a9c3d91209cff770bb4b613b1b95e61a7bbc5a2b /lib/htmlpurifier/tests/PHPT | |
parent | cd727cb26b78a1dade09d510b071446898477356 (diff) | |
download | volse-hubzilla-7a40f4354b32809af3d0cfd6e3af0eda02ab0e0a.tar.gz volse-hubzilla-7a40f4354b32809af3d0cfd6e3af0eda02ab0e0a.tar.bz2 volse-hubzilla-7a40f4354b32809af3d0cfd6e3af0eda02ab0e0a.zip |
some important stuff we'll need
Diffstat (limited to 'lib/htmlpurifier/tests/PHPT')
-rw-r--r-- | lib/htmlpurifier/tests/PHPT/Controller/SimpleTest.php | 24 | ||||
-rw-r--r-- | lib/htmlpurifier/tests/PHPT/Reporter/SimpleTest.php | 77 | ||||
-rw-r--r-- | lib/htmlpurifier/tests/PHPT/Section/PRESKIPIF.php | 36 |
3 files changed, 137 insertions, 0 deletions
diff --git a/lib/htmlpurifier/tests/PHPT/Controller/SimpleTest.php b/lib/htmlpurifier/tests/PHPT/Controller/SimpleTest.php new file mode 100644 index 000000000..62fe6a405 --- /dev/null +++ b/lib/htmlpurifier/tests/PHPT/Controller/SimpleTest.php @@ -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 diff --git a/lib/htmlpurifier/tests/PHPT/Reporter/SimpleTest.php b/lib/htmlpurifier/tests/PHPT/Reporter/SimpleTest.php new file mode 100644 index 000000000..25ffe7b4c --- /dev/null +++ b/lib/htmlpurifier/tests/PHPT/Reporter/SimpleTest.php @@ -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 diff --git a/lib/htmlpurifier/tests/PHPT/Section/PRESKIPIF.php b/lib/htmlpurifier/tests/PHPT/Section/PRESKIPIF.php new file mode 100644 index 000000000..4691c76da --- /dev/null +++ b/lib/htmlpurifier/tests/PHPT/Section/PRESKIPIF.php @@ -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; + } +} |