Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Made node tests reusable

  • Loading branch information...
commit 36372c61d3992fb635eb5cc197b190985b86bff9 1 parent c38e06f
Drak authored
Showing with 338 additions and 310 deletions.
  1. +46 −0 doc/advanced.rst
  2. +25 −198 test/Twig/Tests/integrationTest.php → lib/Twig/Test/IntegrationTestCase.php
  3. +1 −1  test/Twig/Tests/Node/TestCase.php → lib/Twig/Test/NodeTestCase.php
  4. +1 −1  test/Twig/Tests/Fixtures/expressions/method_call.test
  5. +2 −2 test/Twig/Tests/Fixtures/filters/default.test
  6. +1 −1  test/Twig/Tests/Fixtures/filters/join.test
  7. +1 −1  test/Twig/Tests/Fixtures/functions/attribute.test
  8. +2 −2 test/Twig/Tests/Fixtures/tests/constant.test
  9. +2 −2 test/Twig/Tests/Fixtures/tests/defined.test
  10. +2 −2 test/Twig/Tests/Fixtures/tests/in_with_objects.test
  11. +216 −0 test/Twig/Tests/IntegrationTest.php
  12. +1 −2  test/Twig/Tests/Node/AutoEscapeTest.php
  13. +1 −2  test/Twig/Tests/Node/BlockReferenceTest.php
  14. +1 −2  test/Twig/Tests/Node/BlockTest.php
  15. +1 −2  test/Twig/Tests/Node/DoTest.php
  16. +1 −3 test/Twig/Tests/Node/Expression/ArrayTest.php
  17. +1 −3 test/Twig/Tests/Node/Expression/AssignNameTest.php
  18. +1 −3 test/Twig/Tests/Node/Expression/Binary/AddTest.php
  19. +1 −3 test/Twig/Tests/Node/Expression/Binary/AndTest.php
  20. +1 −3 test/Twig/Tests/Node/Expression/Binary/ConcatTest.php
  21. +1 −3 test/Twig/Tests/Node/Expression/Binary/DivTest.php
  22. +1 −3 test/Twig/Tests/Node/Expression/Binary/FloorDivTest.php
  23. +1 −3 test/Twig/Tests/Node/Expression/Binary/ModTest.php
  24. +1 −3 test/Twig/Tests/Node/Expression/Binary/MulTest.php
  25. +1 −3 test/Twig/Tests/Node/Expression/Binary/OrTest.php
  26. +1 −3 test/Twig/Tests/Node/Expression/Binary/SubTest.php
  27. +1 −3 test/Twig/Tests/Node/Expression/ConditionalTest.php
  28. +1 −3 test/Twig/Tests/Node/Expression/ConstantTest.php
  29. +1 −3 test/Twig/Tests/Node/Expression/FilterTest.php
  30. +1 −3 test/Twig/Tests/Node/Expression/FunctionTest.php
  31. +1 −3 test/Twig/Tests/Node/Expression/GetAttrTest.php
  32. +1 −3 test/Twig/Tests/Node/Expression/NameTest.php
  33. +1 −3 test/Twig/Tests/Node/Expression/ParentTest.php
  34. +1 −3 test/Twig/Tests/Node/Expression/TestTest.php
  35. +1 −3 test/Twig/Tests/Node/Expression/Unary/NegTest.php
  36. +1 −3 test/Twig/Tests/Node/Expression/Unary/NotTest.php
  37. +1 −3 test/Twig/Tests/Node/Expression/Unary/PosTest.php
  38. +1 −2  test/Twig/Tests/Node/ForTest.php
  39. +1 −2  test/Twig/Tests/Node/IfTest.php
  40. +1 −2  test/Twig/Tests/Node/ImportTest.php
  41. +1 −2  test/Twig/Tests/Node/IncludeTest.php
  42. +1 −2  test/Twig/Tests/Node/MacroTest.php
  43. +1 −2  test/Twig/Tests/Node/ModuleTest.php
  44. +1 −2  test/Twig/Tests/Node/PrintTest.php
  45. +1 −2  test/Twig/Tests/Node/SandboxTest.php
  46. +1 −2  test/Twig/Tests/Node/SandboxedModuleTest.php
  47. +1 −2  test/Twig/Tests/Node/SandboxedPrintTest.php
  48. +1 −2  test/Twig/Tests/Node/SetTest.php
  49. +1 −2  test/Twig/Tests/Node/SpacelessTest.php
  50. +1 −2  test/Twig/Tests/Node/TextTest.php
