diff --git a/src/Test/NodeTestCase.php b/src/Test/NodeTestCase.php index 61080bd8e..e6a954948 100644 --- a/src/Test/NodeTestCase.php +++ b/src/Test/NodeTestCase.php @@ -53,7 +53,7 @@ abstract class NodeTestCase extends TestCase protected function getEnvironment() { - return $this->currentEnv = new Environment(new ArrayLoader([])); + return $this->currentEnv = new Environment(new ArrayLoader()); } protected function getVariableGetter($name, $line = false) diff --git a/tests/CompilerTest.php b/tests/CompilerTest.php index a71ee093a..051edfeb2 100644 --- a/tests/CompilerTest.php +++ b/tests/CompilerTest.php @@ -14,13 +14,13 @@ namespace Twig\Tests; use PHPUnit\Framework\TestCase; use Twig\Compiler; use Twig\Environment; -use Twig\Loader\LoaderInterface; +use Twig\Loader\ArrayLoader; class CompilerTest extends TestCase { public function testReprNumericValueWithLocale() { - $compiler = new Compiler(new Environment($this->createMock(LoaderInterface::class))); + $compiler = new Compiler(new Environment(new ArrayLoader())); $locale = setlocale(\LC_NUMERIC, '0'); if (false === $locale) { diff --git a/tests/CustomExtensionTest.php b/tests/CustomExtensionTest.php index 0a7ba12d2..a2ac0dbed 100644 --- a/tests/CustomExtensionTest.php +++ b/tests/CustomExtensionTest.php @@ -14,7 +14,7 @@ namespace Twig\Tests; use PHPUnit\Framework\TestCase; use Twig\Environment; use Twig\Extension\ExtensionInterface; -use Twig\Loader\LoaderInterface; +use Twig\Loader\ArrayLoader; class CustomExtensionTest extends TestCase { @@ -26,7 +26,7 @@ class CustomExtensionTest extends TestCase $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage($expectedExceptionMessage); - $env = new Environment($this->createMock(LoaderInterface::class)); + $env = new Environment(new ArrayLoader()); $env->addExtension($extension); $env->getUnaryOperators(); } diff --git a/tests/EnvironmentTest.php b/tests/EnvironmentTest.php index 4eb22036e..d2547e7b2 100644 --- a/tests/EnvironmentTest.php +++ b/tests/EnvironmentTest.php @@ -269,7 +269,7 @@ class EnvironmentTest extends TestCase public function testHasGetExtensionByClassName() { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $twig->addExtension($ext = new EnvironmentTest_Extension()); $this->assertSame($ext, $twig->getExtension(EnvironmentTest_Extension::class)); $this->assertSame($ext, $twig->getExtension(EnvironmentTest_Extension::class)); @@ -277,7 +277,7 @@ class EnvironmentTest extends TestCase public function testAddExtension() { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $twig->addExtension(new EnvironmentTest_Extension()); $this->assertArrayHasKey('test', $twig->getTokenParsers()); @@ -314,7 +314,7 @@ class EnvironmentTest extends TestCase $this->expectException(\LogicException::class); $this->expectExceptionMessage('Unable to register extension "Twig\Tests\EnvironmentTest_Extension" as it is already registered.'); - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $twig->addExtension(new EnvironmentTest_Extension()); $twig->addExtension(new EnvironmentTest_Extension()); @@ -358,7 +358,7 @@ class EnvironmentTest extends TestCase public function testUndefinedFunctionCallback() { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $twig->registerUndefinedFunctionCallback(function (string $name) { if ('dynamic' === $name) { return new TwigFunction('dynamic', function () { return 'dynamic'; }); @@ -374,7 +374,7 @@ class EnvironmentTest extends TestCase public function testUndefinedFilterCallback() { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $twig->registerUndefinedFilterCallback(function (string $name) { if ('dynamic' === $name) { return new TwigFilter('dynamic', function () { return 'dynamic'; }); @@ -390,7 +390,7 @@ class EnvironmentTest extends TestCase public function testUndefinedTokenParserCallback() { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $twig->registerUndefinedTokenParserCallback(function (string $name) { if ('dynamic' === $name) { $parser = $this->createMock(TokenParserInterface::class); diff --git a/tests/ExpressionParserTest.php b/tests/ExpressionParserTest.php index abf5ae3a8..8dd91ba67 100644 --- a/tests/ExpressionParserTest.php +++ b/tests/ExpressionParserTest.php @@ -14,7 +14,7 @@ namespace Twig\Tests; use PHPUnit\Framework\TestCase; use Twig\Environment; use Twig\Error\SyntaxError; -use Twig\Loader\LoaderInterface; +use Twig\Loader\ArrayLoader; use Twig\Node\Expression\ArrayExpression; use Twig\Node\Expression\Binary\ConcatBinary; use Twig\Node\Expression\ConstantExpression; @@ -31,7 +31,7 @@ class ExpressionParserTest extends TestCase { $this->expectException(SyntaxError::class); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $parser->parse($env->tokenize(new Source($template, 'index'))); } @@ -59,7 +59,7 @@ class ExpressionParserTest extends TestCase */ public function testSequenceExpression($template, $expected) { - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $stream = $env->tokenize($source = new Source($template, '')); $parser = new Parser($env); $expected->setSourceContext($source); @@ -74,7 +74,7 @@ class ExpressionParserTest extends TestCase { $this->expectException(SyntaxError::class); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $parser->parse($env->tokenize(new Source($template, 'index'))); } @@ -200,7 +200,7 @@ class ExpressionParserTest extends TestCase { $this->expectException(SyntaxError::class); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false, 'optimizations' => 0]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false, 'optimizations' => 0]); $stream = $env->tokenize(new Source('{{ "a" "b" }}', 'index')); $parser = new Parser($env); @@ -212,7 +212,7 @@ class ExpressionParserTest extends TestCase */ public function testStringExpression($template, $expected) { - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false, 'optimizations' => 0]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false, 'optimizations' => 0]); $stream = $env->tokenize($source = new Source($template, '')); $parser = new Parser($env); $expected->setSourceContext($source); @@ -268,7 +268,7 @@ class ExpressionParserTest extends TestCase { $this->expectException(SyntaxError::class); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $parser->parse($env->tokenize(new Source('{{ foo.bar(name="Foo") }}', 'index'))); @@ -278,7 +278,7 @@ class ExpressionParserTest extends TestCase { $this->expectException(SyntaxError::class); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $parser->parse($env->tokenize(new Source('{% from _self import foo %}{% macro foo() %}{% endmacro %}{{ foo(name="Foo") }}', 'index'))); @@ -289,7 +289,7 @@ class ExpressionParserTest extends TestCase $this->expectException(SyntaxError::class); $this->expectExceptionMessage('An argument must be a name. Unexpected token "string" of value "a" ("name" expected) in "index" at line 1.'); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $parser->parse($env->tokenize(new Source('{% macro foo("a") %}{% endmacro %}', 'index'))); @@ -303,7 +303,7 @@ class ExpressionParserTest extends TestCase $this->expectException(SyntaxError::class); $this->expectExceptionMessage('A default value for an argument must be a constant (a boolean, a string, a number, a sequence, or a mapping) in "index" at line 1'); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $parser->parse($env->tokenize(new Source($template, 'index'))); @@ -322,7 +322,7 @@ class ExpressionParserTest extends TestCase */ public function testMacroDefinitionSupportsConstantDefaultValues($template) { - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $parser->parse($env->tokenize(new Source($template, 'index'))); @@ -350,7 +350,7 @@ class ExpressionParserTest extends TestCase $this->expectException(SyntaxError::class); $this->expectExceptionMessage('Unknown "cycl" function. Did you mean "cycle" in "index" at line 1?'); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $parser->parse($env->tokenize(new Source('{{ cycl() }}', 'index'))); @@ -361,7 +361,7 @@ class ExpressionParserTest extends TestCase $this->expectException(SyntaxError::class); $this->expectExceptionMessage('Unknown "foobar" function in "index" at line 1.'); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $parser->parse($env->tokenize(new Source('{{ foobar() }}', 'index'))); @@ -372,7 +372,7 @@ class ExpressionParserTest extends TestCase $this->expectException(SyntaxError::class); $this->expectExceptionMessage('Unknown "lowe" filter. Did you mean "lower" in "index" at line 1?'); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $parser->parse($env->tokenize(new Source('{{ 1|lowe }}', 'index'))); @@ -383,7 +383,7 @@ class ExpressionParserTest extends TestCase $this->expectException(SyntaxError::class); $this->expectExceptionMessage('Unknown "foobar" filter in "index" at line 1.'); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $parser->parse($env->tokenize(new Source('{{ 1|foobar }}', 'index'))); @@ -394,7 +394,7 @@ class ExpressionParserTest extends TestCase $this->expectException(SyntaxError::class); $this->expectExceptionMessage('Unknown "nul" test. Did you mean "null" in "index" at line 1'); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $stream = $env->tokenize(new Source('{{ 1 is nul }}', 'index')); $parser->parse($stream); @@ -405,7 +405,7 @@ class ExpressionParserTest extends TestCase $this->expectException(SyntaxError::class); $this->expectExceptionMessage('Unknown "foobar" test in "index" at line 1.'); - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $parser = new Parser($env); $parser->parse($env->tokenize(new Source('{{ 1 is foobar }}', 'index'))); diff --git a/tests/Extension/EscaperTest.php b/tests/Extension/EscaperTest.php index e211677bf..4f7071840 100644 --- a/tests/Extension/EscaperTest.php +++ b/tests/Extension/EscaperTest.php @@ -14,7 +14,7 @@ namespace Twig\Tests; use PHPUnit\Framework\TestCase; use Twig\Environment; use Twig\Extension\EscaperExtension; -use Twig\Loader\LoaderInterface; +use Twig\Loader\ArrayLoader; use Twig\Runtime\EscaperRuntime; class EscaperTest extends TestCase @@ -26,7 +26,7 @@ class EscaperTest extends TestCase */ public function testCustomEscaper($expected, $string, $strategy) { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $escaperExt = $twig->getExtension(EscaperExtension::class); $escaperExt->setEscaper('foo', 'Twig\Tests\legacy_escaper'); $this->assertSame($expected, $twig->getRuntime(EscaperRuntime::class)->escape($string, $strategy, 'ISO-8859-1')); @@ -48,7 +48,7 @@ class EscaperTest extends TestCase */ public function testCustomEscaperWithoutCallingSetEscaperRuntime($expected, $string, $strategy) { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $escaperExt = $twig->getExtension(EscaperExtension::class); $escaperExt->setEscaper('foo', 'Twig\Tests\legacy_escaper'); $this->assertSame($expected, $twig->getRuntime(EscaperRuntime::class)->escape($string, $strategy, 'ISO-8859-1')); @@ -59,11 +59,11 @@ class EscaperTest extends TestCase */ public function testCustomEscapersOnMultipleEnvs() { - $env1 = new Environment($this->createMock(LoaderInterface::class)); + $env1 = new Environment(new ArrayLoader()); $escaperExt1 = $env1->getExtension(EscaperExtension::class); $escaperExt1->setEscaper('foo', 'Twig\Tests\legacy_escaper'); - $env2 = new Environment($this->createMock(LoaderInterface::class)); + $env2 = new Environment(new ArrayLoader()); $escaperExt2 = $env2->getExtension(EscaperExtension::class); $escaperExt2->setEscaper('foo', 'Twig\Tests\legacy_escaper_again'); diff --git a/tests/Extension/StringLoaderExtensionTest.php b/tests/Extension/StringLoaderExtensionTest.php index 4c67e12c7..d37b8f263 100644 --- a/tests/Extension/StringLoaderExtensionTest.php +++ b/tests/Extension/StringLoaderExtensionTest.php @@ -15,12 +15,13 @@ use PHPUnit\Framework\TestCase; use Twig\Environment; use Twig\Extension\CoreExtension; use Twig\Extension\StringLoaderExtension; +use Twig\Loader\ArrayLoader; class StringLoaderExtensionTest extends TestCase { public function testIncludeWithTemplateStringAndNoSandbox() { - $twig = new Environment($this->createMock('\Twig\Loader\LoaderInterface')); + $twig = new Environment(new ArrayLoader()); $twig->addExtension(new StringLoaderExtension()); $this->assertSame('something', CoreExtension::include($twig, [], StringLoaderExtension::templateFromString($twig, 'something'))); } diff --git a/tests/LexerTest.php b/tests/LexerTest.php index 2aad47ac9..7926034ff 100644 --- a/tests/LexerTest.php +++ b/tests/LexerTest.php @@ -15,7 +15,7 @@ use PHPUnit\Framework\TestCase; use Twig\Environment; use Twig\Error\SyntaxError; use Twig\Lexer; -use Twig\Loader\LoaderInterface; +use Twig\Loader\ArrayLoader; use Twig\Source; use Twig\Token; @@ -25,7 +25,7 @@ class LexerTest extends TestCase { $template = '{% § %}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $stream = $lexer->tokenize(new Source($template, 'index')); $stream->expect(Token::BLOCK_START_TYPE); @@ -36,7 +36,7 @@ class LexerTest extends TestCase { $template = '{{ §() }}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $stream = $lexer->tokenize(new Source($template, 'index')); $stream->expect(Token::VAR_START_TYPE); @@ -63,7 +63,7 @@ class LexerTest extends TestCase protected function countToken($template, $type, $value = null) { - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $stream = $lexer->tokenize(new Source($template, 'index')); $count = 0; @@ -88,7 +88,7 @@ class LexerTest extends TestCase ."baz\n" ."}}\n"; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $stream = $lexer->tokenize(new Source($template, 'index')); // foo\nbar\n @@ -108,7 +108,7 @@ class LexerTest extends TestCase ."baz\n" ."}}\n"; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $stream = $lexer->tokenize(new Source($template, 'index')); // foo\nbar @@ -123,7 +123,7 @@ class LexerTest extends TestCase { $template = '{# '.str_repeat('*', 100000).' #}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $lexer->tokenize(new Source($template, 'index')); // add a dummy assertion here to satisfy PHPUnit, the only thing we want to test is that the code above @@ -135,7 +135,7 @@ class LexerTest extends TestCase { $template = '{% verbatim %}'.str_repeat('*', 100000).'{% endverbatim %}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $lexer->tokenize(new Source($template, 'index')); // add a dummy assertion here to satisfy PHPUnit, the only thing we want to test is that the code above @@ -147,7 +147,7 @@ class LexerTest extends TestCase { $template = '{{ '.str_repeat('x', 100000).' }}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $lexer->tokenize(new Source($template, 'index')); // add a dummy assertion here to satisfy PHPUnit, the only thing we want to test is that the code above @@ -159,7 +159,7 @@ class LexerTest extends TestCase { $template = '{% '.str_repeat('x', 100000).' %}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $lexer->tokenize(new Source($template, 'index')); // add a dummy assertion here to satisfy PHPUnit, the only thing we want to test is that the code above @@ -171,7 +171,7 @@ class LexerTest extends TestCase { $template = '{{ 922337203685477580700 }}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $stream = $lexer->tokenize(new Source($template, 'index')); $stream->next(); $node = $stream->next(); @@ -185,7 +185,7 @@ class LexerTest extends TestCase '{{ "foo \" bar" }}' => 'foo " bar', ]; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); foreach ($tests as $template => $expected) { $stream = $lexer->tokenize(new Source($template, 'index')); $stream->expect(Token::VAR_START_TYPE); @@ -201,7 +201,7 @@ class LexerTest extends TestCase { $template = 'foo {{ "bar #{ baz + 1 }" }}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $stream = $lexer->tokenize(new Source($template, 'index')); $stream->expect(Token::TEXT_TYPE, 'foo '); $stream->expect(Token::VAR_START_TYPE); @@ -222,7 +222,7 @@ class LexerTest extends TestCase { $template = '{{ "bar \#{baz+1}" }}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $stream = $lexer->tokenize(new Source($template, 'index')); $stream->expect(Token::VAR_START_TYPE); $stream->expect(Token::STRING_TYPE, 'bar #{baz+1}'); @@ -237,7 +237,7 @@ class LexerTest extends TestCase { $template = '{{ "bar # baz" }}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $stream = $lexer->tokenize(new Source($template, 'index')); $stream->expect(Token::VAR_START_TYPE); $stream->expect(Token::STRING_TYPE, 'bar # baz'); @@ -255,7 +255,7 @@ class LexerTest extends TestCase $template = '{{ "bar #{x" }}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $lexer->tokenize(new Source($template, 'index')); } @@ -263,7 +263,7 @@ class LexerTest extends TestCase { $template = '{{ "bar #{ "foo#{bar}" }" }}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $stream = $lexer->tokenize(new Source($template, 'index')); $stream->expect(Token::VAR_START_TYPE); $stream->expect(Token::STRING_TYPE, 'bar '); @@ -284,7 +284,7 @@ class LexerTest extends TestCase { $template = '{% foo "bar #{ "foo#{bar}" }" %}'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $stream = $lexer->tokenize(new Source($template, 'index')); $stream->expect(Token::BLOCK_START_TYPE); $stream->expect(Token::NAME_TYPE, 'foo'); @@ -306,7 +306,7 @@ class LexerTest extends TestCase { $template = "{{ 1 and\n0}}"; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $stream = $lexer->tokenize(new Source($template, 'index')); $stream->expect(Token::VAR_START_TYPE); $stream->expect(Token::NUMBER_TYPE, 1); @@ -331,7 +331,7 @@ bar '; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $lexer->tokenize(new Source($template, 'index')); } @@ -349,14 +349,14 @@ bar '; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); $lexer->tokenize(new Source($template, 'index')); } public function testOverridingSyntax() { $template = '[# comment #]{# variable #}/# if true #/true/# endif #/'; - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class)), [ + $lexer = new Lexer(new Environment(new ArrayLoader()), [ 'tag_comment' => ['[#', '#]'], 'tag_block' => ['/#', '#/'], 'tag_variable' => ['{#', '#}'], @@ -384,7 +384,7 @@ bar */ public function testErrorsAtTheEndOfTheStream(string $template) { - $lexer = new Lexer(new Environment($this->createMock(LoaderInterface::class))); + $lexer = new Lexer(new Environment(new ArrayLoader())); set_error_handler(function () { $this->fail('Lexer should not emit warnings.'); }); diff --git a/tests/Loader/ArrayTest.php b/tests/Loader/ArrayTest.php index 76714bb08..543fe9ff6 100644 --- a/tests/Loader/ArrayTest.php +++ b/tests/Loader/ArrayTest.php @@ -21,7 +21,7 @@ class ArrayTest extends TestCase { $this->expectException(LoaderError::class); - $loader = new ArrayLoader([]); + $loader = new ArrayLoader(); $loader->getSourceContext('foo'); } @@ -59,14 +59,14 @@ class ArrayTest extends TestCase { $this->expectException(LoaderError::class); - $loader = new ArrayLoader([]); + $loader = new ArrayLoader(); $loader->getCacheKey('foo'); } public function testSetTemplate() { - $loader = new ArrayLoader([]); + $loader = new ArrayLoader(); $loader->setTemplate('foo', 'bar'); $this->assertEquals('bar', $loader->getSourceContext('foo')->getCode()); @@ -82,7 +82,7 @@ class ArrayTest extends TestCase { $this->expectException(LoaderError::class); - $loader = new ArrayLoader([]); + $loader = new ArrayLoader(); $loader->isFresh('foo', time()); } diff --git a/tests/Node/DeprecatedTest.php b/tests/Node/DeprecatedTest.php index 24185f4b5..63259eda3 100644 --- a/tests/Node/DeprecatedTest.php +++ b/tests/Node/DeprecatedTest.php @@ -12,7 +12,7 @@ namespace Twig\Tests\Node; */ use Twig\Environment; -use Twig\Loader\LoaderInterface; +use Twig\Loader\ArrayLoader; use Twig\Node\DeprecatedNode; use Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\FunctionExpression; @@ -62,7 +62,7 @@ if (true) { EOF ]; - $environment = new Environment($this->createMock(LoaderInterface::class)); + $environment = new Environment(new ArrayLoader()); $environment->addFunction(new TwigFunction('foo', 'foo', [])); $expr = new FunctionExpression('foo', new Node(), 1); diff --git a/tests/Node/Expression/FilterTest.php b/tests/Node/Expression/FilterTest.php index 7234ac318..9af493069 100644 --- a/tests/Node/Expression/FilterTest.php +++ b/tests/Node/Expression/FilterTest.php @@ -15,7 +15,6 @@ use Twig\Environment; use Twig\Error\SyntaxError; use Twig\Extension\AbstractExtension; use Twig\Loader\ArrayLoader; -use Twig\Loader\LoaderInterface; use Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\FilterExpression; use Twig\Node\Node; @@ -38,7 +37,7 @@ class FilterTest extends NodeTestCase public function getTests() { - $environment = new Environment($this->createMock(LoaderInterface::class)); + $environment = new Environment(new ArrayLoader()); $environment->addFilter(new TwigFilter('bar', 'twig_tests_filter_dummy', ['needs_environment' => true])); $environment->addFilter(new TwigFilter('bar_closure', \Closure::fromCallable(twig_tests_filter_dummy::class), ['needs_environment' => true])); $environment->addFilter(new TwigFilter('barbar', 'Twig\Tests\Node\Expression\twig_tests_filter_barbar', ['needs_context' => true, 'is_variadic' => true])); @@ -180,7 +179,7 @@ class FilterTest extends NodeTestCase protected function getEnvironment() { - $env = new Environment(new ArrayLoader([])); + $env = new Environment(new ArrayLoader()); $env->addFilter(new TwigFilter('anonymous', function () {})); return $env; diff --git a/tests/Node/Expression/FunctionTest.php b/tests/Node/Expression/FunctionTest.php index aa40e3555..347e7c429 100644 --- a/tests/Node/Expression/FunctionTest.php +++ b/tests/Node/Expression/FunctionTest.php @@ -13,7 +13,6 @@ namespace Twig\Tests\Node\Expression; use Twig\Environment; use Twig\Loader\ArrayLoader; -use Twig\Loader\LoaderInterface; use Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\FunctionExpression; use Twig\Node\Node; @@ -34,7 +33,7 @@ class FunctionTest extends NodeTestCase public function getTests() { - $environment = new Environment($this->createMock(LoaderInterface::class)); + $environment = new Environment(new ArrayLoader()); $environment->addFunction(new TwigFunction('foo', 'twig_tests_function_dummy', [])); $environment->addFunction(new TwigFunction('foo_closure', \Closure::fromCallable(twig_tests_function_dummy::class), [])); $environment->addFunction(new TwigFunction('bar', 'twig_tests_function_dummy', ['needs_environment' => true])); @@ -110,7 +109,7 @@ class FunctionTest extends NodeTestCase protected function getEnvironment() { - $env = new Environment(new ArrayLoader([])); + $env = new Environment(new ArrayLoader()); $env->addFunction(new TwigFunction('anonymous', function () {})); return $env; diff --git a/tests/Node/Expression/NameTest.php b/tests/Node/Expression/NameTest.php index 57ba02b76..3e5437444 100644 --- a/tests/Node/Expression/NameTest.php +++ b/tests/Node/Expression/NameTest.php @@ -12,7 +12,7 @@ namespace Twig\Tests\Node\Expression; */ use Twig\Environment; -use Twig\Loader\LoaderInterface; +use Twig\Loader\ArrayLoader; use Twig\Node\Expression\NameExpression; use Twig\Test\NodeTestCase; @@ -31,8 +31,8 @@ class NameTest extends NodeTestCase $self = new NameExpression('_self', 1); $context = new NameExpression('_context', 1); - $env = new Environment($this->createMock(LoaderInterface::class), ['strict_variables' => true]); - $env1 = new Environment($this->createMock(LoaderInterface::class), ['strict_variables' => false]); + $env = new Environment(new ArrayLoader(), ['strict_variables' => true]); + $env1 = new Environment(new ArrayLoader(), ['strict_variables' => false]); $output = '(isset($context["foo"]) || array_key_exists("foo", $context) ? $context["foo"] : (function () { throw new RuntimeError(\'Variable "foo" does not exist.\', 1, $this->source); })())'; diff --git a/tests/Node/Expression/TestTest.php b/tests/Node/Expression/TestTest.php index df7c7202b..1a5461666 100644 --- a/tests/Node/Expression/TestTest.php +++ b/tests/Node/Expression/TestTest.php @@ -13,7 +13,6 @@ namespace Twig\Tests\Node\Expression; use Twig\Environment; use Twig\Loader\ArrayLoader; -use Twig\Loader\LoaderInterface; use Twig\Node\Expression\ConstantExpression; use Twig\Node\Expression\Test\NullTest; use Twig\Node\Expression\TestExpression; @@ -37,7 +36,7 @@ class TestTest extends NodeTestCase public function getTests() { - $environment = new Environment($this->createMock(LoaderInterface::class)); + $environment = new Environment(new ArrayLoader()); $environment->addTest(new TwigTest('barbar', 'Twig\Tests\Node\Expression\twig_tests_test_barbar', ['is_variadic' => true, 'need_context' => true])); $tests = []; @@ -79,7 +78,7 @@ class TestTest extends NodeTestCase protected function getEnvironment() { - $env = new Environment(new ArrayLoader([])); + $env = new Environment(new ArrayLoader()); $env->addTest(new TwigTest('anonymous', function () {})); return $env; diff --git a/tests/Node/ModuleTest.php b/tests/Node/ModuleTest.php index 2b5e79c2c..974bc22ce 100644 --- a/tests/Node/ModuleTest.php +++ b/tests/Node/ModuleTest.php @@ -12,7 +12,7 @@ namespace Twig\Tests\Node; */ use Twig\Environment; -use Twig\Loader\LoaderInterface; +use Twig\Loader\ArrayLoader; use Twig\Node\Expression\AssignNameExpression; use Twig\Node\Expression\ConditionalExpression; use Twig\Node\Expression\ConstantExpression; @@ -45,7 +45,7 @@ class ModuleTest extends NodeTestCase public function getTests() { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader(['foo.twig' => '{{ foo }}'])); $tests = []; @@ -218,7 +218,7 @@ EOF 2 ); - $twig = new Environment($this->createMock(LoaderInterface::class), ['debug' => true]); + $twig = new Environment(new ArrayLoader(['foo.twig' => '{{ foo }}']), ['debug' => true]); $node = new ModuleNode($body, $extends, $blocks, $macros, $traits, new Node([]), $source); $tests[] = [$node, <<createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $stream = $env->parse($env->tokenize(new Source('{{ block("foo") }}', 'index'))); @@ -37,7 +37,7 @@ class OptimizerTest extends TestCase public function testRenderParentBlockOptimizer() { - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $stream = $env->parse($env->tokenize(new Source('{% extends "foo" %}{% block content %}{{ parent() }}{% endblock %}', 'index'))); @@ -49,7 +49,7 @@ class OptimizerTest extends TestCase public function testForVarOptimizer() { - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false, 'autoescape' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false, 'autoescape' => false]); $template = '{% for i, j in foo %}{{ loop.index }}{{ i }}{{ j }}{% endfor %}'; $stream = $env->parse($env->tokenize(new Source($template, 'index'))); @@ -75,7 +75,7 @@ class OptimizerTest extends TestCase */ public function testForLoopOptimizer($template, $expected) { - $env = new Environment($this->createMock(LoaderInterface::class), ['cache' => false]); + $env = new Environment(new ArrayLoader(), ['cache' => false]); $stream = $env->parse($env->tokenize(new Source($template, 'index'))); diff --git a/tests/ParserTest.php b/tests/ParserTest.php index cdd8e8757..73de41e6f 100644 --- a/tests/ParserTest.php +++ b/tests/ParserTest.php @@ -14,7 +14,7 @@ namespace Twig\Tests; use PHPUnit\Framework\TestCase; use Twig\Environment; use Twig\Error\SyntaxError; -use Twig\Loader\LoaderInterface; +use Twig\Loader\ArrayLoader; use Twig\Node\Node; use Twig\Node\SetNode; use Twig\Node\TextNode; @@ -37,7 +37,7 @@ class ParserTest extends TestCase new Token(Token::BLOCK_END_TYPE, '', 1), new Token(Token::EOF_TYPE, '', 1), ]); - $parser = new Parser(new Environment($this->createMock(LoaderInterface::class))); + $parser = new Parser(new Environment(new ArrayLoader())); $parser->parse($stream); } @@ -52,7 +52,7 @@ class ParserTest extends TestCase new Token(Token::BLOCK_END_TYPE, '', 1), new Token(Token::EOF_TYPE, '', 1), ]); - $parser = new Parser(new Environment($this->createMock(LoaderInterface::class))); + $parser = new Parser(new Environment(new ArrayLoader())); $parser->parse($stream); } @@ -133,7 +133,7 @@ class ParserTest extends TestCase public function testParseIsReentrant() { - $twig = new Environment($this->createMock(LoaderInterface::class), [ + $twig = new Environment(new ArrayLoader(), [ 'autoescape' => false, 'optimizations' => 0, ]); @@ -156,7 +156,7 @@ class ParserTest extends TestCase public function testGetVarName() { - $twig = new Environment($this->createMock(LoaderInterface::class), [ + $twig = new Environment(new ArrayLoader(), [ 'autoescape' => false, 'optimizations' => 0, ]); @@ -177,7 +177,7 @@ EOF protected function getParser() { - $parser = new Parser(new Environment($this->createMock(LoaderInterface::class))); + $parser = new Parser(new Environment(new ArrayLoader())); $parser->setParent(new Node()); $p = new \ReflectionProperty($parser, 'stream'); diff --git a/tests/TemplateTest.php b/tests/TemplateTest.php index 1256b5df5..8ee46c19b 100644 --- a/tests/TemplateTest.php +++ b/tests/TemplateTest.php @@ -29,7 +29,7 @@ class TemplateTest extends TestCase { $this->expectException(\LogicException::class); - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $template = new TemplateForTest($twig); $template->displayBlock('foo', [], ['foo' => [new \stdClass(), 'foo']]); } @@ -89,7 +89,7 @@ class TemplateTest extends TestCase */ public function testGetAttributeWithSandbox($object, $item, $allowed) { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $policy = new SecurityPolicy([], [], [/* method */], [/* prop */], []); $twig->addExtension(new SandboxExtension($policy, !$allowed)); $template = new TemplateForTest($twig); @@ -146,7 +146,7 @@ class TemplateTest extends TestCase $this->expectException(RuntimeError::class); $this->expectExceptionMessage('Block "unknown" on template "index.twig" does not exist in "index.twig".'); - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $template = new TemplateForTest($twig, 'index.twig'); $template->renderBlock('unknown', []); } @@ -156,7 +156,7 @@ class TemplateTest extends TestCase $this->expectException(RuntimeError::class); $this->expectExceptionMessage('Block "unknown" on template "index.twig" does not exist in "index.twig".'); - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $template = new TemplateForTest($twig, 'index.twig'); $template->displayBlock('unknown', []); } @@ -166,14 +166,14 @@ class TemplateTest extends TestCase $this->expectException(RuntimeError::class); $this->expectExceptionMessage('Block "foo" should not call parent() in "index.twig" as the block does not exist in the parent template "parent.twig"'); - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $template = new TemplateForTest($twig, 'parent.twig'); $template->displayBlock('foo', [], ['foo' => [new TemplateForTest($twig, 'index.twig'), 'block_foo']], false); } public function testGetAttributeOnArrayWithConfusableKey() { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $template = new TemplateForTest($twig); $array = ['Zero', 'One', -1 => 'MinusOne', '' => 'EmptyString', '1.5' => 'FloatButString', '01' => 'IntegerButStringWithLeadingZeros']; @@ -208,7 +208,7 @@ class TemplateTest extends TestCase */ public function testGetAttribute($defined, $value, $object, $item, $arguments, $type) { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $template = new TemplateForTest($twig); $this->assertEquals($value, CoreExtension::getAttribute($twig, $template->getSourceContext(), $object, $item, $arguments, $type)); @@ -219,7 +219,7 @@ class TemplateTest extends TestCase */ public function testGetAttributeStrict($defined, $value, $object, $item, $arguments, $type, $exceptionMessage = null) { - $twig = new Environment($this->createMock(LoaderInterface::class), ['strict_variables' => true]); + $twig = new Environment(new ArrayLoader(), ['strict_variables' => true]); $template = new TemplateForTest($twig); if ($defined) { @@ -238,7 +238,7 @@ class TemplateTest extends TestCase */ public function testGetAttributeDefined($defined, $value, $object, $item, $arguments, $type) { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $template = new TemplateForTest($twig); $this->assertEquals($defined, CoreExtension::getAttribute($twig, $template->getSourceContext(), $object, $item, $arguments, $type, true)); @@ -249,7 +249,7 @@ class TemplateTest extends TestCase */ public function testGetAttributeDefinedStrict($defined, $value, $object, $item, $arguments, $type) { - $twig = new Environment($this->createMock(LoaderInterface::class), ['strict_variables' => true]); + $twig = new Environment(new ArrayLoader(), ['strict_variables' => true]); $template = new TemplateForTest($twig); $this->assertEquals($defined, CoreExtension::getAttribute($twig, $template->getSourceContext(), $object, $item, $arguments, $type, true)); @@ -257,7 +257,7 @@ class TemplateTest extends TestCase public function testGetAttributeCallExceptions() { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $template = new TemplateForTest($twig); $object = new TemplateMagicMethodExceptionObject(); @@ -403,7 +403,7 @@ class TemplateTest extends TestCase public function testGetIsMethods() { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $getIsObject = new TemplateGetIsMethods(); $template = new TemplateForTest($twig, 'index.twig'); diff --git a/tests/Util/DeprecationCollectorTest.php b/tests/Util/DeprecationCollectorTest.php index 18f889f6a..547744e0b 100644 --- a/tests/Util/DeprecationCollectorTest.php +++ b/tests/Util/DeprecationCollectorTest.php @@ -13,7 +13,7 @@ namespace Twig\Tests\Util; use PHPUnit\Framework\TestCase; use Twig\Environment; -use Twig\Loader\LoaderInterface; +use Twig\Loader\ArrayLoader; use Twig\TwigFunction; use Twig\Util\DeprecationCollector; @@ -24,7 +24,7 @@ class DeprecationCollectorTest extends TestCase */ public function testCollect() { - $twig = new Environment($this->createMock(LoaderInterface::class)); + $twig = new Environment(new ArrayLoader()); $twig->addFunction(new TwigFunction('deprec', [$this, 'deprec'], ['deprecated' => '1.1'])); $collector = new DeprecationCollector($twig);