mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-05 17:51:40 +09:00
Add loop variable and dump directive; reorganize template v2 unit tests
This commit is contained in:
parent
fe804163bf
commit
a6afa3a61d
7 changed files with 394 additions and 41 deletions
|
|
@ -28,14 +28,14 @@
|
|||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<?php $__tmp_8eaec5a37bc467 = Context::get('bar') ?? []; if($__tmp_8eaec5a37bc467): foreach ($__tmp_8eaec5a37bc467 as $__Context->k => $__Context->val): ?>
|
||||
<?php $__tmp_RANDOM_LOOP_ID = Context::get('bar') ?? []; if($__tmp_RANDOM_LOOP_ID): $__loop_RANDOM_LOOP_ID = $this->_v2_initLoopVar("RANDOM_LOOP_ID", $__tmp_RANDOM_LOOP_ID); foreach ($__tmp_RANDOM_LOOP_ID as $__Context->k => $__Context->val): ?>
|
||||
<div>
|
||||
<?php if (empty($__Context->nosuchvar)): ?>
|
||||
<img src="/rhymix/tests/_data/template/bar/rhymix.svg" alt="unit tests are cool" />
|
||||
<span <?php if ($__Context->k >= 2): ?>class="<?php echo htmlspecialchars($__Context->val ?? '', \ENT_QUOTES, 'UTF-8', false); ?>"<?php endif; ?>></span>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php endforeach; else: ?><div>Nothing here...</div><?php endif; ?>
|
||||
<?php $this->_v2_incrLoopVar($__loop_RANDOM_LOOP_ID); endforeach; $this->_v2_removeLoopVar($__loop_RANDOM_LOOP_ID); unset($__loop_RANDOM_LOOP_ID); else: ?><div>Nothing here...</div><?php endif; ?>
|
||||
|
||||
<?php (function($__dir, $__path, $__vars, $__varname, $__empty = null) { if (!$__vars): $__vars = []; if ($__empty): $__path = $__empty; $__vars[] = ''; endif; endif; foreach ($__vars as $__var): $__tpl = new \Rhymix\Framework\Template($__dir, $__path, "html"); $__tpl->setVars([(string)$__varname => $__var]); echo $__tpl->compile(); endforeach; })($this->relative_dirname, 'incl/eachtest', $__Context->bar, 'var'); ?>
|
||||
<?php (function($__dir, $__path, $__vars, $__varname, $__empty = null) { if (!$__vars): $__vars = []; if ($__empty): $__path = $__empty; $__vars[] = ''; endif; endif; foreach ($__vars as $__var): $__tpl = new \Rhymix\Framework\Template($__dir, $__path, "html"); $__tpl->setVars([(string)$__varname => $__var]); echo $__tpl->compile(); endforeach; })($this->relative_dirname, 'incl/eachtest', [], 'anything', 'incl/empty'); ?>
|
||||
179
tests/_data/template/v2loops.executed.html
Normal file
179
tests/_data/template/v2loops.executed.html
Normal file
|
|
@ -0,0 +1,179 @@
|
|||
<h1>Pets</h1>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<span>A red dog</span>
|
||||
<span>current index 0 of 5</span>
|
||||
<span>parent index 0 of 5</span>
|
||||
<span>first: bool(true)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A red cat</span>
|
||||
<span>current index 1 of 5</span>
|
||||
<span>parent index 0 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A red rabbit</span>
|
||||
<span>current index 2 of 5</span>
|
||||
<span>parent index 0 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A red panda</span>
|
||||
<span>current index 3 of 5</span>
|
||||
<span>parent index 0 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A red otter</span>
|
||||
<span>current index 4 of 5</span>
|
||||
<span>parent index 0 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(true)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A blue dog</span>
|
||||
<span>current index 0 of 5</span>
|
||||
<span>parent index 1 of 5</span>
|
||||
<span>first: bool(true)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A blue cat</span>
|
||||
<span>current index 1 of 5</span>
|
||||
<span>parent index 1 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A blue rabbit</span>
|
||||
<span>current index 2 of 5</span>
|
||||
<span>parent index 1 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A blue panda</span>
|
||||
<span>current index 3 of 5</span>
|
||||
<span>parent index 1 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A blue otter</span>
|
||||
<span>current index 4 of 5</span>
|
||||
<span>parent index 1 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(true)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A yellow dog</span>
|
||||
<span>current index 0 of 5</span>
|
||||
<span>parent index 2 of 5</span>
|
||||
<span>first: bool(true)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A yellow cat</span>
|
||||
<span>current index 1 of 5</span>
|
||||
<span>parent index 2 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A yellow rabbit</span>
|
||||
<span>current index 2 of 5</span>
|
||||
<span>parent index 2 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A yellow panda</span>
|
||||
<span>current index 3 of 5</span>
|
||||
<span>parent index 2 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A yellow otter</span>
|
||||
<span>current index 4 of 5</span>
|
||||
<span>parent index 2 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(true)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A black dog</span>
|
||||
<span>current index 0 of 5</span>
|
||||
<span>parent index 3 of 5</span>
|
||||
<span>first: bool(true)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A black cat</span>
|
||||
<span>current index 1 of 5</span>
|
||||
<span>parent index 3 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A black rabbit</span>
|
||||
<span>current index 2 of 5</span>
|
||||
<span>parent index 3 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A black panda</span>
|
||||
<span>current index 3 of 5</span>
|
||||
<span>parent index 3 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A black otter</span>
|
||||
<span>current index 4 of 5</span>
|
||||
<span>parent index 3 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(true)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A white dog</span>
|
||||
<span>current index 0 of 5</span>
|
||||
<span>parent index 4 of 5</span>
|
||||
<span>first: bool(true)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A white cat</span>
|
||||
<span>current index 1 of 5</span>
|
||||
<span>parent index 4 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A white rabbit</span>
|
||||
<span>current index 2 of 5</span>
|
||||
<span>parent index 4 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A white panda</span>
|
||||
<span>current index 3 of 5</span>
|
||||
<span>parent index 4 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(false)</span>
|
||||
</li>
|
||||
<li>
|
||||
<span>A white otter</span>
|
||||
<span>current index 4 of 5</span>
|
||||
<span>parent index 4 of 5</span>
|
||||
<span>first: bool(false)</span>
|
||||
<span>last: bool(true)</span>
|
||||
</li>
|
||||
</ul>
|
||||
22
tests/_data/template/v2loops.html
Normal file
22
tests/_data/template/v2loops.html
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
@version(2)
|
||||
|
||||
@php
|
||||
$foo = ['red', 'blue', 'yellow', 'black', 'white'];
|
||||
$bar = ['dog', 'cat', 'rabbit', 'panda', 'otter'];
|
||||
@endphp
|
||||
|
||||
<h1>Pets</h1>
|
||||
|
||||
<ul>
|
||||
@foreach ($foo as $color)
|
||||
@foreach ($bar as $animal)
|
||||
<li>
|
||||
<span>A {{ $color }} {{ $animal }}</span>
|
||||
<span>current index {{ $loop->index }} of {{ $loop->count }}</span>
|
||||
<span>parent index {{ $loop->parent->index }} of {{ $loop->parent->count }}</span>
|
||||
<span>first: @dump($loop->first)</span>
|
||||
<span>last: @dump($loop->last)</span>
|
||||
</li>
|
||||
@endforeach
|
||||
@endforeach
|
||||
</ul>
|
||||
Loading…
Add table
Add a link
Reference in a new issue