render($ex3); $expected = 3; $result = substr_count($rendered, 'Throwable(LoggerRendererExceptionTestException): Message'); $this->assertEquals($expected, $result); $expected = 2; $result = substr_count($rendered, 'Caused by: Throwable(LoggerRendererExceptionTestException):'); $this->assertEquals($expected, $result); $expected = 1; $result = substr_count($rendered, 'Caused by: Throwable(LoggerRendererExceptionTestException): Message2'); $this->assertEquals($expected, $result); $expected = 1; $result = substr_count($rendered, 'Caused by: Throwable(LoggerRendererExceptionTestException): Message1'); $this->assertEquals($expected, $result); } } if (version_compare(PHP_VERSION, '5.3.0') >= 0) { class LoggerRendererExceptionTestException extends Exception { } } else { class LoggerRendererExceptionTestException extends Exception { protected $previous; public function __construct($message = '', $code = 0, Exception $previous = null) { parent::__construct($message, $code); $this->previous = $previous; } public function getPrevious() { return $this->previous; } } } ?>