Skip to content

Commit c1794e6

Browse files
committed
Latte: fixed rendering of empty <label> for CheckboxList/RadioList items
1 parent 888aba2 commit c1794e6

File tree

6 files changed

+70
-54
lines changed

6 files changed

+70
-54
lines changed

src/Bridges/FormsLatte/Nodes/FieldNNameNode.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ private function init(Tag $tag)
6464
$elName = strtolower($el->name);
6565

6666
$tag->replaceNAttribute(new AuxiliaryNode(fn(PrintContext $context) => $context->format(
67-
'echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item(%node, $this->global))'
68-
. ($elName === 'label' ? '->getLabelPart(%node)' : '->getControlPart(%node)')
67+
'echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item(%node, $this->global)'
68+
. ($elName === 'label' ? '->getLabelPart(%node))' : '->getControlPart(%node))')
6969
. ($usedAttributes ? '->addAttributes(%dump)' : '')
7070
. '->attributes() %3.line;',
7171
$this->name,
@@ -77,20 +77,20 @@ private function init(Tag $tag)
7777
if ($elName === 'label') {
7878
if ($el->content instanceof NopNode) {
7979
$el->content = new AuxiliaryNode(fn(PrintContext $context) => $context->format(
80-
'echo $ʟ_input->getLabelPart()->getHtml() %line;',
80+
'echo $ʟ_elem->getHtml() %line;',
8181
$this->position,
8282
));
8383
}
8484
} elseif ($elName === 'button') {
8585
if ($el->content instanceof NopNode) {
8686
$el->content = new AuxiliaryNode(fn(PrintContext $context) => $context->format(
87-
'echo %escape($ʟ_input->getCaption()) %line;',
87+
'echo %escape($ʟ_elem->value) %line;',
8888
$this->position,
8989
));
9090
}
9191
} elseif ($el->content) { // select, textarea
9292
$el->content = new AuxiliaryNode(fn(PrintContext $context) => $context->format(
93-
'echo $ʟ_input->getControl()->getHtml() %line;',
93+
'echo $ʟ_elem->getHtml() %line;',
9494
$this->position,
9595
));
9696
}

tests/Forms.Latte3/expected/forms.button.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,19 @@
66
echo Nette\Bridges\FormsLatte\Runtime::renderFormBegin(end($this->global->formsStack), [], false) /* line %d% */;
77
echo '>
88
<button';
9-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('send', $this->global))->getControlPart()->attributes() /* line %d% */;
9+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('send', $this->global)->getControlPart())->attributes() /* line %d% */;
1010
echo '>
1111
description of button
1212
</button>
1313
1414
<button';
15-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('send', $this->global))->getControlPart()->attributes() /* line %d% */;
15+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('send', $this->global)->getControlPart())->attributes() /* line %d% */;
1616
echo '></button>
1717
1818
<button';
19-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('send', $this->global))->getControlPart()->attributes() /* line %d% */;
19+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('send', $this->global)->getControlPart())->attributes() /* line %d% */;
2020
echo '>';
21-
echo LR\Filters::escapeHtmlText($ʟ_input->getCaption()) /* line %d% */;
21+
echo LR\Filters::escapeHtmlText($ʟ_elem->value) /* line %d% */;
2222
echo '</button>
2323
';
2424
echo Nette\Bridges\FormsLatte\Runtime::renderFormEnd(end($this->global->formsStack), false) /* line %d% */;

tests/Forms.Latte3/expected/forms.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,10 @@
6060
<form action="" method="post" class="form-class">
6161
<label for="frm-sex-m"> <input type="radio" name="sex" id="frm-sex-m" value="m"> male</label>
6262
<label for="frm-sex-m" title=hello> <input type="radio" name="sex" id="frm-sex-m" value="m"> </label>
63+
<label for="frm-sex-m" title=hello>male</label>
6364
<label for="frm-sex-f"> <input type="radio" name="sex" id="frm-sex-f" value="f"> female</label>
6465
<label for="frm-sex-f" title=hello> <input type="radio" name="sex" id="frm-sex-f" value="f"> </label>
66+
<label for="frm-sex-f" title=hello>female</label>
6567
<label></label>
6668
<label>Sex:</label>
6769
<label title="hello">Sex:</label>
@@ -77,8 +79,10 @@
7779

