/** * @dataProvider magicWordsProvider */ public function testFindMagicWordInText($magicWord, $text, $expectedText, $expectedWord) { $instance = new MagicWordsFinder(); $word = $instance->findMagicWordInText($magicWord, $text); $this->assertInternalType('string', $word); $this->assertEquals($expectedWord, $word); $this->assertEquals($expectedText, $text); }
/** * @dataProvider magicWordDataProvider */ public function testStripMagicWords($namespace, $text, array $expected) { $parserData = new ParserData(Title::newFromText(__METHOD__, $namespace), new ParserOutput()); $magicWordsFinder = new MagicWordsFinder($parserData->getOutput()); $instance = new InTextAnnotationParser($parserData, $magicWordsFinder, new RedirectTargetFinder()); $instance->parse($text); $this->assertEquals($expected, $magicWordsFinder->getMagicWords()); }
protected function doStripMagicWordsFromText(&$text) { $words = array(); $this->magicWordsFinder->setOutput($this->parserData->getOutput()); $magicWords = array('SMW_NOFACTBOX', 'SMW_SHOWFACTBOX'); Hooks::run('SMW::Parser::BeforeMagicWordsFinder', array(&$magicWords)); foreach ($magicWords as $magicWord) { $words[] = $this->magicWordsFinder->findMagicWordInText($magicWord, $text); } $this->magicWordsFinder->pushMagicWordsToParserOutput($words); return $words; }