8000 [ErrorHandler] Remove trigger_deprecation frame from trace (add tests) · symfony/symfony@d4eb4a4 · GitHub
[go: up one dir, main page]

Skip to content

Commit d4eb4a4

Browse files
fancywebnicolas-grekas
authored andcommitted
[ErrorHandler] Remove trigger_deprecation frame from trace (add tests)
1 parent c293aee commit d4eb4a4

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

src/Symfony/Component/ErrorHandler/Tests/ErrorHandlerTest.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,4 +652,29 @@ public function testAssertQuietEval()
652652
$this->assertSame('warning', $logs[0][0]);
653653
$this->assertSame('Warning: assert(): assert(false) failed', $logs[0][1]);
654654
}
655+
656+
public function testHandleTriggerDeprecation()
657+
{
658+
try {
659+
$handler = ErrorHandler::register();
660+
$handler->setDefaultLogger($logger = new BufferingLogger());
661+
662+
$expectedLine = __LINE__ + 1;
663+
trigger_deprecation('foo', '1.2.3', 'bar');
664+
665+
/** @var \ErrorException $exception */
666+
$exception = $logger->cleanLogs()[0][2]['exception'];
667+
668+
$this->assertSame($expectedLine, $exception->getLine());
669+
$this->assertSame(__FILE__, $exception->getFile());
670+
671+
$frame = $exception->getTrace()[0];
672+
$this->assertSame(__CLASS__, $frame['class']);
673+
$this->assertSame(__FUNCTION__, $frame['function']);
674+
$this->assertSame('->', $frame['type']);
675+
} finally {
676+
restore_error_handler();
677+
restore_exception_handler();
678+
}
679+
}
655680
}

src/Symfony/Component/ErrorHandler/composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
},
2424
"require-dev": {
2525
"symfony/http-kernel": "^4.4|^5.0",
26-
"symfony/serializer": "^4.4|^5.0"
26+
"symfony/serializer": "^4.4|^5.0",
27+
"symfony/deprecation-contracts": "^2.1"
2728
},
2829
"autoload": {
2930
"psr-4": { "Symfony\\Component\\ErrorHandler\\": "" },

0 commit comments

Comments
 (0)
0