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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
<?php
namespace Illuminate\Tests\View\Blade;
class BladeBreakStatementsTest extends AbstractBladeTestCase
{
public function testBreakStatementsAreCompiled()
{
$string = '@for ($i = 0; $i < 10; $i++)
test
@break
@endfor';
$expected = '<?php for($i = 0; $i < 10; $i++): ?>
test
<?php break; ?>
<?php endfor; ?>';
$this->assertEquals($expected, $this->compiler->compileString($string));
}
public function testBreakStatementsWithExpressionAreCompiled()
{
$string = '@for ($i = 0; $i < 10; $i++)
test
@break(TRUE)
@endfor';
$expected = '<?php for($i = 0; $i < 10; $i++): ?>
test
<?php if(TRUE) break; ?>
<?php endfor; ?>';
$this->assertEquals($expected, $this->compiler->compileString($string));
}
public function testBreakStatementsWithArgumentAreCompiled()
{
$string = '@for ($i = 0; $i < 10; $i++)
test
@break(2)
@endfor';
$expected = '<?php for($i = 0; $i < 10; $i++): ?>
test
<?php break 2; ?>
<?php endfor; ?>';
$this->assertEquals($expected, $this->compiler->compileString($string));
}
public function testBreakStatementsWithSpacedArgumentAreCompiled()
{
$string = '@for ($i = 0; $i < 10; $i++)
test
@break( 2 )
@endfor';
$expected = '<?php for($i = 0; $i < 10; $i++): ?>
test
<?php break 2; ?>
<?php endfor; ?>';
$this->assertEquals($expected, $this->compiler->compileString($string));
}
public function testBreakStatementsWithFaultyArgumentAreCompiled()
{
$string = '@for ($i = 0; $i < 10; $i++)
test
@break(-2)
@endfor';
$expected = '<?php for($i = 0; $i < 10; $i++): ?>
test
<?php break 1; ?>
<?php endfor; ?>';
$this->assertEquals($expected, $this->compiler->compileString($string));
}
}
|