Skip to content

Commit 64d774d

Browse files
committed
Merge branch '5.4' into 6.3
* 5.4: don't use deprecated and internal Twig functions [Notifier][Clickatell] Fixed minor typo add missing translation [Messenger] Add missing Redis cleanup in tests Make sure Serializer::denormalize have show what exception it throws
2 parents ae4e15a + 4e893b4 commit 64d774d

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

Tests/Twig/WebProfilerExtensionTest.php

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
use Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension;
1616
use Symfony\Component\VarDumper\Cloner\VarCloner;
1717
use Twig\Environment;
18-
use Twig\Extension\CoreExtension;
19-
use Twig\Extension\EscaperExtension;
2018

2119
class WebProfilerExtensionTest extends TestCase
2220
{
@@ -25,9 +23,6 @@ class WebProfilerExtensionTest extends TestCase
2523
*/
2624
public function testDumpHeaderIsDisplayed(string $message, array $context, bool $dump1HasHeader, bool $dump2HasHeader)
2725
{
28-
class_exists(CoreExtension::class); // Load twig_convert_encoding()
29-
class_exists(EscaperExtension::class); // Load twig_escape_filter()
30-
3126
$twigEnvironment = $this->mockTwigEnvironment();
3227
$varCloner = new VarCloner();
3328

Twig/WebProfilerExtension.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use Symfony\Component\VarDumper\Cloner\Data;
1515
use Symfony\Component\VarDumper\Dumper\HtmlDumper;
1616
use Twig\Environment;
17+
use Twig\Extension\EscaperExtension;
1718
use Twig\Extension\ProfilerExtension;
1819
use Twig\Profiler\Profile;
1920
use Twig\TwigFunction;
@@ -84,12 +85,12 @@ public function dumpData(Environment $env, Data $data, int $maxDepth = 0): strin
8485

8586
public function dumpLog(Environment $env, string $message, Data $context = null): string
8687
{
87-
$message = twig_escape_filter($env, $message);
88+
$message = self::escape($env, $message);
8889
$message = preg_replace('/&quot;(.*?)&quot;/', '&quot;<b>$1</b>&quot;', $message);
8990

9091
$replacements = [];
9192
foreach ($context ?? [] as $k => $v) {
92-
$k = '{'.twig_escape_filter($env, $k).'}';
93+
$k = '{'.self::escape($env, $k).'}';
9394
if (str_contains($message, $k)) {
9495
$replacements[$k] = $v;
9596
}
@@ -110,4 +111,14 @@ public function getName(): string
110111
{
111112
return 'profiler';
112113
}
114+
115+
private static function escape(Environment $env, string $s): string
116+
{
117+
if (method_exists(EscaperExtension::class, 'escape')) {
118+
return EscaperExtension::escape($env, $s);
119+
}
120+
121+
// to be removed when support for Twig 3 is dropped
122+
return twig_escape_filter($env, $s);
123+
}
113124
}

0 commit comments

Comments
 (0)