public static function run($page = false, $db = false, $options = []) { ErrorHandler::$customHandler = function ($errno, $errstr, $errfile, $errline, $errcontext, $errorName) { $controller = new ApiController(); $controller->errorResponse("Unknown Error", "{$errorName} {$errstr}", "{$errfile} on line {$errline}"); }; parent::run($page, $db, $options); }
function runAction() { ErrorHandler::$customHandler = function ($errno, $errstr, $errfile, $errline, $errcontext, $errorName) { $this->fail("{$errorName} {$errstr}\n{$errfile} on line {$errline}"); print '<hr>'; print "<p>\n Aborted with <span id=\"test-status-pass-count\">{$this->passCount}</span> passe" . ($this->passCount == 1 ? '' : 's') . ",\n <span id=\"test-status-fail-count\">{$this->failCount}</span> fail" . ($this->failCount == 1 ? '' : 's') . ".\n </p>"; $this->printFoot(); exit; }; try { $files = $this->testFiles(); $testFile = $files[$_GET['test']]; if (!$testFile) { die('cannot find test'); } $this->__testFile = $testFile; $this->__buffered = preg_match('/-with-buffer.php/', $testFile); if ($this->__buffered) { ob_start(); } $this->printHead(); print '<h3>' . htmlentities($this->nameForTestFile($testFile)) . '</h3>'; $relativePath = substr($testFile, strlen(Env::get('base_path'))); print "<pre>{$relativePath}</pre>"; print '<hr>'; print '<p><a href="test.php">« Back to test list</a></p>'; print '<hr>'; print '<ul id="test-list">'; require $testFile; print '</ul>'; print '<hr>'; print "<p>\n Completed with <span id=\"test-status-pass-count\">{$this->passCount}</span> passe" . ($this->passCount == 1 ? '' : 's') . ",\n <span id=\"test-status-fail-count\">{$this->failCount}</span> fail" . ($this->failCount == 1 ? '' : 's') . ".\n </p>"; $this->printFoot(); if ($this->__buffered) { ob_end_flush(); } } catch (\Exception $e) { $this->fail('Exception: ' . $e->getMessage() . "\n" . $e->getTraceAsString()); print '<hr>'; print "<p>\n Aborted with <span id=\"test-status-pass-count\">{$this->passCount}</span> passe" . ($this->passCount == 1 ? '' : 's') . ",\n <span id=\"test-status-fail-count\">{$this->failCount}</span> fail" . ($this->failCount == 1 ? '' : 's') . ".\n </p>"; $this->printFoot(); exit; } }