7880
<label for="frm-checklist-m"> <input type="checkbox" name="checklist[]" id="frm-checklist-m" value="m"> male</label>
7981
<label for="frm-checklist-m"> <input type="checkbox" name="checklist[]" id="frm-checklist-m" value="m" title=hello> </label>
82+
<label for="frm-checklist-m">male</label>
8083
<label for="frm-checklist-f"> <input type="checkbox" name="checklist[]" id="frm-checklist-f" value="f"> female</label>
8184
<label for="frm-checklist-f"> <input type="checkbox" name="checklist[]" id="frm-checklist-f" value="f" title=hello> </label>
85+
<label for="frm-checklist-f">female</label>
8286
<label></label>
8387
<label>CheckboxList:</label>
8488
<label title="hello">CheckboxList:</label>

tests/Forms.Latte3/expected/forms.php

Lines changed: 51 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -36,22 +36,22 @@
3636
echo '
3737
3838
<LABEL';
39-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('username', $this->global))->getLabelPart()->addAttributes(['title' => null])->attributes() /* line %d% */;
39+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('username', $this->global)->getLabelPart())->addAttributes(['title' => null])->attributes() /* line %d% */;
4040
echo ' title=hello>Name</LABEL>
4141
<input value=val type class="hello"';
42-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('username', $this->global))->getControlPart()->addAttributes(['value' => null, 'type' => null, 'class' => null])->attributes() /* line %d% */;
42+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('username', $this->global)->getControlPart())->addAttributes(['value' => null, 'type' => null, 'class' => null])->attributes() /* line %d% */;
4343
echo '>
4444
4545
<label';
46-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item($form['username'], $this->global))->getLabelPart()->attributes() /* line %d% */;
46+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item($form['username'], $this->global)->getLabelPart())->attributes() /* line %d% */;
4747
echo '></label>
4848
<label';
49-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item($form['username'], $this->global))->getLabelPart()->attributes() /* line %d% */;
49+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item($form['username'], $this->global)->getLabelPart())->attributes() /* line %d% */;
5050
echo '>';
51-
echo $ʟ_input->getLabelPart()->getHtml() /* line %d% */;
51+
echo $ʟ_elem->getHtml() /* line %d% */;
5252
echo '</label>
5353
<input';
54-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item($form['username'], $this->global))->getControlPart()->attributes() /* line %d% */;
54+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item($form['username'], $this->global)->getControlPart())->attributes() /* line %d% */;
5555
echo '>
5656
5757
';
@@ -86,29 +86,34 @@
8686
echo $ʟ_label?->endTag() /* line %d% */;
8787
echo '
8888
<label';
89-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global))->getLabelPart($key)->addAttributes(['title' => null])->attributes() /* line %d% */;
89+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global)->getLabelPart($key))->addAttributes(['title' => null])->attributes() /* line %d% */;
9090
echo ' title=hello> <input';
91-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global))->getControlPart($key)->attributes() /* line %d% */;
91+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global)->getControlPart($key))->attributes() /* line %d% */;
9292
echo '> </label>
93+
<label';
94+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global)->getLabelPart($key))->addAttributes(['title' => null])->attributes() /* line %d% */;
95+
echo ' title=hello>';
96+
echo $ʟ_elem->getHtml() /* line %d% */;
97+
echo '</label>
9398
';
9499

95100
}
96101

