From 897fca0d9b6d012bd6e09d286f033a27c4cf72ed Mon Sep 17 00:00:00 2001 From: andyexeter Date: Sat, 15 Dec 2018 13:56:25 +0000 Subject: [PATCH] Add SoapFault exception formatting test --- tests/Monolog/Formatter/LineFormatterTest.php | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/Monolog/Formatter/LineFormatterTest.php b/tests/Monolog/Formatter/LineFormatterTest.php index e19cde1e..1b115b9f 100644 --- a/tests/Monolog/Formatter/LineFormatterTest.php +++ b/tests/Monolog/Formatter/LineFormatterTest.php @@ -173,6 +173,27 @@ class LineFormatterTest extends \PHPUnit\Framework\TestCase $this->assertEquals('['.date('Y-m-d').'] core.CRITICAL: foobar {"exception":"[object] (RuntimeException(code: 0): Foo at '.substr($path, 1, -1).':'.(__LINE__ - 8).')\n[previous exception] [object] (LogicException(code: 0): Wut? at '.substr($path, 1, -1).':'.(__LINE__ - 12).')"} []'."\n", $message); } + public function testDefFormatWithSoapFaultException() + { + if (!class_exists('SoapFault')) { + $this->markTestSkipped('Requires the soap extension'); + } + + $formatter = new LineFormatter(null, 'Y-m-d'); + $message = $formatter->format([ + 'level_name' => 'CRITICAL', + 'channel' => 'core', + 'context' => ['exception' => new \SoapFault('foo', 'bar', 'hello', 'world')], + 'datetime' => new \DateTimeImmutable, + 'extra' => [], + 'message' => 'foobar', + ]); + + $path = str_replace('\\/', '/', json_encode(__FILE__)); + + $this->assertEquals('['.date('Y-m-d').'] core.CRITICAL: foobar {"exception":"[object] (SoapFault(code: 0 faultcode: foo faultactor: hello detail: world): bar at '.substr($path, 1, -1).':'.(__LINE__ - 8).')"} []'."\n", $message); + } + public function testBatchFormat() { $formatter = new LineFormatter(null, 'Y-m-d');