public static function onMakeGlobalVariablesScript(&$vars) { if (F::app()->wg->title->isSpecial('EditHub')) { $editHubModel = new EditHubModel(); $vars['wgEditHubConstants'] = $editHubModel->getAvailableStatuses(); $vars['wgEditHubThumbnailSize'] = $editHubModel->getThumbnailSize(); $vars['wgEditHubUrlRegex'] = trim(WikiaValidatorRestrictiveUrl::URL_RESTRICTIVE_REGEX, 'i/'); $vars['wgEditHubUrl'] = SpecialPage::getTitleFor('EditHub', 'editHub')->getFullURL(); } return true; }
/** * @group Slow * @slowExecutionTime 0.05753 ms */ public function testGetCalendarDataComplex() { $model = new EditHubModel(); $statuses = $model->getAvailableStatuses(); $selectData = array(array('hub_date' => '2012-12-25', 'module_status' => $statuses['PUBLISHED']), array('hub_date' => '2013-01-05', 'module_status' => $statuses['NOT_PUBLISHED']), array('hub_date' => '2013-01-08', 'module_status' => $statuses['NOT_PUBLISHED'])); $dbMock = $this->getMock('DatabaseMysql', array('makeList', 'select', 'fetchRow')); $dbMock->expects($this->any())->method('makeList')->will($this->returnValue('')); $dbMock->expects($this->at(2))->method('fetchRow')->will($this->returnValue($selectData[0])); $dbMock->expects($this->at(3))->method('fetchRow')->will($this->returnValue($selectData[1])); $dbMock->expects($this->at(4))->method('fetchRow')->will($this->returnValue($selectData[2])); $dbMock->expects($this->at(5))->method('fetchRow')->will($this->returnValue(false)); $dbMock->expects($this->once())->method('select')->will($this->returnValue(array())); $this->mockGlobalFunction('wfGetDB', $dbMock); // create object second time to use mocked F:app() $model = new EditHubModel(); $data = $model->getCalendarData('en', 2, 1351728000, 1364774400); $this->assertArrayHasKey('2012-12-25', $data); $this->assertArrayHasKey('2013-01-05', $data); $this->assertArrayHasKey('2013-01-08', $data); $this->assertEquals($statuses['PUBLISHED'], $data['2012-12-25']); $this->assertEquals($statuses['NOT_PUBLISHED'], $data['2013-01-05']); $this->assertEquals($statuses['NOT_PUBLISHED'], $data['2013-01-08']); }