aboutsummaryrefslogtreecommitdiffstats
path: root/lib/htmlpurifier/tests/PHPT
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-05-12 17:57:41 -0700
committerfriendica <info@friendica.com>2012-07-18 20:40:31 +1000
commit7a40f4354b32809af3d0cfd6e3af0eda02ab0e0a (patch)
treea9c3d91209cff770bb4b613b1b95e61a7bbc5a2b /lib/htmlpurifier/tests/PHPT
parentcd727cb26b78a1dade09d510b071446898477356 (diff)
downloadvolse-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.php24
-rw-r--r--lib/htmlpurifier/tests/PHPT/Reporter/SimpleTest.php77
-rw-r--r--lib/htmlpurifier/tests/PHPT/Section/PRESKIPIF.php36
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;
+ }
+}