97102
echo '<label';
98-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global))->getLabelPart()->attributes() /* line %d% */;
103+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global)->getLabelPart())->attributes() /* line %d% */;
99104
echo '></label>
100105
<label';
101-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global))->getLabelPart()->attributes() /* line %d% */;
106+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global)->getLabelPart())->attributes() /* line %d% */;
102107
echo '>';
103-
echo $ʟ_input->getLabelPart()->getHtml() /* line %d% */;
108+
echo $ʟ_elem->getHtml() /* line %d% */;
104109
echo '</label>
105110
<label';
106-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global))->getLabelPart()->addAttributes(['title' => null])->attributes() /* line %d% */;
111+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global)->getLabelPart())->addAttributes(['title' => null])->attributes() /* line %d% */;
107112
echo ' title="hello">';
108-
echo $ʟ_input->getLabelPart()->getHtml() /* line %d% */;
113+
echo $ʟ_elem->getHtml() /* line %d% */;
109114
echo '</label>
110115
<input';
111-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item($form['sex'], $this->global))->getControlPart("{$key}")->attributes() /* line %d% */;
116+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item($form['sex'], $this->global)->getControlPart("{$key}"))->attributes() /* line %d% */;
112117
echo '>
113118
114119
@@ -120,24 +125,24 @@
120125
echo $ʟ_label?->endTag() /* line %d% */;
121126
echo '
122127
<label';
123-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('checkbox', $this->global))->getLabelPart('')->addAttributes(['title' => null])->attributes() /* line %d% */;
128+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('checkbox', $this->global)->getLabelPart(''))->addAttributes(['title' => null])->attributes() /* line %d% */;
124129
echo ' title=hello> <input';
125-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('checkbox', $this->global))->getControlPart('')->attributes() /* line %d% */;
130+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('checkbox', $this->global)->getControlPart(''))->attributes() /* line %d% */;
126131
echo '> </label>
127132
<label';
128-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('checkbox', $this->global))->getLabelPart()->addAttributes(['title' => null])->attributes() /* line %d% */;
133+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('checkbox', $this->global)->getLabelPart())->addAttributes(['title' => null])->attributes() /* line %d% */;
129134
echo ' title=hello> <input';
130-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('checkbox', $this->global))->getControlPart()->attributes() /* line %d% */;
135+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('checkbox', $this->global)->getControlPart())->attributes() /* line %d% */;
131136
echo '> </label>
132137
<label';
133-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('checkbox', $this->global))->getLabelPart('')->attributes() /* line %d% */;
138+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('checkbox', $this->global)->getLabelPart(''))->attributes() /* line %d% */;
134139
echo '>';
135-
echo $ʟ_input->getLabelPart()->getHtml() /* line %d% */;
140+
echo $ʟ_elem->getHtml() /* line %d% */;
136141
echo '</label>
137142
<label';
138-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('checkbox', $this->global))->getLabelPart()->addAttributes(['title' => null])->attributes() /* line %d% */;
143+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('checkbox', $this->global)->getLabelPart())->addAttributes(['title' => null])->attributes() /* line %d% */;
139144
echo ' title=hello>';
140-
echo $ʟ_input->getLabelPart()->getHtml() /* line %d% */;
145+
echo $ʟ_elem->getHtml() /* line %d% */;
141146
echo '</label>
142147
143148
@@ -152,26 +157,31 @@
152157
echo $ʟ_label?->endTag() /* line %d% */;
153158
echo '
154159
<label';
155-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('checklist', $this->global))->getLabelPart($key)->attributes() /* line %d% */;
160+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('checklist', $this->global)->getLabelPart($key))->attributes() /* line %d% */;
156161
echo '> <input';
157-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('checklist', $this->global))->getControlPart($key)->addAttributes(['title' => null])->attributes() /* line %d% */;
162+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('checklist', $this->global)->getControlPart($key))->addAttributes(['title' => null])->attributes() /* line %d% */;
158163
echo ' title=hello> </label>
164+
<label';
165+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('checklist', $this->global)->getLabelPart($key))->attributes() /* line %d% */;
166+
echo '>';
167+
echo $ʟ_elem->getHtml() /* line %d% */;
168+
echo '</label>
159169
';
160170

161171
}
162172

