<?php namespace Twig\Tests\Node; /* * 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 Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\NameExpression; use Twig\Node\MacroNode; use Twig\Node\Node; use Twig\Node\TextNode; use Twig\Test\NodeTestCase; class MacroTest extends NodeTestCase { public function testConstructor() { $body = new TextNode('foo', 1); $arguments = new Node([new NameExpression('foo', 1)], [], 1); $node = new MacroNode('foo', $body, $arguments, 1); $this->assertEquals($body, $node->getNode('body')); $this->assertEquals($arguments, $node->getNode('arguments')); $this->assertEquals('foo', $node->getAttribute('name')); } public function getTests() { $body = new TextNode('foo', 1); $arguments = new Node([ 'foo' => new ConstantExpression(null, 1), 'bar' => new ConstantExpression('Foo', 1), ], [], 1); $node = new MacroNode('foo', $body, $arguments, 1); return [ [$node, <<<EOF // line 1 public function macro_foo(\$__foo__ = null, \$__bar__ = "Foo", ...\$__varargs__) { \$macros = \$this->macros; \$context = \$this->env->mergeGlobals([ "foo" => \$__foo__, "bar" => \$__bar__, "varargs" => \$__varargs__, ]); \$blocks = []; ob_start(function () { return ''; }); try { echo "foo"; return ('' === \$tmp = ob_get_contents()) ? '' : new Markup(\$tmp, \$this->env->getCharset()); } finally { ob_end_clean(); } } EOF ], ]; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Expression | Folder | 0755 |
|
|
AutoEscapeTest.php | File | 877 B | 0644 |
|
BlockReferenceTest.php | File | 714 B | 0644 |
|
BlockTest.php | File | 939 B | 0644 |
|
DeprecatedTest.php | File | 2.2 KB | 0644 |
|
DoTest.php | File | 792 B | 0644 |
|
ForTest.php | File | 7.48 KB | 0644 |
|
IfTest.php | File | 2.28 KB | 0644 |
|
ImportTest.php | File | 1.13 KB | 0644 |
|
IncludeTest.php | File | 2.81 KB | 0644 |
|
MacroTest.php | File | 1.72 KB | 0644 |
|
ModuleTest.php | File | 6.92 KB | 0644 |
|
PrintTest.php | File | 762 B | 0644 |
|
SandboxTest.php | File | 960 B | 0644 |
|
SetTest.php | File | 2.44 KB | 0644 |
|
SpacelessTest.php | File | 1021 B | 0644 |
|
TextTest.php | File | 641 B | 0644 |
|