mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-01 04:57:23 +00:00
Merge branch '1.x' into 2.x
* 1.x: tweaked error messages fixed wrong error message on "import" and "from" bumped version to 1.41.1-DEV prepared the 1.41.0 release
This commit is contained in:
@@ -229,7 +229,11 @@
|
||||
* improved the performance of the filesystem loader
|
||||
* removed features that were deprecated in 1.x
|
||||
|
||||
* 1.41.0 (2019-XX-XX)
|
||||
* 1.41.1 (2019-XX-XX)
|
||||
|
||||
* fixed wrong error message on "import" and "from"
|
||||
|
||||
* 1.41.0 (2019-05-14)
|
||||
|
||||
* fixed support for PHP 7.4
|
||||
* added "filter", "map", and "reduce" filters (and support for arrow functions)
|
||||
|
||||
@@ -26,7 +26,7 @@ final class FromTokenParser extends AbstractTokenParser
|
||||
{
|
||||
$macro = $this->parser->getExpressionParser()->parseExpression();
|
||||
$stream = $this->parser->getStream();
|
||||
$stream->expect('import');
|
||||
$stream->expect(/* Token::NAME_TYPE */ 5, 'import');
|
||||
|
||||
$targets = [];
|
||||
do {
|
||||
|
||||
@@ -25,7 +25,7 @@ final class ImportTokenParser extends AbstractTokenParser
|
||||
public function parse(Token $token)
|
||||
{
|
||||
$macro = $this->parser->getExpressionParser()->parseExpression();
|
||||
$this->parser->getStream()->expect('as');
|
||||
$this->parser->getStream()->expect(/* Token::NAME_TYPE */ 5, 'as');
|
||||
$var = new AssignNameExpression($this->parser->getStream()->expect(/* Token::NAME_TYPE */ 5)->getValue(), $token->getLine());
|
||||
$this->parser->getStream()->expect(/* Token::BLOCK_END_TYPE */ 3);
|
||||
|
||||
|
||||
+3
-2
@@ -73,9 +73,10 @@ final class TokenStream
|
||||
$token = $this->tokens[$this->current];
|
||||
if (!$token->test($type, $value)) {
|
||||
$line = $token->getLine();
|
||||
throw new SyntaxError(sprintf('%sUnexpected token "%s" of value "%s" ("%s" expected%s).',
|
||||
throw new SyntaxError(sprintf('%sUnexpected token "%s"%s ("%s" expected%s).',
|
||||
$message ? $message.'. ' : '',
|
||||
Token::typeToEnglish($token->getType()), $token->getValue(),
|
||||
Token::typeToEnglish($token->getType()),
|
||||
$token->getValue() ? sprintf(' of value "%s"', $token->getValue()) : '',
|
||||
Token::typeToEnglish($type), $value ? sprintf(' with value "%s"', $value) : ''),
|
||||
$line,
|
||||
$this->source
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
--TEST--
|
||||
"from" tag with syntax error
|
||||
--TEMPLATE--
|
||||
{% from 'forms.twig' %}
|
||||
--DATA--
|
||||
return []
|
||||
--EXCEPTION--
|
||||
Twig\Error\SyntaxError: Unexpected token "end of statement block" ("name" expected with value "import") in "index.twig" at line 2.
|
||||
@@ -0,0 +1,10 @@
|
||||
--TEST--
|
||||
"import" tag with reserved name
|
||||
--TEMPLATE--
|
||||
{% import 'forms.twig' %}
|
||||
|
||||
{{ macros.parent() }}
|
||||
--DATA--
|
||||
return []
|
||||
--EXCEPTION--
|
||||
Twig\Error\SyntaxError: Unexpected token "end of statement block" ("name" expected with value "as") in "index.twig" at line 2.
|
||||
Reference in New Issue
Block a user