163173
echo '<label';
164-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('checklist', $this->global))->getLabelPart()->attributes() /* line %d% */;
174+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('checklist', $this->global)->getLabelPart())->attributes() /* line %d% */;
165175
echo '></label>
166176
<label';
167-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('checklist', $this->global))->getLabelPart()->attributes() /* line %d% */;
177+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('checklist', $this->global)->getLabelPart())->attributes() /* line %d% */;
168178
echo '>';
169-
echo $ʟ_input->getLabelPart()->getHtml() /* line %d% */;
179+
echo $ʟ_elem->getHtml() /* line %d% */;
170180
echo '</label>
171181
<label';
172-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('checklist', $this->global))->getLabelPart()->addAttributes(['title' => null])->attributes() /* line %d% */;
182+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('checklist', $this->global)->getLabelPart())->addAttributes(['title' => null])->attributes() /* line %d% */;
173183
echo ' title="hello">';
174-
echo $ʟ_input->getLabelPart()->getHtml() /* line %d% */;
184+
echo $ʟ_elem->getHtml() /* line %d% */;
175185
echo '</label>
176186
177187
@@ -183,7 +193,7 @@
183193
echo Nette\Bridges\FormsLatte\Runtime::renderFormBegin(end($this->global->formsStack), ['id' => null, 'class' => null], false) /* line %d% */;
184194
echo ' id="myForm" class="ajax">
185195
<input';
186-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('username', $this->global))->getControlPart()->attributes() /* line %d% */;
196+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('username', $this->global)->getControlPart())->attributes() /* line %d% */;
187197
echo '>
188198
';
189199
echo Nette\Bridges\FormsLatte\Runtime::renderFormEnd(end($this->global->formsStack), false) /* line %d% */;
@@ -201,7 +211,7 @@
201211
echo ($ʟ_tmp = array_filter(['nclass'])) ? ' class="' . LR\Filters::escapeHtmlAttr(implode(" ", array_unique($ʟ_tmp))) . '"' : "" /* line %d% */;
202212
echo '>
203213
<input';
204-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('username', $this->global))->getControlPart()->addAttributes(['class' => null])->attributes() /* line %d% */;
214+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('username', $this->global)->getControlPart())->addAttributes(['class' => null])->attributes() /* line %d% */;
205215
echo ($ʟ_tmp = array_filter(['nclass'])) ? ' class="' . LR\Filters::escapeHtmlAttr(implode(" ", array_unique($ʟ_tmp))) . '"' : "" /* line %d% */;
206216
echo '>
207217
';
@@ -218,7 +228,7 @@
218228
echo Nette\Bridges\FormsLatte\Runtime::renderFormBegin(end($this->global->formsStack), [], false) /* line %d% */;
219229
echo '>
220230
<input';
221-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('username', $this->global))->getControlPart()->attributes() /* line %d% */;
231+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('username', $this->global)->getControlPart())->attributes() /* line %d% */;
222232
echo '>
223233
';
224234
echo Nette\Bridges\FormsLatte\Runtime::renderFormEnd(end($this->global->formsStack), false) /* line %d% */;
@@ -228,25 +238,25 @@
228238
echo '
229239
230240
<select';
231-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('select', $this->global))->getControlPart()->attributes() /* line %d% */;
241+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('select', $this->global)->getControlPart())->attributes() /* line %d% */;
232242
echo '>';
233-
echo $ʟ_input->getControl()->getHtml() /* line %d% */;
243+
echo $ʟ_elem->getHtml() /* line %d% */;
234244
echo '</select>
235245
236246
237247
<textarea';
238-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('area', $this->global))->getControlPart()->addAttributes(['title' => null])->attributes() /* line %d% */;
248+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('area', $this->global)->getControlPart())->addAttributes(['title' => null])->attributes() /* line %d% */;
239249
echo ' title="';
240250
echo LR\Filters::escapeHtmlAttr(10) /* line %d% */;
241251
echo '">';
242-
echo $ʟ_input->getControl()->getHtml() /* line %d% */;
252+
echo $ʟ_elem->getHtml() /* line %d% */;
243253
echo '</textarea>
244254
245255
246256
<select';
247-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('select', $this->global))->getControlPart()->attributes() /* line %d% */;
257+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('select', $this->global)->getControlPart())->attributes() /* line %d% */;
248258
echo '>';
249-
echo $ʟ_input->getControl()->getHtml() /* line %d% */;
259+
echo $ʟ_elem->getHtml() /* line %d% */;
250260
echo '</select>
251261
';
252262
echo Nette\Bridges\FormsLatte\Runtime::renderFormEnd(array_pop($this->global->formsStack)) /* line %d% */;
@@ -259,12 +269,12 @@
259269
Nette\Bridges\FormsLatte\Runtime::initializeForm($form);
260270
echo '
261271
<label';
262-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global))->getLabelPart()->attributes() /* line %d% */;
272+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('sex', $this->global)->getLabelPart())->attributes() /* line %d% */;
263273
echo '>';
264-
echo $ʟ_input->getLabelPart()->getHtml() /* line %d% */;
274+
echo $ʟ_elem->getHtml() /* line %d% */;
265275
echo '</label>
266276
<input';
267-
echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item('username', $this->global))->getControlPart()->attributes() /* line %d% */;
277+
echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item('username', $this->global)->getControlPart())->attributes() /* line %d% */;
268278
echo '>
269279
';
270280
array_pop($this->global->formsStack) /* line %d% */;

