Commit 154c2777 by Alexander Makarov

Merge pull request #3995 from njasm/master

Added more unit tests to widgets\Breadcrumbs and increased coverage to 100%
parents 1b12ddee 6974e84f
...@@ -13,16 +13,35 @@ use yii\widgets\Breadcrumbs; ...@@ -13,16 +13,35 @@ use yii\widgets\Breadcrumbs;
class BreadcrumbsTest extends \yiiunit\TestCase class BreadcrumbsTest extends \yiiunit\TestCase
{ {
private $breadcrumbs; private $breadcrumbs;
private $app;
public function setUp() public function setUp()
{ {
$this->app = $this->mockApplication(); // dirty way to have Request object not throwing exception when running testHomeLinkNull()
Yii::setAlias('@testWeb', '/'); $_SERVER['SCRIPT_FILENAME'] = "index.php";
Yii::setAlias('@testWebRoot', '@yiiunit/data/web'); $_SERVER['SCRIPT_NAME'] = "index.php";
$this->mockApplication([], 'yii\web\Application');
$this->breadcrumbs = new Breadcrumbs(); $this->breadcrumbs = new Breadcrumbs();
} }
public function testHomeLinkNull()
{
$this->breadcrumbs->homeLink = null;
$this->breadcrumbs->links = ['label' => 'My Home Page', 'url' => 'http://my.example.com/yii2/link/page'];
$expectedHtml = "<ul class=\"breadcrumb\"><li><a href=\"./index.php\">Home</a></li>\n"
. "<li class=\"active\">My Home Page</li>\n"
. "<li class=\"active\">http://my.example.com/yii2/link/page</li>\n"
. "</ul>";
ob_start();
$this->breadcrumbs->run();
$actualHtml = ob_get_contents();
ob_end_clean();
$this->assertEquals($expectedHtml, $actualHtml);
}
public function testEmptyLinks() public function testEmptyLinks()
{ {
$this->assertNull($this->breadcrumbs->run()); $this->assertNull($this->breadcrumbs->run());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment