<?php namespace Twig\Tests; /* * This file is part of Twig. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ use PHPUnit\Framework\TestCase; use Twig\Environment; use Twig\Loader\ArrayLoader; class TemplateWrapperTest extends TestCase { public function testHasGetBlocks() { $twig = new Environment(new ArrayLoader([ 'index' => '{% block foo %}{% endblock %}', 'index_with_use' => '{% use "imported" %}{% block foo %}{% endblock %}', 'index_with_extends' => '{% extends "extended" %}{% block foo %}{% endblock %}', 'imported' => '{% block imported %}{% endblock %}', 'extended' => '{% block extended %}{% endblock %}', ])); $wrapper = $twig->load('index'); $this->assertTrue($wrapper->hasBlock('foo')); $this->assertFalse($wrapper->hasBlock('bar')); $this->assertEquals(['foo'], $wrapper->getBlockNames()); $wrapper = $twig->load('index_with_use'); $this->assertTrue($wrapper->hasBlock('foo')); $this->assertTrue($wrapper->hasBlock('imported')); $this->assertEquals(['imported', 'foo'], $wrapper->getBlockNames()); $wrapper = $twig->load('index_with_extends'); $this->assertTrue($wrapper->hasBlock('foo')); $this->assertTrue($wrapper->hasBlock('extended')); $this->assertEquals(['foo', 'extended'], $wrapper->getBlockNames()); } public function testRenderBlock() { $twig = new Environment(new ArrayLoader([ 'index' => '{% block foo %}{{ foo }}{{ bar }}{% endblock %}', ])); $twig->addGlobal('bar', 'BAR'); $wrapper = $twig->load('index'); $this->assertEquals('FOOBAR', $wrapper->renderBlock('foo', ['foo' => 'FOO'])); } public function testDisplayBlock() { $twig = new Environment(new ArrayLoader([ 'index' => '{% block foo %}{{ foo }}{{ bar }}{% endblock %}', ])); $twig->addGlobal('bar', 'BAR'); $wrapper = $twig->load('index'); ob_start(); $wrapper->displayBlock('foo', ['foo' => 'FOO']); $this->assertEquals('FOOBAR', ob_get_clean()); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Cache | Folder | 0755 |
|
|
Extension | Folder | 0755 |
|
|
Fixtures | Folder | 0755 |
|
|
Loader | Folder | 0755 |
|
|
Node | Folder | 0755 |
|
|
NodeVisitor | Folder | 0755 |
|
|
Profiler | Folder | 0755 |
|
|
Util | Folder | 0755 |
|
|
CompilerTest.php | File | 1.17 KB | 0644 |
|
ContainerRuntimeLoaderTest.php | File | 1.16 KB | 0644 |
|
CustomExtensionTest.php | File | 1.83 KB | 0644 |
|
EnvironmentTest.php | File | 16.49 KB | 0644 |
|
ErrorTest.php | File | 7.42 KB | 0644 |
|
ExpressionParserTest.php | File | 13.51 KB | 0644 |
|
FactoryRuntimeLoaderTest.php | File | 786 B | 0644 |
|
FileExtensionEscapingStrategyTest.php | File | 1.3 KB | 0644 |
|
FilesystemHelper.php | File | 700 B | 0644 |
|
IntegrationTest.php | File | 8.73 KB | 0644 |
|
LexerTest.php | File | 13.22 KB | 0644 |
|
ParserTest.php | File | 5.98 KB | 0644 |
|
TemplateTest.php | File | 23.47 KB | 0644 |
|
TemplateWrapperTest.php | File | 2.24 KB | 0644 |
|
TokenStreamTest.php | File | 1.93 KB | 0644 |
|