/
githubmirror
/
framework
Обзор
Документация
Войти
/
githubmirror
/
framework
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
13.x
tests/View/Blade/BladePushTest.php
118 строк
3 KB
Taylor Otwell
Revert "Use Str::uuid()->toString() instead of (string) casts (#60995)" (#61028)
04 авг 2026, 17:04
Не верифицирован
04 авг 2026, 17:04
68b8267
Код
Авторство
О чём код?
<?php namespace Illuminate\Tests\View\Blade; use Illuminate\Support\Str; class BladePushTest extends AbstractBladeTestCase { public function testPushIsCompiled() { $string = '@push(\'foo\') test @endpush'; $expected = '<?php $__env->startPush(\'foo\'); ?> test <?php $__env->stopPush(); ?>'; $this->assertEquals($expected, $this->compiler->compileString($string)); } public function testPushIsCompiledWithParenthesis() { $string = '@push(\'foo):))\') test @endpush'; $expected = '<?php $__env->startPush(\'foo):))\'); ?> test <?php $__env->stopPush(); ?>'; $this->assertEquals($expected, $this->compiler->compileString($string)); } public function testPushOnceIsCompiled() { $string = '@pushOnce(\'foo\', \'bar\') test @endPushOnce'; $expected = '<?php if (! $__env->hasRenderedOnce(\'bar\')): $__env->markAsRenderedOnce(\'bar\'); $__env->startPush(\'foo\'); ?> test <?php $__env->stopPush(); endif; ?>'; $this->assertEquals($expected, $this->compiler->compileString($string)); } public function testPushOnceIsCompiledWhenIdIsMissing() { Str::createUuidsUsing(fn () => 'e60e8f77-9ac3-4f71-9f8e-a044ef481d7f'); $string = '@pushOnce(\'foo\') test @endPushOnce'; $expected = '<?php if (! $__env->hasRenderedOnce(\'e60e8f77-9ac3-4f71-9f8e-a044ef481d7f\')): $__env->markAsRenderedOnce(\'e60e8f77-9ac3-4f71-9f8e-a044ef481d7f\'); $__env->startPush(\'foo\'); ?> test <?php $__env->stopPush(); endif; ?>'; $this->assertEquals($expected, $this->compiler->compileString($string)); } public function testPushIfIsCompiled() { $string = '@pushIf(true, \'foo\') test @endPushIf'; $expected = '<?php if(true): $__env->startPush( \'foo\'); ?> test <?php $__env->stopPush(); endif; ?>'; $this->assertEquals($expected, $this->compiler->compileString($string)); } public function testPushIfWithMoreThanOneCommaIsCompiled() { $string = '@pushIf(Str::startsWith(\'abc\', \'a\'), \'body-end\') test @endPushIf'; $expected = '<?php if(Str::startsWith(\'abc\', \'a\')): $__env->startPush(\'body-end\'); ?> test <?php $__env->stopPush(); endif; ?>'; $this->assertEquals($expected, $this->compiler->compileString($string)); } public function testPushIfWithCommaInStringIsCompiled() { $string = '@pushIf(Str::startsWith(\'abc,,,\', \'a,,,\'), \'body-end\') test @endPushIf'; $expected = '<?php if(Str::startsWith(\'abc,,,\', \'a,,,\')): $__env->startPush(\'body-end\'); ?> test <?php $__env->stopPush(); endif; ?>'; $this->assertEquals($expected, $this->compiler->compileString($string)); } public function testPushIfElseIsCompiled() { $string = '@pushIf(true, \'stack\') if @elsePushIf(false, \'stack\') elseif @elsePush(\'stack\') else @endPushIf'; $expected = '<?php if(true): $__env->startPush( \'stack\'); ?> if <?php $__env->stopPush(); elseif(false): $__env->startPush( \'stack\'); ?> elseif <?php $__env->stopPush(); else: $__env->startPush(\'stack\'); ?> else <?php $__env->stopPush(); endif; ?>'; $this->assertEquals($expected, $this->compiler->compileString($string)); } }