[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@3.143.17.75: ~ $
<?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;
    }
}

Filemanager

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