Вход Регистрация
Файл: symfony-2.7/src/Symfony/Bridge/Twig/Tests/Node/DumpNodeTest.php
Строк: 91
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyBridgeTwigTestsNode;

use 
SymfonyBridgeTwigNodeDumpNode;

class 
DumpNodeTest extends PHPUnit_Framework_TestCase
{
    public function 
testNoVar()
    {
        
$node = new DumpNode('bar'null7);

        
$env = new Twig_Environment();
        
$compiler = new Twig_Compiler($env);

        
$expected = <<<'EOTXT'
if ($this->env->isDebug()) {
    $barvars = array();
    foreach ($context as $barkey => $barval) {
        if (!$barval instanceof Twig_Template) {
            $barvars[$barkey] = $barval;
        }
    }
    // line 7
    SymfonyComponentVarDumperVarDumper::dump($barvars);
}

EOTXT;

        
$this->assertSame($expected$compiler->compile($node)->getSource());
    }

    public function 
testOneVar()
    {
        
$vars = new Twig_Node(array(
            new 
Twig_Node_Expression_Name('foo'7),
        ));
        
$node = new DumpNode('bar'$vars7);

        
$env = new Twig_Environment();
        
$compiler = new Twig_Compiler($env);

        
$expected = <<<'EOTXT'
if ($this->env->isDebug()) {
    // line 7
    SymfonyComponentVarDumperVarDumper::dump(%foo%);
}

EOTXT;
        
$expected preg_replace('/%(.*?)%/'version_compare(PHP_VERSION'5.4.0') >= '(isset($context["$1"]) ? $context["$1"] : null)' '$this->getContext($context, "$1")'$expected);

        
$this->assertSame($expected$compiler->compile($node)->getSource());
    }

    public function 
testMultiVars()
    {
        
$vars = new Twig_Node(array(
            new 
Twig_Node_Expression_Name('foo'7),
            new 
Twig_Node_Expression_Name('bar'7),
        ));
        
$node = new DumpNode('bar'$vars7);

        
$env = new Twig_Environment();
        
$compiler = new Twig_Compiler($env);

        
$expected = <<<'EOTXT'
if ($this->env->isDebug()) {
    // line 7
    SymfonyComponentVarDumperVarDumper::dump(array(
        "foo" => %foo%,
        "bar" => %bar%,
    ));
}

EOTXT;
        
$expected preg_replace('/%(.*?)%/'version_compare(PHP_VERSION'5.4.0') >= '(isset($context["$1"]) ? $context["$1"] : null)' '$this->getContext($context, "$1")'$expected);

        
$this->assertSame($expected$compiler->compile($node)->getSource());
    }
}
Онлайн: 2
Реклама