<?php namespace yiiunit\extensions\bootstrap; use yii\bootstrap\Dropdown; /** * Tests for Dropdown widget * * @group bootstrap */ class DropdownTest extends TestCase { public function testIds() { Dropdown::$counter = 0; $out = Dropdown::widget( [ 'items' => [ [ 'label' => 'Page1', 'content' => 'Page1', ], [ 'label' => 'Dropdown1', 'items' => [ ['label' => 'Page2', 'content' => 'Page2'], ['label' => 'Page3', 'content' => 'Page3'], ] ], [ 'label' => 'Dropdown2', 'visible' => false, 'items' => [ ['label' => 'Page4', 'content' => 'Page4'], ['label' => 'Page5', 'content' => 'Page5'], ] ] ] ] ); $expected = <<<EXPECTED <ul id="w0" class="dropdown-menu"><li class="dropdown-header">Page1</li> <li class="dropdown-submenu"><a href="#" tabindex="-1">Dropdown1</a><ul><li class="dropdown-header">Page2</li> <li class="dropdown-header">Page3</li></ul></li></ul> EXPECTED; $this->assertEqualsWithoutLE($expected, $out); } public function testSubMenuOptions() { Dropdown::$counter = 0; $out = Dropdown::widget( [ 'submenuOptions' => [ 'class' => 'submenu-list', ], 'items' => [ [ 'label' => 'Dropdown1', 'items' => [ ['label' => 'Page1', 'content' => 'Page2'], ['label' => 'Page2', 'content' => 'Page3'], ] ], [ 'label' => 'Dropdown2', 'items' => [ ['label' => 'Page3', 'content' => 'Page4'], ['label' => 'Page4', 'content' => 'Page5'], ], 'submenuOptions' => [ 'class' => 'submenu-override', ], ] ] ] ); $expected = <<<EXPECTED <ul id="w0" class="dropdown-menu"><li class="dropdown-submenu"><a href="#" tabindex="-1">Dropdown1</a><ul class="submenu-list"><li class="dropdown-header">Page1</li> <li class="dropdown-header">Page2</li></ul></li> <li class="dropdown-submenu"><a href="#" tabindex="-1">Dropdown2</a><ul class="submenu-override"><li class="dropdown-header">Page3</li> <li class="dropdown-header">Page4</li></ul></li></ul> EXPECTED; $this->assertEqualsWithoutLE($expected, $out); } }