<?php
/**
* Test the widget/iframe controller.
*
* @copyright 2011 Perforce Software. All rights reserved.
* @license Please see LICENSE.txt in top-level folder of this distribution.
* @version <release>/<patch>
*/
class Widget_Test_IframeWidgetControllerTest extends ModuleControllerTest
{
protected $_widget = null;
/**
* Clear caches prior to start of each test.
*/
public function setUp()
{
parent::setUp();
P4Cms_Widget_Type::clearCache();
// install default widgets.
P4Cms_Widget::installDefaults();
// add an iframe widget widget
$this->_widget = P4Cms_Widget::factory('widget/iframe');
$this->_widget->setValue('region', 'test')
->save();
}
/**
* Test iframe widget partial output
*/
public function testPartial()
{
$id = $this->_widget->getId();
$this->dispatch('/widget/index/index/format/partial/region/test/widget/' . $id);
$responseBody = $this->response->getBody();
$this->assertModule('widget', 'Expected widget module.');
$this->assertController('index', 'Expected index controller.');
$this->assertAction('index', 'Expected index action.');
// an empty rotator should have no output
$this->assertRegExp("/id=\"widget-$id\"/", $responseBody, 'Expected widget id');
$this->assertRegExp(
'/widgetType="widget/iframe"/',
$responseBody,
'Expected widget type'
);
$this->assertRegExp(
"/<div id=\"widget-$id-content\" class=\"widget-content\">"
. "\s+<p>IFrame source URL not set\.<\/p>\s+<\/div>/",
$responseBody,
'Expected widget content markup'
);
}
/**
* Test the iframe's configuration structure.
*/
public function testConfigureRequest()
{
$this->utility->impersonate('editor');
$id = $this->_widget->getId();
$this->dispatch('/widget/index/configure/region/test/widget/' . $id);
$responseBody = $this->response->getBody();
$this->assertModule('widget', 'Last module run should be widget module; '. $responseBody);
$this->assertController('index', 'Expected controller; '. $responseBody);
$this->assertAction('configure', 'Expected action; '. $responseBody);
// verify form looks correct.
$this->assertQuery(
"input#widget-$id-config-iframeSrc",
'Expected iframe src element in form'
);
$this->assertQuery(
"input#widget-$id-config-iframeWidth",
'Expected iframeWidth element in form'
);
$this->assertQuery(
"input#widget-$id-config-iframeHeight",
'Expected iframeHeight element in form'
);
$this->assertQuery(
"select#widget-$id-config-iframeScroll",
'Expected iframeScroll element in form'
);
}
}
# |
Change |
User |
Description |
Committed |
|
#1
|
16170 |
perforce_software |
Move Chronicle files to follow new path scheme for branching. |
|
|
//guest/perforce_software/chronicle/application/widget/tests/IframeWidgetControllerTest.php |
#1
|
8972 |
Matt Attaway |
Initial add of the Chronicle source code |
|
|