diff --git a/src/Symfony/Bundle/WebProfilerBundle/Tests/Twig/WebProfilerExtensionTest.php b/src/Symfony/Bundle/WebProfilerBundle/Tests/Twig/WebProfilerExtensionTest.php index 37438ed560206..f0cf4f36a196f 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Tests/Twig/WebProfilerExtensionTest.php +++ b/src/Symfony/Bundle/WebProfilerBundle/Tests/Twig/WebProfilerExtensionTest.php @@ -15,6 +15,7 @@ use Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension; use Symfony\Component\VarDumper\Cloner\VarCloner; use Twig\Environment; +use Twig\Loader\ArrayLoader; class WebProfilerExtensionTest extends TestCase { @@ -23,7 +24,7 @@ class WebProfilerExtensionTest extends TestCase */ public function testDumpHeaderIsDisplayed(string $message, array $context, bool $dump1HasHeader, bool $dump2HasHeader) { - $twigEnvironment = $this->mockTwigEnvironment(); + $twigEnvironment = new Environment(new ArrayLoader()); $varCloner = new VarCloner(); $webProfilerExtension = new WebProfilerExtension(); @@ -44,13 +45,4 @@ public static function provideMessages(): iterable yield ['Some message {foo}', ['foo' => 'foo', 'bar' => 'bar'], true, false]; yield ['Some message {foo}', ['bar' => 'bar'], false, true]; } - - private function mockTwigEnvironment() - { - $twigEnvironment = $this->createMock(Environment::class); - - $twigEnvironment->expects($this->any())->method('getCharset')->willReturn('UTF-8'); - - return $twigEnvironment; - } } diff --git a/src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php b/src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php index 2a4e975760426..82352f5996122 100644 --- a/src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php +++ b/src/Symfony/Bundle/WebProfilerBundle/Twig/WebProfilerExtension.php @@ -17,6 +17,7 @@ use Twig\Extension\EscaperExtension; use Twig\Extension\ProfilerExtension; use Twig\Profiler\Profile; +use Twig\Runtime\EscaperRuntime; use Twig\TwigFunction; /** @@ -114,6 +115,12 @@ public function getName() private static function escape(Environment $env, string $s): string { + // Twig 3.10 and above + if (class_exists(EscaperRuntime::class)) { + return $env->getRuntime(EscaperRuntime::class)->escape($s); + } + + // Twig 3.9 if (method_exists(EscaperExtension::class, 'escape')) { return EscaperExtension::escape($env, $s); }
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: