mirror of
https://github.com/twigphp/Twig.git
synced 2026-10-09 13:25:41 +00:00
moved test under tests/
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
<?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\ArrayExpression;
|
||||
use Twig\Node\Expression\ConditionalExpression;
|
||||
use Twig\Node\Expression\ConstantExpression;
|
||||
use Twig\Node\IncludeNode;
|
||||
use Twig\Test\NodeTestCase;
|
||||
|
||||
class IncludeTest extends NodeTestCase
|
||||
{
|
||||
public function testConstructor()
|
||||
{
|
||||
$expr = new ConstantExpression('foo.twig', 1);
|
||||
$node = new IncludeNode($expr, null, false, false, 1);
|
||||
|
||||
$this->assertFalse($node->hasNode('variables'));
|
||||
$this->assertEquals($expr, $node->getNode('expr'));
|
||||
$this->assertFalse($node->getAttribute('only'));
|
||||
|
||||
$vars = new ArrayExpression([new ConstantExpression('foo', 1), new ConstantExpression(true, 1)], 1);
|
||||
$node = new IncludeNode($expr, $vars, true, false, 1);
|
||||
$this->assertEquals($vars, $node->getNode('variables'));
|
||||
$this->assertTrue($node->getAttribute('only'));
|
||||
}
|
||||
|
||||
public function getTests()
|
||||
{
|
||||
$tests = [];
|
||||
|
||||
$expr = new ConstantExpression('foo.twig', 1);
|
||||
$node = new IncludeNode($expr, null, false, false, 1);
|
||||
$tests[] = [$node, <<<EOF
|
||||
// line 1
|
||||
\$this->loadTemplate("foo.twig", null, 1)->display(\$context);
|
||||
EOF
|
||||
];
|
||||
|
||||
$expr = new ConditionalExpression(
|
||||
new ConstantExpression(true, 1),
|
||||
new ConstantExpression('foo', 1),
|
||||
new ConstantExpression('foo', 1),
|
||||
0
|
||||
);
|
||||
$node = new IncludeNode($expr, null, false, false, 1);
|
||||
$tests[] = [$node, <<<EOF
|
||||
// line 1
|
||||
\$this->loadTemplate(((true) ? ("foo") : ("foo")), null, 1)->display(\$context);
|
||||
EOF
|
||||
];
|
||||
|
||||
$expr = new ConstantExpression('foo.twig', 1);
|
||||
$vars = new ArrayExpression([new ConstantExpression('foo', 1), new ConstantExpression(true, 1)], 1);
|
||||
$node = new IncludeNode($expr, $vars, false, false, 1);
|
||||
$tests[] = [$node, <<<EOF
|
||||
// line 1
|
||||
\$this->loadTemplate("foo.twig", null, 1)->display(twig_array_merge(\$context, ["foo" => true]));
|
||||
EOF
|
||||
];
|
||||
|
||||
$node = new IncludeNode($expr, $vars, true, false, 1);
|
||||
$tests[] = [$node, <<<EOF
|
||||
// line 1
|
||||
\$this->loadTemplate("foo.twig", null, 1)->display(twig_to_array(["foo" => true]));
|
||||
EOF
|
||||
];
|
||||
|
||||
$node = new IncludeNode($expr, $vars, true, true, 1);
|
||||
$tests[] = [$node, <<<EOF
|
||||
// line 1
|
||||
\$__internal_%s = null;
|
||||
try {
|
||||
\$__internal_%s = \$this->loadTemplate("foo.twig", null, 1);
|
||||
} catch (LoaderError \$e) {
|
||||
// ignore missing template
|
||||
}
|
||||
if (\$__internal_%s) {
|
||||
\$__internal_%s->display(twig_to_array(["foo" => true]));
|
||||
}
|
||||
EOF
|
||||
, null, true];
|
||||
|
||||
return $tests;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user