View
46 doc/advanced.rst
@@ -832,5 +832,51 @@ The ``getTests()`` methods allows to add new test functions::
// ...
}
+Functional Tests
+~~~~~~~~~~~~~~~~
+
+You can create functional tests for extensions simply by creating the following file structure
+in your test directory::
+
+ Fixtures/
+ filters/
+ foo.test
+ bar.test
+ functions/
+ foo.test
+ bar.test
+ tags/
+ foo.test
+ bar.test
+ IntegrationTest.php
+
+The ``IntegrationTest.php`` file should look like this::
+
+ class Project_Tests_IntegrationTest extends Twig_Test_IntegrationTestCase
+ {
+ public function getExtensions()
+ {
+ return array(
+ new Project_Twig_Extension1(),
+ new Project_Twig_Extension2(),
+ );
+ }
+
+ public function getFixturesDir()
+ {
+ return dirname(__FILE__).'/Fixtures/';
+ }
+ }
+
+Fixtures examples can be found within the Twig repository ``tests/Twig/Fixtures`` directory.
+
+Node Tests
+~~~~~~~~~~
+
+Testing the node visitors can be complex, so extend your test cases from
+``Twig_Test_NodeTestCase``. Examples can be found in the Twig repository ``tests/Twig/Node`` directory.
+
.. _`spl_autoload_register()`: http://www.php.net/spl_autoload_register
.. _`rot13`: http://www.php.net/manual/en/function.str-rot13.php
+.. _`tests/Twig/Fixtures`: https://github.com/fabpot/Twig/tree/master/test/Twig/Tests/Fixtures
+.. _`tests/Twig/Node`: https://github.com/fabpot/Twig/tree/master/test/Twig/Tests/Node
View
223 test/Twig/Tests/integrationTest.php → lib/Twig/Test/IntegrationTestCase.php
@@ -3,24 +3,35 @@
/*
* This file is part of Twig.
*
- * (c) Fabien Potencier
+ * (c) 2010 Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
-// This function is defined to check that escaping strategies
-// like html works even if a function with the same name is defined.
-function html()
+/**
+ * Integration test helper
+ *
+ * @package twig
+ * @author Fabien Potencier <fabien@symfony.com>
+ * @author Karma Dordrak <drak@zikula.org>
+ */
+abstract class Twig_Test_IntegrationTestCase extends PHPUnit_Framework_TestCase
{
- return 'foo';
-}
+ abstract protected function getExtensions();
+ abstract protected function getFixturesDir();
+
+ /**
+ * @dataProvider getTests
+ */
+ public function testIntegration($file, $message, $condition, $templates, $exception, $outputs)
+ {
+ $this->doIntegrationTest($file, $message, $condition, $templates, $exception, $outputs);
+ }
-class Twig_Tests_IntegrationTest extends PHPUnit_Framework_TestCase
-{
public function getTests()
{
- $fixturesDir = realpath(dirname(__FILE__).'/Fixtures/');
+ $fixturesDir = realpath($this->getFixturesDir());
$tests = array();
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($fixturesDir), RecursiveIteratorIterator::LEAVES_ONLY) as $file) {
@@ -53,10 +64,7 @@ public function getTests()
return $tests;
}
- /**
- * @dataProvider getTests
- */
- public function testIntegration($file, $message, $condition, $templates, $exception, $outputs)
+ protected function doIntegrationTest($file, $message, $condition, $templates, $exception, $outputs)
{
if ($condition) {
eval('$ret = '.$condition.';');
@@ -73,11 +81,10 @@ public function testIntegration($file, $message, $condition, $templates, $except
'strict_variables' => true,
), $match[2] ? eval($match[2].';') : array());
$twig = new Twig_Environment($loader, $config);
- $twig->addExtension(new TestExtension());
- $twig->addExtension(new Twig_Extension_Debug());
- $policy = new Twig_Sandbox_SecurityPolicy(array(), array(), array(), array(), array());
- $twig->addExtension(new Twig_Extension_Sandbox($policy, false));
$twig->addGlobal('global', 'global');
+ foreach ($this->getExtensions() as $extension) {
+ $twig->addExtension($extension);
+ }
try {
$template = $twig->loadTemplate('index.twig');
@@ -135,7 +142,7 @@ public function testIntegration($file, $message, $condition, $templates, $except
}
}
- protected function parseTemplates($test)
+ protected static function parseTemplates($test)
{
$templates = array();
preg_match_all('/--TEMPLATE(?:\((.*?)\))?--(.*?)(?=\-\-TEMPLATE|$)/s', $test, $matches, PREG_SET_ORDER);
@@ -146,183 +153,3 @@ protected function parseTemplates($test)
return $templates;
}
}
-
-function test_foo($value = 'foo')
-{
- return $value;
-}
-
-class Foo implements Iterator
-{
- const BAR_NAME = 'bar';
-
- public $position = 0;
- public $array = array(1, 2);
-
- public function bar($param1 = null, $param2 = null)
- {
- return 'bar'.($param1 ? '_'.$param1 : '').($param2 ? '-'.$param2 : '');
- }
-
- public function getFoo()
- {
- return 'foo';
- }
-
- public function getSelf()
- {
- return $this;
- }
-
- public function is()
- {
- return 'is';
- }
-
- public function in()
- {
- return 'in';
- }
-
- public function not()
- {
- return 'not';
- }
-
- public function strToLower($value)
- {
- return strtolower($value);
- }
-
- public function rewind()
- {
- $this->position = 0;
- }
-
- public function current()
- {
- return $this->array[$this->position];
- }
-
- public function key()
- {
- return 'a';
- }
-
- public function next()
- {
- ++$this->position;
- }
-
- public function valid()
- {
- return isset($this->array[$this->position]);
- }
-}
-
-class TestTokenParser_extends Twig_TokenParser
-{
- public function parse(Twig_Token $token)
- {
- $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
-
- return new Twig_Node_Print(new Twig_Node_Expression_Constant('', -1), -1);
- }
-
- public function getTag()
- {
- return '';
- }
-}
-
-class TestExtension extends Twig_Extension
-{
- public function getTokenParsers()
- {
- return array(
- new TestTokenParser_☃(),
- );
- }
-
- public function getFilters()
- {
- return array(
- '' => new Twig_Filter_Method($this, '☃Filter'),
- 'escape_and_nl2br' => new Twig_Filter_Method($this, 'escape_and_nl2br', array('needs_environment' => true, 'is_safe' => array('html'))),
- 'nl2br' => new Twig_Filter_Method($this, 'nl2br', array('pre_escape' => 'html', 'is_safe' => array('html'))),
- 'escape_something' => new Twig_Filter_Method($this, 'escape_something', array('is_safe' => array('something'))),
- 'preserves_safety' => new Twig_Filter_Method($this, 'preserves_safety', array('preserves_safety' => array('html'))),
- '*_path' => new Twig_Filter_Method($this, 'dynamic_path'),
- '*_foo_*_bar' => new Twig_Filter_Method($this, 'dynamic_foo'),
- );
- }
-
- public function getFunctions()
- {
- return array(
- '' => new Twig_Function_Method($this, '☃Function'),
- 'safe_br' => new Twig_Function_Method($this, 'br', array('is_safe' => array('html'))),
- 'unsafe_br' => new Twig_Function_Method($this, 'br'),
- '*_path' => new Twig_Function_Method($this, 'dynamic_path'),
- '*_foo_*_bar' => new Twig_Function_Method($this, 'dynamic_foo'),
- );
- }
-
- public function ☃Filter($value)
- {
- return "☃{$value}☃";
- }
-
- public functionFunction($value)
- {
- return "☃{$value}☃";
- }
-
- /**
- * nl2br which also escapes, for testing escaper filters
- */
- public function escape_and_nl2br($env, $value, $sep = '<br />')
- {
- return $this->nl2br(twig_escape_filter($env, $value, 'html'), $sep);
- }
-
- /**
- * nl2br only, for testing filters with pre_escape
- */
- public function nl2br($value, $sep = '<br />')
- {
- // not secure if $value contains html tags (not only entities)
- // don't use
- return str_replace("\n", "$sep\n", $value);
- }
-
- public function dynamic_path($element, $item)
- {
- return $element.'/'.$item;
- }
-
- public function dynamic_foo($foo, $bar, $item)
- {
- return $foo.'/'.$bar.'/'.$item;
- }
-
- public function escape_something($value)
- {
- return strtoupper($value);
- }
-
- public function preserves_safety($value)
- {
- return strtoupper($value);
- }
-
- public function br()
- {
- return '<br />';
- }
-
- public function getName()
- {
- return 'test';
- }
-}
View
2  test/Twig/Tests/Node/TestCase.php → lib/Twig/Test/NodeTestCase.php
@@ -8,7 +8,7 @@
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
-abstract class Twig_Tests_Node_TestCase extends PHPUnit_Framework_TestCase
+abstract class Twig_Test_NodeTestCase extends PHPUnit_Framework_TestCase
{
abstract public function getTests();
View
2  test/Twig/Tests/Fixtures/expressions/method_call.test
@@ -12,7 +12,7 @@ Twig supports method calls
{{ items.foo.in }}
{{ items.foo.not }}
--DATA--
-return array('foo' => 'bar', 'items' => array('foo' => new Foo(), 'bar' => 'foo'))
+return array('foo' => 'bar', 'items' => array('foo' => new TwigTestFoo(), 'bar' => 'foo'))
--CONFIG--
return array('strict_variables' => false)
--EXPECT--
View
4 test/Twig/Tests/Fixtures/filters/default.test
@@ -51,7 +51,7 @@ return array(
'nullVar' => null,
'definedArray' => array(0),
),
- 'object' => new Foo(),
+ 'object' => new TwigTestFoo(),
)
--CONFIG--
return array('strict_variables' => false)
@@ -106,7 +106,7 @@ return array(
'nullVar' => null,
'definedArray' => array(0),
),
- 'object' => new Foo(),
+ 'object' => new TwigTestFoo(),
)
--CONFIG--
return array('strict_variables' => true)
View
2  test/Twig/Tests/Fixtures/filters/join.test
@@ -5,7 +5,7 @@
{{ foo|join(', ') }}
{{ bar|join(', ') }}
--DATA--
-return array('foo' => new Foo(), 'bar' => new ArrayObject(array(3, 4)))
+return array('foo' => new TwigTestFoo(), 'bar' => new ArrayObject(array(3, 4)))
--EXPECT--
foo, bar
1, 2
View
2  test/Twig/Tests/Fixtures/functions/attribute.test
@@ -5,7 +5,7 @@
{{ attribute(array, item) }}
{{ attribute(obj, "bar", ["a", "b"]) }}
--DATA--
-return array('obj' => new Foo(), 'method' => 'foo', 'array' => array('foo' => 'bar'), 'item' => 'foo')
+return array('obj' => new TwigTestFoo(), 'method' => 'foo', 'array' => array('foo' => 'bar'), 'item' => 'foo')
--EXPECT--
foo
bar
View
4 test/Twig/Tests/Fixtures/tests/constant.test
@@ -2,8 +2,8 @@
"const" test
--TEMPLATE--
{{ 8 is constant('E_NOTICE') ? 'ok' : 'no' }}
-{{ 'bar' is constant('Foo::BAR_NAME') ? 'ok' : 'no' }}
-{{ value is constant('Foo::BAR_NAME') ? 'ok' : 'no' }}
+{{ 'bar' is constant('TwigTestFoo::BAR_NAME') ? 'ok' : 'no' }}
+{{ value is constant('TwigTestFoo::BAR_NAME') ? 'ok' : 'no' }}
--DATA--
return array('value' => 'bar');
--EXPECT--
View
4 test/Twig/Tests/Fixtures/tests/defined.test
@@ -37,7 +37,7 @@ return array(
'nullVar' => null,
'definedArray' => array(0),
),
- 'object' => new Foo(),
+ 'object' => new TwigTestFoo(),
);
--EXPECT--
ok
@@ -76,7 +76,7 @@ return array(
'nullVar' => null,
'definedArray' => array(0),
),
- 'object' => new Foo(),
+ 'object' => new TwigTestFoo(),
);
--CONFIG--
return array('strict_variables' => false)
View
4 test/Twig/Tests/Fixtures/tests/in_with_objects.test
@@ -5,8 +5,8 @@ Twig supports the in operator when using objects
TRUE
{% endif %}
--DATA--
-$foo = new Foo();
-$foo1 = new Foo();
+$foo = new TwigTestFoo();
+$foo1 = new TwigTestFoo();
$foo->position = $foo1;
$foo1->position = $foo;
View
216 test/Twig/Tests/IntegrationTest.php
@@ -0,0 +1,216 @@
+<?php
+
+/*
+ * 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.
+ */
+
+// This function is defined to check that escaping strategies
+// like html works even if a function with the same name is defined.
+function html()
+{
+ return 'foo';
+}
+
+class Twig_Tests_IntegrationTest extends Twig_Test_IntegrationTestCase
+{
+ public function getExtensions()
+ {
+ $policy = new Twig_Sandbox_SecurityPolicy(array(), array(), array(), array(), array());
+
+ return array(
+ new Twig_Extension_Debug(),
+ new Twig_Extension_Sandbox($policy, false),
+ new TwigTestExtension(),
+ );
+ }
+
+ public function getFixturesDir()
+ {
+ return dirname(__FILE__).'/Fixtures/';
+ }
+}
+
+function test_foo($value = 'foo')
+{
+ return $value;
+}
+
+class TwigTestFoo implements Iterator
+{
+ const BAR_NAME = 'bar';
+
+ public $position = 0;
+ public $array = array(1, 2);
+
+ public function bar($param1 = null, $param2 = null)
+ {
+ return 'bar'.($param1 ? '_'.$param1 : '').($param2 ? '-'.$param2 : '');
+ }
+
+ public function getFoo()
+ {
+ return 'foo';
+ }
+
+ public function getSelf()
+ {
+ return $this;
+ }
+
+ public function is()
+ {
+ return 'is';
+ }
+
+ public function in()
+ {
+ return 'in';
+ }
+
+ public function not()
+ {
+ return 'not';
+ }
+
+ public function strToLower($value)
+ {
+ return strtolower($value);
+ }
+
+ public function rewind()
+ {
+ $this->position = 0;
+ }
+
+ public function current()
+ {
+ return $this->array[$this->position];
+ }
+
+ public function key()
+ {
+ return 'a';
+ }
+
+ public function next()
+ {
+ ++$this->position;
+ }
+
+ public function valid()
+ {
+ return isset($this->array[$this->position]);
+ }
+}
+
+class TwigTestTokenParser_extends Twig_TokenParser
+{
+ public function parse(Twig_Token $token)
+ {
+ $this->parser->getStream()->expect(Twig_Token::BLOCK_END_TYPE);
+
+ return new Twig_Node_Print(new Twig_Node_Expression_Constant('', -1), -1);
+ }
+
+ public function getTag()
+ {
+ return '';
+ }
+}
+
+class TwigTestExtension extends Twig_Extension
+{
+ public function getTokenParsers()
+ {
+ return array(
+ new TwigTestTokenParser_☃(),
+ );
+ }
+
+ public function getFilters()
+ {
+ return array(
+ '' => new Twig_Filter_Method($this, '☃Filter'),
+ 'escape_and_nl2br' => new Twig_Filter_Method($this, 'escape_and_nl2br', array('needs_environment' => true, 'is_safe' => array('html'))),
+ 'nl2br' => new Twig_Filter_Method($this, 'nl2br', array('pre_escape' => 'html', 'is_safe' => array('html'))),
+ 'escape_something' => new Twig_Filter_Method($this, 'escape_something', array('is_safe' => array('something'))),
+ 'preserves_safety' => new Twig_Filter_Method($this, 'preserves_safety', array('preserves_safety' => array('html'))),
+ '*_path' => new Twig_Filter_Method($this, 'dynamic_path'),
+ '*_foo_*_bar' => new Twig_Filter_Method($this, 'dynamic_foo'),
+ );
+ }
+
+ public function getFunctions()
+ {
+ return array(
+ '' => new Twig_Function_Method($this, '☃Function'),
+ 'safe_br' => new Twig_Function_Method($this, 'br', array('is_safe' => array('html'))),
+ 'unsafe_br' => new Twig_Function_Method($this, 'br'),
+ '*_path' => new Twig_Function_Method($this, 'dynamic_path'),
+ '*_foo_*_bar' => new Twig_Function_Method($this, 'dynamic_foo'),
+ );
+ }
+
+ public function ☃Filter($value)
+ {
+ return "☃{$value}☃";
+ }
+
+ public functionFunction($value)
+ {
+ return "☃{$value}☃";
+ }
+
+ /**
+ * nl2br which also escapes, for testing escaper filters
+ */
+ public function escape_and_nl2br($env, $value, $sep = '<br />')
+ {
+ return $this->nl2br(twig_escape_filter($env, $value, 'html'), $sep);
+ }
+
+ /**
+ * nl2br only, for testing filters with pre_escape
+ */
+ public function nl2br($value, $sep = '<br />')
+ {
+ // not secure if $value contains html tags (not only entities)
+ // don't use
+ return str_replace("\n", "$sep\n", $value);
+ }
+
+ public function dynamic_path($element, $item)
+ {
+ return $element.'/'.$item;
+ }
+
+ public function dynamic_foo($foo, $bar, $item)
+ {
+ return $foo.'/'.$bar.'/'.$item;
+ }
+
+ public function escape_something($value)
+ {
+ return strtoupper($value);
+ }
+
+ public function preserves_safety($value)
+ {
+ return strtoupper($value);
+ }
+
+ public function br()
+ {
+ return '<br />';
+ }
+
+ public function getName()
+ {
+ return 'test';
+ }
+}
View
3  test/Twig/Tests/Node/AutoEscapeTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_AutoEscapeTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_AutoEscapeTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_AutoEscape::__construct
View
3  test/Twig/Tests/Node/BlockReferenceTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_BlockReferenceTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_BlockReferenceTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_BlockReference::__construct
View
3  test/Twig/Tests/Node/BlockTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_BlockTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_BlockTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Block::__construct
View
3  test/Twig/Tests/Node/DoTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_DoTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_DoTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Do::__construct
View
4 test/Twig/Tests/Node/Expression/ArrayTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../TestCase.php';
-
-class Twig_Tests_Node_Expression_ArrayTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_ArrayTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Array::__construct
View
4 test/Twig/Tests/Node/Expression/AssignNameTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../TestCase.php';
-
-class Twig_Tests_Node_Expression_AssignNameTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_AssignNameTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_AssignName::__construct
View
4 test/Twig/Tests/Node/Expression/Binary/AddTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../../TestCase.php';
-
-class Twig_Tests_Node_Expression_Binary_AddTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_Binary_AddTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Binary_Add::__construct
View
4 test/Twig/Tests/Node/Expression/Binary/AndTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../../TestCase.php';
-
-class Twig_Tests_Node_Expression_Binary_AndTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_Binary_AndTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Binary_And::__construct
View
4 test/Twig/Tests/Node/Expression/Binary/ConcatTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../../TestCase.php';
-
-class Twig_Tests_Node_Expression_Binary_ConcatTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_Binary_ConcatTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Binary_Concat::__construct
View
4 test/Twig/Tests/Node/Expression/Binary/DivTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../../TestCase.php';
-
-class Twig_Tests_Node_Expression_Binary_DivTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_Binary_DivTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Binary_Div::__construct
View
4 test/Twig/Tests/Node/Expression/Binary/FloorDivTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../../TestCase.php';
-
-class Twig_Tests_Node_Expression_Binary_FloorDivTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_Binary_FloorDivTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Binary_FloorDiv::__construct
View
4 test/Twig/Tests/Node/Expression/Binary/ModTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../../TestCase.php';
-
-class Twig_Tests_Node_Expression_Binary_ModTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_Binary_ModTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Binary_Mod::__construct
View
4 test/Twig/Tests/Node/Expression/Binary/MulTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../../TestCase.php';
-
-class Twig_Tests_Node_Expression_Binary_MulTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_Binary_MulTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Binary_Mul::__construct
View
4 test/Twig/Tests/Node/Expression/Binary/OrTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../../TestCase.php';
-
-class Twig_Tests_Node_Expression_Binary_OrTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_Binary_OrTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Binary_Or::__construct
View
4 test/Twig/Tests/Node/Expression/Binary/SubTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../../TestCase.php';
-
-class Twig_Tests_Node_Expression_Binary_SubTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_Binary_SubTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Binary_Sub::__construct
View
4 test/Twig/Tests/Node/Expression/ConditionalTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../TestCase.php';
-
-class Twig_Tests_Node_Expression_ConditionalTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_ConditionalTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Conditional::__construct
View
4 test/Twig/Tests/Node/Expression/ConstantTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../TestCase.php';
-
-class Twig_Tests_Node_Expression_ConstantTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_ConstantTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Constant::__construct
View
4 test/Twig/Tests/Node/Expression/FilterTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../TestCase.php';
-
-class Twig_Tests_Node_Expression_FilterTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_FilterTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Filter::__construct
View
4 test/Twig/Tests/Node/Expression/FunctionTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../TestCase.php';
-
-class Twig_Tests_Node_Expression_FunctionTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_FunctionTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Function::__construct
View
4 test/Twig/Tests/Node/Expression/GetAttrTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../TestCase.php';
-
-class Twig_Tests_Node_Expression_GetAttrTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_GetAttrTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_GetAttr::__construct
View
4 test/Twig/Tests/Node/Expression/NameTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../TestCase.php';
-
-class Twig_Tests_Node_Expression_NameTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_NameTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Name::__construct
View
4 test/Twig/Tests/Node/Expression/ParentTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../TestCase.php';
-
-class Twig_Tests_Node_Expression_ParentTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_ParentTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Parent::__construct
View
4 test/Twig/Tests/Node/Expression/TestTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../TestCase.php';
-
-class Twig_Tests_Node_Expression_TestTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_TestTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Test::__construct
View
4 test/Twig/Tests/Node/Expression/Unary/NegTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../../TestCase.php';
-
-class Twig_Tests_Node_Expression_Unary_NegTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_Unary_NegTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Unary_Neg::__construct
View
4 test/Twig/Tests/Node/Expression/Unary/NotTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../../TestCase.php';
-
-class Twig_Tests_Node_Expression_Unary_NotTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_Unary_NotTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Unary_Not::__construct
View
4 test/Twig/Tests/Node/Expression/Unary/PosTest.php
@@ -9,9 +9,7 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/../../TestCase.php';
-
-class Twig_Tests_Node_Expression_Unary_PosTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_Expression_Unary_PosTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Expression_Unary_Pos::__construct
View
3  test/Twig/Tests/Node/ForTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_ForTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_ForTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_For::__construct
View
3  test/Twig/Tests/Node/IfTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_IfTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_IfTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_If::__construct
View
3  test/Twig/Tests/Node/ImportTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_ImportTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_ImportTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Import::__construct
View
3  test/Twig/Tests/Node/IncludeTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_IncludeTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_IncludeTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Include::__construct
View
3  test/Twig/Tests/Node/MacroTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_MacroTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_MacroTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Macro::__construct
View
3  test/Twig/Tests/Node/ModuleTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_ModuleTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_ModuleTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Module::__construct
View
3  test/Twig/Tests/Node/PrintTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_PrintTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_PrintTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Print::__construct
View
3  test/Twig/Tests/Node/SandboxTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_SandboxTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_SandboxTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Sandbox::__construct
View
3  test/Twig/Tests/Node/SandboxedModuleTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_SandboxedModuleTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_SandboxedModuleTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_SandboxedModule::__construct
View
3  test/Twig/Tests/Node/SandboxedPrintTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_SandboxedPrintTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_SandboxedPrintTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_SandboxedPrint::__construct
View
3  test/Twig/Tests/Node/SetTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_SetTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_SetTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Set::__construct
View
3  test/Twig/Tests/Node/SpacelessTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_SpacelessTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_SpacelessTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Spaceless::__construct
View
3  test/Twig/Tests/Node/TextTest.php
@@ -9,9 +9,8 @@
* file that was distributed with this source code.
*/
-require_once dirname(__FILE__).'/TestCase.php';
-class Twig_Tests_Node_TextTest extends Twig_Tests_Node_TestCase
+class Twig_Tests_Node_TextTest extends Twig_Test_NodeTestCase
{
/**
* @covers Twig_Node_Text::__construct
Please sign in to comment.
Something went wrong with that request. Please try again.