Skip to content

Commit

Permalink
Empty closing macro {/} is deprecated
Browse files Browse the repository at this point in the history
  • Loading branch information
dg committed Jan 22, 2022
1 parent 647d97a commit 324a831
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 11 deletions.
4 changes: 4 additions & 0 deletions src/Latte/Compiler/Compiler.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
16 changes: 8 additions & 8 deletions tests/Latte/BlockMacros.include.block.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -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}<b>block {$var}</b>{/} before {include block, var => 1|striptags} after',
'main9' => '{define block}block {$var}{/} before {include block true ? "block", var => 2} after',
'main8' => '{define block}<b>block {$var}</b>{/define} before {include block, var => 1|striptags} after',
'main9' => '{define block}block {$var}{/define} before {include block true ? "block", var => 2} after',
]));

Assert::match(
Expand Down
2 changes: 1 addition & 1 deletion tests/Latte/Compiler.macro.lines.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Assert::match(
$latte->compile('
{one}
{/
{/one
}')
);

Expand Down
2 changes: 1 addition & 1 deletion tests/Latte/templates/filters.general.latte
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<li>translated: {_$hello|truncate:3}</li>
<li>Translated HTML: {_}{$hello}{/_}</li>
<li>Translated HTML: {_}ahoj{/_}</li>
<li>Translated HTML: {_}ahoj{/}</li>
<li>Translated HTML: {_}ahoj{/_}</li>
<li>Translated HTML: {_'ahoj|ahojahojahojahoj'}</li>
<li>spaces: {$hello |types , '' , "" , "$hello" }</li>
<li>dynamic: {$hello |dynamic} {$hello |dynamic2}</li>
Expand Down
2 changes: 1 addition & 1 deletion tests/Latte/templates/general.latte
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
{$any}
{else}
none
{/}
{/if}


{foreach array(true) as $foo}
Expand Down

0 comments on commit 324a831

Please sign in to comment.