4 * This file is part of Twig.
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 class Twig_Tests_Node_Expression_NameTest
extends Twig_Test_NodeTestCase
15 * @covers Twig_Node_Expression_Name::__construct
17 public function testConstructor()
19 $node = new Twig_Node_Expression_Name('foo', 1);
21 $this->assertEquals('foo', $node->getAttribute('name'));
25 * @covers Twig_Node_Expression_Name::compile
26 * @dataProvider getTests
28 public function testCompile($node, $source, $environment = null)
30 parent
::testCompile($node, $source, $environment);
33 public function getTests()
35 $node = new Twig_Node_Expression_Name('foo', 1);
36 $self = new Twig_Node_Expression_Name('_self', 1);
37 $context = new Twig_Node_Expression_Name('_context', 1);
39 $env = new Twig_Environment(null, array('strict_variables' => true));
40 $env1 = new Twig_Environment(null, array('strict_variables' => false));
43 version_compare(PHP_VERSION
, '5.4.0') >= 0 ? array($node, '(isset($context["foo"]) ? $context["foo"] : $this->getContext($context, "foo"))', $env) : array($node, '$this->getContext($context, "foo")', $env),
44 array($node, $this->getVariableGetter('foo'), $env1),
45 array($self, '$this'),
46 array($context, '$context'),