TwigNamespaceTest.php in Zircon Profile 8.0
File
core/modules/system/src/Tests/Theme/TwigNamespaceTest.php
View source
<?php
namespace Drupal\system\Tests\Theme;
use Drupal\simpletest\WebTestBase;
class TwigNamespaceTest extends WebTestBase {
public static $modules = array(
'twig_theme_test',
'twig_namespace_a',
'twig_namespace_b',
'node',
);
protected $twig;
protected function setUp() {
parent::setUp();
\Drupal::service('theme_handler')
->install(array(
'test_theme',
'bartik',
));
$this->twig = \Drupal::service('twig');
}
public function assertTwigTemplate($value, $message = '', $group = 'Other') {
$this
->assertTrue($value instanceof \Twig_Template, $message, $group);
}
public function testTemplateDiscovery() {
$this
->assertTwigTemplate($this->twig
->resolveTemplate('@node/node.html.twig'), 'Found node.html.twig in node module.');
$this
->assertTwigTemplate($this->twig
->resolveTemplate('@bartik/page.html.twig'), 'Found page.html.twig in Bartik theme.');
}
public function testTwigNamespaces() {
$test = array(
'#theme' => 'twig_namespace_test',
);
$this
->setRawContent(\Drupal::service('renderer')
->renderRoot($test));
$this
->assertText('This line is from twig_namespace_a/templates/test.html.twig');
$this
->assertText('This line is from twig_namespace_b/templates/test.html.twig');
}
}