aboutsummaryrefslogtreecommitdiffstats
path: root/lib/htmlpurifier/tests/HTMLPurifier/SimpleTest
diff options
context:
space:
mode:
Diffstat (limited to 'lib/htmlpurifier/tests/HTMLPurifier/SimpleTest')
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/SimpleTest/Reporter.php60
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/SimpleTest/TextReporter.php21
2 files changed, 81 insertions, 0 deletions
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/SimpleTest/Reporter.php b/lib/htmlpurifier/tests/HTMLPurifier/SimpleTest/Reporter.php
new file mode 100644
index 000000000..b9da9ab0b
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/SimpleTest/Reporter.php
@@ -0,0 +1,60 @@
+<?php
+
+class HTMLPurifier_SimpleTest_Reporter extends HTMLReporter
+{
+
+ protected $ac;
+
+ public function __construct($encoding, $ac) {
+ $this->ac = $ac;
+ parent::__construct($encoding);
+ }
+
+ public function paintHeader($test_name) {
+ parent::paintHeader($test_name);
+?>
+<form action="" method="get" id="select">
+ <select name="f">
+ <option value="" style="font-weight:bold;"<?php if(!$this->ac['file']) {echo ' selected';} ?>>All Tests</option>
+ <?php foreach($GLOBALS['HTMLPurifierTest']['Files'] as $file) { ?>
+ <option value="<?php echo $file ?>"<?php
+ if ($this->ac['file'] == $file) echo ' selected';
+ ?>><?php echo $file ?></option>
+ <?php } ?>
+ </select>
+ <input type="checkbox" name="standalone" value="1" title="Standalone version?" <?php if($this->ac['standalone']) {echo 'checked="checked" ';} ?>/>
+ <input type="submit" value="Go">
+</form>
+<?php
+ flush();
+ }
+
+ public function paintFooter($test_name) {
+ if (function_exists('xdebug_peak_memory_usage')) {
+ $max_mem = number_format(xdebug_peak_memory_usage());
+ echo "<div>Max memory usage: $max_mem bytes</div>";
+ }
+ parent::paintFooter($test_name);
+ }
+
+ protected function getCss() {
+ $css = parent::getCss();
+ $css .= '
+ #select {position:absolute;top:0.2em;right:0.2em;}
+ ';
+ return $css;
+ }
+
+ function getTestList() {
+ // hacky; depends on a specific implementation of paintPass, etc.
+ $list = parent::getTestList();
+ $testcase = $list[1];
+ if (class_exists($testcase, false)) $file = str_replace('_', '/', $testcase) . '.php';
+ else $file = $testcase;
+ $list[1] = '<a href="index.php?file=' . $file . '">' . $testcase . '</a>';
+ return $list;
+ }
+
+}
+
+// vim: et sw=4 sts=4
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/SimpleTest/TextReporter.php b/lib/htmlpurifier/tests/HTMLPurifier/SimpleTest/TextReporter.php
new file mode 100644
index 000000000..56204e7a3
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/SimpleTest/TextReporter.php
@@ -0,0 +1,21 @@
+<?php
+
+class HTMLPurifier_SimpleTest_TextReporter extends TextReporter {
+ protected $verbose = false;
+ function __construct($AC) {
+ parent::__construct();
+ $this->verbose = $AC['verbose'];
+ }
+ function paintPass($message) {
+ parent::paintPass($message);
+ if ($this->verbose) {
+ print 'Pass ' . $this->getPassCount() . ") $message\n";
+ $breadcrumb = $this->getTestList();
+ array_shift($breadcrumb);
+ print "\tin " . implode("\n\tin ", array_reverse($breadcrumb));
+ print "\n";
+ }
+ }
+}
+
+// vim: et sw=4 sts=4