diff --git a/src/Latte/Compiler/Compiler.php b/src/Latte/Compiler/Compiler.php index 44485a4240..17d2b7c676 100644 --- a/src/Latte/Compiler/Compiler.php +++ b/src/Latte/Compiler/Compiler.php @@ -671,6 +671,10 @@ public function closeMacro( throw new CompileException("Unexpected $name" . ($node ? ', expecting ' . self::printEndTag($node->prefix ? $this->htmlNode : $node) : '')); } + if ($name === '') { + trigger_error("Empty closing tag {/} is deprecated, use {/$node->name} on line " . $this->getLine(), E_USER_DEPRECATED); + } + $this->macroNode = $node->parentNode; if ($node->args === '') { $node->setArgs($args); diff --git a/tests/Latte/BlockMacros.include.block.phpt b/tests/Latte/BlockMacros.include.block.phpt index a680cc13c0..ca48199298 100644 --- a/tests/Latte/BlockMacros.include.block.phpt +++ b/tests/Latte/BlockMacros.include.block.phpt @@ -14,16 +14,16 @@ require __DIR__ . '/../bootstrap.php'; $latte = new Latte\Engine; $latte->setLoader(new Latte\Loaders\StringLoader([ - 'main1' => '{define block}[block {$var}]{/} before {include block, var => 1} after', - 'main2' => '{define block}[block {$var}]{/} before {include #block, var => 1} after', - 'main3' => '{define block-2}[block {$var}]{/} before {include block-2, var => 1} after', - 'main4' => '{define block.2}[block {$var}]{/} before {include block.2, var => 1} after', - 'main5' => '{define block.2}[block {$var}]{/} before {include #block.2, var => 1} after', - 'main6' => '{define block.2}[block {$var}]{/} before {include block block.2, var => 1} after', + 'main1' => '{define block}[block {$var}]{/define} before {include block, var => 1} after', + 'main2' => '{define block}[block {$var}]{/define} before {include #block, var => 1} after', + 'main3' => '{define block-2}[block {$var}]{/define} before {include block-2, var => 1} after', + 'main4' => '{define block.2}[block {$var}]{/define} before {include block.2, var => 1} after', + 'main5' => '{define block.2}[block {$var}]{/define} before {include #block.2, var => 1} after', + 'main6' => '{define block.2}[block {$var}]{/define} before {include block block.2, var => 1} after', 'main7' => '{define block}[block {$var}]{/define} {var $name = block} before {include block $name, var => 1} after', - 'main8' => '{define block}block {$var}{/} before {include block, var => 1|striptags} after', - 'main9' => '{define block}block {$var}{/} before {include block true ? "block", var => 2} after', + 'main8' => '{define block}block {$var}{/define} before {include block, var => 1|striptags} after', + 'main9' => '{define block}block {$var}{/define} before {include block true ? "block", var => 2} after', ])); Assert::match( diff --git a/tests/Latte/Compiler.macro.lines.phpt b/tests/Latte/Compiler.macro.lines.phpt index 8d31374f52..055103d6ff 100644 --- a/tests/Latte/Compiler.macro.lines.phpt +++ b/tests/Latte/Compiler.macro.lines.phpt @@ -80,7 +80,7 @@ Assert::match( $latte->compile(' {one} - {/ + {/one }') ); diff --git a/tests/Latte/templates/filters.general.latte b/tests/Latte/templates/filters.general.latte index bc73107541..7d9cb78f08 100644 --- a/tests/Latte/templates/filters.general.latte +++ b/tests/Latte/templates/filters.general.latte @@ -8,7 +8,7 @@
  • translated: {_$hello|truncate:3}
  • Translated HTML: {_}{$hello}{/_}
  • Translated HTML: {_}ahoj{/_}
  • -
  • Translated HTML: {_}ahoj{/}
  • +
  • Translated HTML: {_}ahoj{/_}
  • Translated HTML: {_'ahoj|ahojahojahojahoj'}
  • spaces: {$hello |types , '' , "" , "$hello" }
  • dynamic: {$hello |dynamic} {$hello |dynamic2}
  • diff --git a/tests/Latte/templates/general.latte b/tests/Latte/templates/general.latte index 011627b84f..9a1145ab98 100644 --- a/tests/Latte/templates/general.latte +++ b/tests/Latte/templates/general.latte @@ -40,7 +40,7 @@ {$any} {else} none -{/} +{/if} {foreach array(true) as $foo}