diff --git a/modules/backend/classes/WidgetManager.php b/modules/backend/classes/WidgetManager.php index 007ad3571..827c7aa56 100644 --- a/modules/backend/classes/WidgetManager.php +++ b/modules/backend/classes/WidgetManager.php @@ -136,8 +136,11 @@ class WidgetManager return $this->formWidgets; } - /* + /** * Registers a single form form widget. + * @param string $className Widget class name. + * @param array $widgetInfo Registration information, can contain an 'alias' key. + * @return void */ public function registerFormWidget($className, $widgetInfo = null) { diff --git a/tests/unit/backend/classes/WidgetManagerTest.php b/tests/unit/backend/classes/WidgetManagerTest.php index b59951cf9..d1e577996 100644 --- a/tests/unit/backend/classes/WidgetManagerTest.php +++ b/tests/unit/backend/classes/WidgetManagerTest.php @@ -1,12 +1,25 @@ markTestIncomplete('TODO'); + $manager = WidgetManager::instance(); + $widget = $manager->makeWidget('Backend\Widgets\Search'); + $this->assertTrue($widget instanceof \Backend\Widgets\Search); + + $controller = new Controller; + $widget = $manager->makeWidget('Backend\Widgets\Search', $controller); + $this->assertInstanceOf('Backend\Widgets\Search', $widget); + $this->assertInstanceOf('Backend\Classes\Controller', $widget->getController()); + + $config = ['test' => 'config']; + $widget = $manager->makeWidget('Backend\Widgets\Search', null, $config); + $this->assertInstanceOf('Backend\Widgets\Search', $widget); + $this->assertEquals('config', $widget->getConfig('test')); } public function testListFormWidgets()