* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\ErrorHandler\Tests\ErrorRenderer; use PHPUnit\Framework\TestCase; use Symfony\Component\ErrorHandler\ErrorRenderer\HtmlErrorRenderer; class HtmlErrorRendererTest extends TestCase { /** * @dataProvider getRenderData */ public function testRender(\Throwable $exception, HtmlErrorRenderer $errorRenderer, string $expected) { $this->assertStringMatchesFormat($expected, $errorRenderer->render($exception)->getAsString()); } public static function getRenderData(): iterable { $expectedDebug = << %AFoo (500 Internal Server Error) %A
%A HTML; $expectedNonDebug = << %AAn Error Occurred: Internal Server Error %A

The server returned a "500 Internal Server Error".

%A HTML; yield '->render() returns the HTML content WITH stack traces in debug mode' => [ new \RuntimeException('Foo'), new HtmlErrorRenderer(true), $expectedDebug, ]; yield '->render() returns the HTML content WITHOUT stack traces in non-debug mode' => [ new \RuntimeException('Foo'), new HtmlErrorRenderer(false), $expectedNonDebug, ]; } }