1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
<?php
namespace Illuminate\Tests\View\Blade;
use Illuminate\Support\Str;
class BladePrependTest extends AbstractBladeTestCase
{
public function testPrependIsCompiled()
{
$string = '@prepend(\'foo\')
bar
@endprepend';
$expected = '<?php $__env->startPrepend(\'foo\'); ?>
bar
<?php $__env->stopPrepend(); ?>';
$this->assertEquals($expected, $this->compiler->compileString($string));
}
public function testPrependOnceIsCompiled()
{
$string = '@prependOnce(\'foo\', \'bar\')
test
@endPrependOnce';
$expected = '<?php if (! $__env->hasRenderedOnce(\'bar\')): $__env->markAsRenderedOnce(\'bar\');
$__env->startPrepend(\'foo\'); ?>
test
<?php $__env->stopPrepend(); endif; ?>';
$this->assertEquals($expected, $this->compiler->compileString($string));
}
public function testPrependOnceIsCompiledWhenIdIsMissing()
{
Str::createUuidsUsing(fn () => 'e60e8f77-9ac3-4f71-9f8e-a044ef481d7f');
$string = '@prependOnce(\'foo\')
test
@endPrependOnce';
$expected = '<?php if (! $__env->hasRenderedOnce(\'e60e8f77-9ac3-4f71-9f8e-a044ef481d7f\')): $__env->markAsRenderedOnce(\'e60e8f77-9ac3-4f71-9f8e-a044ef481d7f\');
$__env->startPrepend(\'foo\'); ?>
test
<?php $__env->stopPrepend(); endif; ?>';
$this->assertEquals($expected, $this->compiler->compileString($string));
}
}
|