<?php /* * 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 Twig_Tests_Node_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(); 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 | 865 B | 0644 |
|
BlockReferenceTest.php | File | 702 B | 0644 |
|
BlockTest.php | File | 896 B | 0644 |
|
DeprecatedTest.php | File | 2.13 KB | 0644 |
|
DoTest.php | File | 780 B | 0644 |
|
ForTest.php | File | 7.47 KB | 0644 |
|
IfTest.php | File | 2.27 KB | 0644 |
|
ImportTest.php | File | 1.08 KB | 0644 |
|
IncludeTest.php | File | 2.66 KB | 0644 |
|
MacroTest.php | File | 1.65 KB | 0644 |
|
ModuleTest.php | File | 6.72 KB | 0644 |
|
PrintTest.php | File | 750 B | 0644 |
|
SandboxTest.php | File | 948 B | 0644 |
|
SetTest.php | File | 2.4 KB | 0644 |
|
SpacelessTest.php | File | 983 B | 0644 |
|
TextTest.php | File | 629 B | 0644 |
|