for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types = 1);
namespace Yiisoft\Widget\Tests;
use Yiisoft\Tests\TestCase;
use Yiisoft\Widget\Tests\Stubs\TestWidget;
use Yiisoft\Widget\Tests\Stubs\TestWidgetA;
use Yiisoft\Widget\Tests\Stubs\TestWidgetB;
use Yiisoft\Widget\Widget;
/**
* WidgetTest.
*/
class WidgetTest extends TestCase
{
* @var Widget $widget
protected $widget;
public function testWidget(): void
$output = TestWidget::widget()->id('w0')->run();
$this->assertSame('<run-w0>', $output);
}
public function testBeginEnd(): void
ob_start();
ob_implicit_flush(0);
$widget = TestWidgetA::begin()->id('test');
$this->assertInstanceOf(Widget::class, $widget);
TestWidgetA::end();
$output = ob_get_clean();
$this->assertSame('<run-test>', $output);
* @depends testBeginEnd
public function testStackTracking(): void
$this->expectException('BadFunctionCallException');
TestWidget::end();
public function testStackTrackingDisorder(): void
TestWidgetA::begin();
TestWidgetB::end();