Dotclear

source: inc/libs/Twig/Test/NodeTestCase.php @ 1149:1657e862089c

Revision 1149:1657e862089c, 1.6 KB checked in by dsls, 13 years ago (diff)

Fixed unix case-sensitive twig directory

Line 
1<?php
2
3/*
4 * This file is part of Twig.
5 *
6 * (c) Fabien Potencier
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11abstract class Twig_Test_NodeTestCase extends PHPUnit_Framework_TestCase
12{
13    abstract public function getTests();
14
15    /**
16     * @dataProvider getTests
17     */
18    public function testCompile($node, $source, $environment = null)
19    {
20        $this->assertNodeCompilation($source, $node, $environment);
21    }
22
23    public function assertNodeCompilation($source, Twig_Node $node, Twig_Environment $environment = null)
24    {
25        $compiler = $this->getCompiler($environment);
26        $compiler->compile($node);
27
28        $this->assertEquals($source, trim($compiler->getSource()));
29    }
30
31    protected function getCompiler(Twig_Environment $environment = null)
32    {
33        return new Twig_Compiler(null === $environment ? $this->getEnvironment() : $environment);
34    }
35
36    protected function getEnvironment()
37    {
38        return new Twig_Environment();
39    }
40
41    protected function getVariableGetter($name)
42    {
43        if (version_compare(phpversion(), '5.4.0RC1', '>=')) {
44            return sprintf('(isset($context["%s"]) ? $context["%s"] : null)', $name, $name);
45        }
46
47        return sprintf('$this->getContext($context, "%s")', $name);
48    }
49
50    protected function getAttributeGetter()
51    {
52        if (function_exists('twig_template_get_attributes')) {
53            return 'twig_template_get_attributes($this, ';
54        }
55
56        return '$this->getAttribute(';
57    }
58}
Note: See TracBrowser for help on using the repository browser.

Sites map