public function FilterCaptionTwigDebugTest::testCaptionFilter in Drupal 9
Same name and namespace in other branches
- 8 core/modules/filter/tests/src/Kernel/FilterCaptionTwigDebugTest.php \Drupal\Tests\filter\Kernel\FilterCaptionTwigDebugTest::testCaptionFilter()
Tests the caption filter with Twig debugging on.
File
- core/
modules/ filter/ tests/ src/ Kernel/ FilterCaptionTwigDebugTest.php, line 36
Class
- FilterCaptionTwigDebugTest
- Tests the caption filter with Twig debugging on.
Namespace
Drupal\Tests\filter\KernelCode
public function testCaptionFilter() {
$manager = $this->container
->get('plugin.manager.filter');
$bag = new FilterPluginCollection($manager, []);
$filter = $bag
->get('filter_caption');
$renderer = $this->container
->get('renderer');
$test = function ($input) use ($filter, $renderer) {
return $renderer
->executeInRenderContext(new RenderContext(), function () use ($input, $filter) {
return $filter
->process($input, 'und');
});
};
// No data-caption attribute.
$input = '<img src="llama.jpg" />';
$expected = $input;
$this
->assertEquals($expected, $test($input)
->getProcessedText());
// Data-caption attribute.
$input = '<img src="llama.jpg" data-caption="Loquacious llama!" />';
$expected = '<img src="llama.jpg" /><figcaption>Loquacious llama!</figcaption>';
$output = $test($input)
->getProcessedText();
$this
->assertStringContainsString($expected, $output);
$this
->assertStringContainsString("<!-- THEME HOOK: 'filter_caption' -->", $output);
}