public function testHandle()
 {
     $parser = new Parser();
     $parser->startExternalParse(null, new ParserOptions(), Parser::OT_HTML);
     NoLangLinkHandler::handle($parser, '*');
     $actual = NoLangLinkHandler::getNoExternalLangLinks($parser->getOutput());
     $this->assertEquals(array('*'), $actual);
 }
 /**
  * Apply the magic word.
  */
 public static function onParserGetVariableValueSwitch(Parser &$parser, &$cache, &$magicWordId, &$ret)
 {
     if ($magicWordId === 'noexternallanglinks') {
         NoLangLinkHandler::handle($parser, '*');
     } elseif ($magicWordId === 'wbreponame') {
         // @todo factor out, with tests
         $wikibaseClient = WikibaseClient::getDefaultInstance();
         $settings = $wikibaseClient->getSettings();
         $repoSiteName = $settings->getSetting('repoSiteName');
         $message = new Message($repoSiteName);
         if ($message->exists()) {
             $lang = $parser->getTargetLanguage();
             $ret = $message->inLanguage($lang)->parse();
         } else {
             $ret = $repoSiteName;
         }
     }
     return true;
 }