/** * @inheritDoc */ public function get() { if (!isset($this->throwable)) { throw new LogicException('Throwable must be set to get view.'); } ob_start(); var_dump($this->throwable->getTrace()); $fullTrace = ob_get_clean(); // If xdebug is installed then var_dump is pretty printed for html already. if (function_exists('xdebug_var_dump')) { $viewTrace = new Text(); $viewTrace->setHTML5($fullTrace); $fullTrace = ['div', ['class' => 'full_trace'], $viewTrace->get()]; } else { $fullTrace = ['pre', ['class' => 'full_trace'], $fullTrace]; } return ['div', ['class' => 'Throwable'], [['div', ['class' => 'location'], 'Thrown at ' . $this->throwable->getFile() . ' line ' . $this->throwable->getLine()], ['pre', [], $this->throwable->getMessage()], ['h2', [], 'Basic Trace'], ['pre', ['class' => 'basic_trace'], $this->throwable->getTraceAsString()], ['h2', [], 'Full Trace'], $fullTrace]]; }
/** * @dataProvider providerString */ public function testString($expected, $string) { $obj = new Text(); $obj->setHTML5($string); $this->assertSame($expected, $obj->get()); }