Skip to content

Commit

Permalink
Parser: fixed parsing {__()} [Closes #226]
Browse files Browse the repository at this point in the history
  • Loading branch information
dg committed Nov 12, 2020
1 parent 9200047 commit 25a0bbe
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/Latte/Compiler/Parser.php
Expand Up @@ -393,7 +393,7 @@ public function parseMacroTag(string $tag): ?array
(?P<closing>/?)
(
(?P<name>\?|[a-z]\w*+(?:[.:]\w+)*+(?!::|\(|\\\\))| ## ?, name, /name, but not function( or class:: or namespace\
(?P<shortname>[=_]?) ## expression, =expression, ...
(?P<shortname>=|_(?!_)|) ## expression, =expression, ...
)(?P<args>(?:' . self::RE_STRING . '|[^\'"])*?)
(?P<modifiers>(?<!\|)\|[a-z](?P<modArgs>(?:' . self::RE_STRING . '|(?:\((?P>modArgs)\))|[^\'"/()]|/(?=.))*+))?
(?P<empty>/?$)
Expand Down
1 change: 1 addition & 0 deletions tests/Latte/Parser.parseMacroTag.phpt
Expand Up @@ -27,6 +27,7 @@ Assert::same(['=', '$var', '|noescape', false, false], $parser->parseMacroTag('$
Assert::same(['=', '$var', '|noescape', true, false], $parser->parseMacroTag('$var|noescape/'));
Assert::same(['=', '$var||false', '', false, false], $parser->parseMacroTag('$var||false'));
Assert::same(['_', '"I love Nette"', '|noescape', false, false], $parser->parseMacroTag('_"I love Nette"|noescape'));
Assert::same(['=', '__("I love Nette")', '|noescape', false, false], $parser->parseMacroTag('__("I love Nette")|noescape'));
Assert::same(['_', '$var', '', false, false], $parser->parseMacroTag('_$var'));
Assert::same(['_', '$var', '', false, false], $parser->parseMacroTag('_ $var'));
Assert::same(['_', '', '', false, false], $parser->parseMacroTag('_'));
Expand Down

0 comments on commit 25a0bbe

Please sign in to comment.