/** * Switches output format, updates format strings. * Can be used to switch the active output format: * * @param string $format Format to use, including 'js' for JavaScript-enhanced HTML, 'html' for * straight HTML output, or 'txt' for unformatted text. * @param array $strings Template strings to be used for the output format. * @return string * @deprecated Use Debugger::outputAs() and Debugger::addFormat(). Will be removed * in 3.0 */ public function output($format = null, array $strings = array()) { $self = Debugger::getInstance(); $data = null; if ($format === null) { return Debugger::outputAs(); } if (!empty($strings)) { return Debugger::addFormat($format, $strings); } if ($format === true && !empty($self->_data)) { $data = $self->_data; $self->_data = array(); $format = false; } Debugger::outputAs($format); return $data; }
/** * Test adding a format that is handled by a callback. * * @return void */ public function testAddFormatCallback() { set_error_handler('Cake\\Utility\\Debugger::showError'); $this->_restoreError = true; Debugger::addFormat('callback', array('callback' => array($this, 'customFormat'))); Debugger::outputAs('callback'); ob_start(); $foo .= ''; $result = ob_get_clean(); $this->assertContains('Notice: I eated an error', $result); $this->assertContains('DebuggerTest.php', $result); }