tests/Forms.Latte3/n-name.input.phpt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ $latte->setLoader(new Latte\Loaders\StringLoader);
1919
$latte->addExtension(new FormsExtension);
2020

2121
Assert::match(
22-
'%A%echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item(\'foo\', $this->global))->getControlPart()->attributes() %A%',
22+
'%A%echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item(\'foo\', $this->global)->getControlPart())->attributes() %A%',
2323
$latte->compile('<input n:name="foo">'),
2424
);
2525

2626
Assert::match(
27-
'%A%echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item(\'foo\', $this->global))->getControlPart(\'\')->attributes() %A%',
27+
'%A%echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item(\'foo\', $this->global)->getControlPart(\'\'))->attributes() %A%',
2828
$latte->compile('<input n:name="foo:">'),
2929
);
3030

@@ -35,11 +35,11 @@ Assert::exception(
3535
);
3636

3737
Assert::match(
38-
'%A%echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item(\'foo\', $this->global))->getControlPart(\'x\')->attributes() %A%',
38+
'%A%echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item(\'foo\', $this->global)->getControlPart(\'x\'))->attributes() %A%',
3939
$latte->compile('<input n:name="foo:x">'),
4040
);
4141

4242
Assert::match(
43-
'%A%echo ($ʟ_input = Nette\Bridges\FormsLatte\Runtime::item(\'foo\', $this->global))->getControlPart(\'x\')->attributes() %A%',
43+
'%A%echo ($ʟ_elem = Nette\Bridges\FormsLatte\Runtime::item(\'foo\', $this->global)->getControlPart(\'x\'))->attributes() %A%',
4444
$latte->compile('<input n:name=\'"foo":"x"\'>'),
4545
);

tests/Forms.Latte3/templates/forms.latte

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
{foreach $form[sex]->items as $key => $label}
3131
{label sex:$key} {input sex:$key} {$label}{/label}
3232
<label n:name="sex:$key" title=hello> <input n:name="sex:$key"> </label>
33+
<label n:name="sex:$key" title=hello />
3334
{/foreach}
3435
<label n:name="sex"></label>
3536
<label n:name="sex" />
@@ -49,6 +50,7 @@
4950
{foreach $form[checklist]->items as $key => $label}
5051
{label checklist:$key} {input checklist:$key} {$label}{/label}
5152
<label n:name="checklist:$key"> <input n:name="checklist:$key" title=hello> </label>
53+
<label n:name="checklist:$key" />
5254
{/foreach}
5355
<label n:name="checklist"></label>
5456
<label n:name="checklist" />

0 commit comments

Comments
 (0)