container->getParameter('twig.config');
if (!$parameters['debug']) {
$parameters['debug'] = TRUE;
$this->setContainerParameter('twig.config', $parameters);
$this->rebuildContainer();
$this->resetAll();
}
}
/**
* Disables Twig debugging.
*/
protected function debugOff() {
// Disable debug, rebuild the service container, and clear all caches.
$parameters = $this->container->getParameter('twig.config');
if ($parameters['debug']) {
$parameters['debug'] = FALSE;
$this->setContainerParameter('twig.config', $parameters);
$this->rebuildContainer();
$this->resetAll();
}
}
/**
* {@inheritdoc}
*/
protected function setUp() {
parent::setUp();
$this->debugOn();
$manager = $this->container->get('plugin.manager.filter');
$bag = new FilterPluginCollection($manager, []);
$this->filters = $bag->getAll();
}
/**
* {@inheritdoc}
*/
protected function tearDown() {
$this->debugOff();
}
/**
* Test the caption filter with Twig debugging on.
*/
public function testCaptionFilter() {
/** @var \Drupal\Core\Render\RendererInterface $renderer */
$renderer = \Drupal::service('renderer');
$filter = $this->filters['filter_caption'];
$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 = '
';
$expected = $input;
$this->assertIdentical($expected, $test($input)->getProcessedText());
// Data-caption attribute.
$input = '
';
$expected = '
Loquacious llama!';
$output = $test($input);
$output = $output->getProcessedText();
$this->assertTrue(strpos($output, $expected) !== FALSE, "\"$output\" contains \"$expected\"");
$this->assertTrue(strpos($output, '') !== FALSE, 'filter_caption theme hook debug comment is present.');
}
}