/** * TARGET : displaySelectLanguage * Scenario1 : * For this test, we know (@see setUp()) that : * -Default Language : 'en' * -Other Available language : 'fr', 'de' * * Page A is in 'en' * Page B is in 'en' * Page C is in 'fr' * Page D is in 'de' * Page E is in 'de' * A is translated by C, D, E * B is translated by C * */ public function testDisplaySelectLanguage_scenario1_ndl() { global $mgAvailableLanguage; global $wgContLanguageCode; global $allMessages; $controller = new MultiLanguageManager_controller(); $display = new MultiLanguageManager_displaytest(); $controller->setDisplay($display); MultiLanguageManager_controller::setUILanguage($this->notDefaultLanguage); $this->assertEquals(array_key_exists('de', $allMessages), TRUE); //Datas initialization $this->dbw->safeQuery("INSERT INTO ! (page_id, lang) VALUES (?, ?)", $this->db_page_language, $this->pageswithoutlanguage[2], 'fr'); $this->assertEquals($this->dbw->affectedRows(), 1); $this->dbw->safeQuery("INSERT INTO ! (page_id, lang) VALUES (?, ?)", $this->db_page_language, $this->pageswithoutlanguage[3], 'de'); $this->assertEquals($this->dbw->affectedRows(), 1); $this->dbw->safeQuery("INSERT INTO ! (page_id, lang) VALUES (?, ?)", $this->db_page_language, $this->pageswithoutlanguage[4], 'de'); $this->assertEquals($this->dbw->affectedRows(), 1); $this->dbw->safeQuery("INSERT INTO ! (source, translate) VALUES (?, ?)", $this->db_page_translation, $this->pageswithoutlanguage[0], $this->pageswithoutlanguage[2]); $this->assertEquals($this->dbw->affectedRows(), 1); $this->dbw->safeQuery("INSERT INTO ! (source, translate) VALUES (?, ?)", $this->db_page_translation, $this->pageswithoutlanguage[0], $this->pageswithoutlanguage[3]); $this->assertEquals($this->dbw->affectedRows(), 1); $this->dbw->safeQuery("INSERT INTO ! (source, translate) VALUES (?, ?)", $this->db_page_translation, $this->pageswithoutlanguage[0], $this->pageswithoutlanguage[4]); $this->assertEquals($this->dbw->affectedRows(), 1); $this->dbw->safeQuery("INSERT INTO ! (source, translate) VALUES (?, ?)", $this->db_page_translation, $this->pageswithoutlanguage[1], $this->pageswithoutlanguage[2]); $this->assertEquals($this->dbw->affectedRows(), 1); //Scenario1 ready $this->assertEquals($controller->displaySelectLanguage(Title::newFromId($this->pageswithoutlanguage[1])), "displayDirectPageLink(displayLanguageElement(fr)," . $this->pageswithoutlanguage[2] . ")displayLanguageLinkPopup(displayLanguageElement(de)," . wfMsgHtml('multilanguagemanager_notranslation', wfMsgHtml('multilanguagemanager_de')) . ")"); $this->assertEquals($controller->displaySelectLanguage(Title::newFromId($this->pageswithoutlanguage[0])), "displayDirectPageLink(displayLanguageElement(fr)," . $this->pageswithoutlanguage[2] . ")displayLanguageLinkPopup(displayLanguageElement(de),displayListTranslation(de,(" . $this->pageswithoutlanguage[3] . " " . $this->pageswithoutlanguage[4] . " )))"); }