Skip to content

Commit 64606f4

Browse files
matej21dg
authored andcommitted
Control - snippets: prevent multiple rendering of nested snippets (#138)
1 parent 3adfa43 commit 64606f4

File tree

4 files changed

+10
-2
lines changed

4 files changed

+10
-2
lines changed

src/Application/UI/Control.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public function redrawControl($snippet = NULL, $redraw = TRUE)
112112
$this->invalidSnippets = [];
113113

114114
} else {
115-
unset($this->invalidSnippets[$snippet]);
115+
$this->invalidSnippets[$snippet] = FALSE;
116116
}
117117
}
118118

@@ -160,8 +160,10 @@ public function isControlInvalid($snippet = NULL)
160160
return FALSE;
161161
}
162162

163+
} elseif (isset($this->invalidSnippets[$snippet])) {
164+
return $this->invalidSnippets[$snippet];
163165
} else {
164-
return isset($this->invalidSnippets["\0"]) || isset($this->invalidSnippets[$snippet]);
166+
return isset($this->invalidSnippets["\0"]);
165167
}
166168
}
167169

tests/Bridges.Latte/UIMacros.renderSnippets.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ Assert::same([
6262
'snippet--array2-3' => 'Value 3',
6363
'snippet--includeSay' => 'Hello include snippet',
6464
'snippet-multi-1-includeSay' => 'Hello',
65+
'snippet--nested1' => "\t<div id=\"snippet--nested2\">Foo</div>",
6566
],
6667
], (array) $presenter->payload);
6768

tests/Bridges.Latte/expected/UIMacros.renderSnippets.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@
1111
<div id="snippet--array2-3">Value 3</div>
1212

1313
<div id="snippet--includeSay">Hello include snippet</div>
14+
<div id="snippet--nested1"> <div id="snippet--nested2">Foo</div></div>

tests/Bridges.Latte/templates/snippet-include.latte

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,7 @@
1919
{snippetArea}
2020
{include snippet-included.latte say => 'Hello include snippet'}
2121
{/snippetArea}
22+
23+
{snippet nested1}
24+
{snippet nested2}Foo{/snippet}
25+
{/snippet}

0 commit comments

Comments
 (0)