<?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\AssignNameExpression; use Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\NameExpression; use Twig\Node\Node; use Twig\Node\PrintNode; use Twig\Node\SetNode; use Twig\Node\TextNode; use Twig\Test\NodeTestCase; class SetTest extends NodeTestCase { public function testConstructor() { $names = new Node([new AssignNameExpression('foo', 1)], [], 1); $values = new Node([new ConstantExpression('foo', 1)], [], 1); $node = new SetNode(false, $names, $values, 1); $this->assertEquals($names, $node->getNode('names')); $this->assertEquals($values, $node->getNode('values')); $this->assertFalse($node->getAttribute('capture')); } public function getTests() { $tests = []; $names = new Node([new AssignNameExpression('foo', 1)], [], 1); $values = new Node([new ConstantExpression('foo', 1)], [], 1); $node = new SetNode(false, $names, $values, 1); $tests[] = [$node, <<<EOF // line 1 \$context["foo"] = "foo"; EOF ]; $names = new Node([new AssignNameExpression('foo', 1)], [], 1); $values = new Node([new PrintNode(new ConstantExpression('foo', 1), 1)], [], 1); $node = new SetNode(true, $names, $values, 1); $tests[] = [$node, <<<EOF // line 1 ob_start(function () { return ''; }); echo "foo"; \$context["foo"] = ('' === \$tmp = ob_get_clean()) ? '' : new Markup(\$tmp, \$this->env->getCharset()); EOF ]; $names = new Node([new AssignNameExpression('foo', 1)], [], 1); $values = new TextNode('foo', 1); $node = new SetNode(true, $names, $values, 1); $tests[] = [$node, <<<EOF // line 1 \$context["foo"] = ('' === \$tmp = "foo") ? '' : new Markup(\$tmp, \$this->env->getCharset()); EOF ]; $names = new Node([new AssignNameExpression('foo', 1), new AssignNameExpression('bar', 1)], [], 1); $values = new Node([new ConstantExpression('foo', 1), new NameExpression('bar', 1)], [], 1); $node = new SetNode(false, $names, $values, 1); $tests[] = [$node, <<<EOF // line 1 list(\$context["foo"], \$context["bar"]) = ["foo", {$this->getVariableGetter('bar')}]; EOF ]; return $tests; } }
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 |
|