Skip to content

Commit 089b2ad

Browse files
committed
fix: output of abbr_class macro work with types containing HTML special chars
1 parent e423cdd commit 089b2ad

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

src/Renderer/TwigExtension.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,13 +123,13 @@ public static function abbrClass($class, bool $absolute = false): string
123123
$class = $class->getName();
124124

125125
if ($short === $class && !$absolute) {
126-
return $class;
126+
return htmlspecialchars($class, ENT_QUOTES);
127127
}
128128
} else {
129-
$parts = explode('\\', $class);
129+
$parts = explode('\\', $class, ENT_QUOTES);
130130

131131
if (count($parts) === 1 && !$absolute) {
132-
return $class;
132+
return htmlspecialchars($class);
133133
}
134134

135135
$short = array_pop($parts);

tests/TwigExtensionTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public function testAbbrClassString(): void
2222
$this->assertEquals('<abbr title="TumDoc\Parse">Parse</abbr>', TwigExtension::abbrClass('TumDoc\\Parse'));
2323
$this->assertEquals('Parse', TwigExtension::abbrClass('Parse'));
2424
$this->assertEquals('<abbr title="Parse">Parse</abbr>', TwigExtension::abbrClass('Parse', true));
25-
$this->assertEquals('array<int,string>[]', TwigExtension::abbrClass('array<int,string>[]'));
25+
$this->assertEquals('array&lt;int,string&gt;[]', TwigExtension::abbrClass('array<int,string>[]'));
2626
$this->assertEquals(
2727
'<abbr title="array&lt;int,string&gt;[]">array&lt;int,string&gt;[]</abbr>',
2828
TwigExtension::abbrClass('array<int,string>[]', true)

0 commit comments

Comments
 (0)