diff --git a/src/DocBlock/Tags/InvalidTag.php b/src/DocBlock/Tags/InvalidTag.php index 412be62..5e87b2d 100644 --- a/src/DocBlock/Tags/InvalidTag.php +++ b/src/DocBlock/Tags/InvalidTag.php @@ -107,11 +107,13 @@ final class InvalidTag implements Tag $trace = array_map( static function (array $call) use ($flatten) : array { array_walk_recursive($call['args'], $flatten); + return $call; }, $trace ); } + $traceProperty->setValue($exception, $trace); $exception = $exception->getPrevious(); } while ($exception !== null); diff --git a/tests/unit/DocBlock/Tags/InvalidTagTest.php b/tests/unit/DocBlock/Tags/InvalidTagTest.php index 88456bd..8c17edb 100644 --- a/tests/unit/DocBlock/Tags/InvalidTagTest.php +++ b/tests/unit/DocBlock/Tags/InvalidTagTest.php @@ -57,10 +57,12 @@ final class InvalidTagTest extends TestCase self::assertSame('@name Body', $tag->render()); self::assertSame($parentException, $tag->getException()); $trace = $tag->getException()->getPrevious()->getTrace(); + if (isset($trace[0]['args'])) { // Not set by default on 7.4 self::assertStringStartsWith('(Closure at', $trace[0]['args'][0]); self::assertStringContainsString(__FILE__, $trace[0]['args'][0]); } + self::assertEquals($parentException, unserialize(serialize($parentException))); } } @@ -85,12 +87,14 @@ final class InvalidTagTest extends TestCase self::assertSame('@name Body', $tag->render()); self::assertSame($parentException, $tag->getException()); $trace = $tag->getException()->getPrevious()->getTrace(); + if (isset($trace[0]['args'])) { // Not set by default on 7.4 self::assertStringStartsWith( 'resource(stream)', $trace[0]['args'][0] ); } + self::assertEquals($parentException, unserialize(serialize($parentException))); } }