/** * @covers ::run */ public function testScriptGeneration() { $widget = $this->makeWidget(); $widget->id = 'foo'; $widget->alerts = ['foo' => 'bar']; $widget->events = ['click' => 'return foobar()']; TestHelper::runAndCapture($widget); $cs = \Yii::app()->clientScript; $script = $cs->scripts[$cs->defaultScriptPosition][get_class($widget) . '#' . $widget->getId()]; $this->assertEquals("jQuery('#foo .alert').on('click','return foobar()');", $script); }
/** * @cover ::registerClientScript */ public function testRegisterClientScript() { /** @var CClientScript $cs */ $cs = Yii::app()->clientScript; $cs->reset(); $widget = $this->makeWidget(); $widget->cssFile = false; TestHelper::runAndCapture($widget); $this->assertEmpty(TestHelper::getPropValue($cs, 'cssFiles')); $widget = $this->makeWidget(); $widget->cssFile = 'blargh'; TestHelper::runAndCapture($widget); $this->assertTrue($cs->isCssFileRegistered('blargh')); }
/** * @covers ::run */ public function testRunLinksRendering() { // no output produced on empty links $widget = $this->makeWidget(); $content = TestHelper::runAndCapture($widget); $this->assertEmpty($content); // separator between links $widget = $this->makeWidget(); $widget->homeLink = 'foobar'; $widget->links = ['foo' => 'bar', 'end']; $widgetContent = TestHelper::runAndCapture($widget); $actualHtml = new DOMDocument(); $actualHtml->loadHTML($widgetContent); $expectedHtml = new DOMDocument(); $expectedHtml->loadHTML('<ul class="breadcrumb"><li class="active">foobar<span class="divider">/</span></li><li><a href="bar">foo</a><span class="divider">/</span></li><li class="active">end</li></ul>'); $this->assertEquals($expectedHtml, $actualHtml); }