public function index() { $this->wg->Out->setPageTitle(wfMsg('wikifeatures-title')); if (!$this->wg->User->isAllowed('wikifeaturesview')) { // show this feature to logged in users only regardless of their rights $this->displayRestrictionError(); return false; // skip rendering } $this->isOasis = F::app()->checkSkin('oasis'); if (!$this->isOasis) { $this->forward('WikiFeaturesSpecial', 'notOasis'); return; } $this->response->addAsset('extensions/wikia/WikiFeatures/css/WikiFeatures.scss'); $this->response->addAsset('extensions/wikia/WikiFeatures/js/modernizr.transform.js'); $this->response->addAsset('extensions/wikia/WikiFeatures/js/WikiFeatures.js'); if ($this->getVal('simulateNewLabs', false)) { // debug code WikiFeaturesHelper::$release_date = array('wgEnableChat' => '2032-09-01'); } $this->features = WikiFeaturesHelper::getInstance()->getFeatureNormal(); $this->labsFeatures = WikiFeaturesHelper::getInstance()->getFeatureLabs(); $this->editable = $this->wg->User->isAllowed('wikifeatures') ? true : false; // only those with rights can make edits if ($this->getVal('simulateEmptyLabs', false)) { // debug code $this->labsFeatures = array(); } }
/** * @dataProvider getFeatureLabsDataProvider */ public function testGetFeatureLabs($wg_wiki_features, $exp_result, $cache_value = null, $release_date = array()) { $this->setUpGetFeature('labs', $wg_wiki_features); $this->setUpMock($cache_value); $helper = new WikiFeaturesHelper(); WikiFeaturesHelper::$release_date = $release_date; $response = $helper->getFeatureLabs(); $this->assertEquals($exp_result, $response); $this->tearDownGetFeature(); }
/** * @dataProvider getFeatureLabsDataProvider */ public function testGetFeatureLabs($wg_wiki_features, $exp_result, $cache_value = null, $release_date = array()) { $this->setUpGetFeature('labs', $wg_wiki_features); $this->setUpMock($cache_value); $helper = new WikiFeaturesHelper(); WikiFeaturesHelper::$release_date = $release_date; $response = $helper->getFeatureLabs(); $actual_features = []; foreach ($response as $actual_feature) { $actual_features[$actual_feature['name']] = true; } foreach ($exp_result as $feature) { $this->assertArrayHasKey($feature['name'], $actual_features); } $this->tearDownGetFeature(); }