function LinkGeneratorTest::testGenerateWithHtml
Same name in other branches
- 9 core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php \Drupal\Tests\Core\Utility\LinkGeneratorTest::testGenerateWithHtml()
- 8.9.x core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php \Drupal\Tests\Core\Utility\LinkGeneratorTest::testGenerateWithHtml()
- 10 core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php \Drupal\Tests\Core\Utility\LinkGeneratorTest::testGenerateWithHtml()
Tests the link method with html.
See also
\Drupal\Core\Utility\LinkGenerator::generate()
File
-
core/
tests/ Drupal/ Tests/ Core/ Utility/ LinkGeneratorTest.php, line 424
Class
- LinkGeneratorTest
- @coversDefaultClass \Drupal\Core\Utility\LinkGenerator @group Utility
Namespace
Drupal\Tests\Core\UtilityCode
public function testGenerateWithHtml() : void {
$this->urlGenerator
->expects($this->exactly(2))
->method('generateFromRoute')
->with('test_route_5', [], $this->defaultOptions)
->willReturn((new GeneratedUrl())->setGeneratedUrl('/test-route-5'));
// Test that HTML tags are stripped from the 'title' attribute.
$url = new Url('test_route_5', [], [
'attributes' => [
'title' => '<em>HTML Tooltip</em>',
],
]);
$url->setUrlGenerator($this->urlGenerator);
$result = $this->linkGenerator
->generate('Test', $url);
$this->assertLink([
'attributes' => [
'href' => '/test-route-5',
'title' => 'HTML Tooltip',
],
], $result);
// Test that safe HTML is output inside the anchor tag unescaped. The
// Markup::create() call is an intentional unit test for the interaction
// between MarkupInterface and the LinkGenerator.
$url = new Url('test_route_5', []);
$url->setUrlGenerator($this->urlGenerator);
$result = $this->linkGenerator
->generate(Markup::create('<em>HTML output</em>'), $url);
$this->assertLink([
'attributes' => [
'href' => '/test-route-5',
],
'child' => [
'tag' => 'em',
],
], $result);
$this->assertStringContainsString('<em>HTML output</em>', (string) $result);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.