/** * @dataProvider magicWordsProvider */ public function testMatchAndRemove($magicWord, $text, $expectedText, $expectedWords) { $instance = new MagicWordFinder(); $words = $instance->matchAndRemove($magicWord, $text); $this->assertInternalType('array', $words); $this->assertEquals($expectedWords, $words); $this->assertEquals($expectedText, $text); }
/** * @dataProvider magicWordDataProvider */ public function testStripMagicWords($namespace, $text, array $expected) { $parserData = new ParserData(Title::newFromText(__METHOD__, $namespace), new ParserOutput()); $magicWordFinder = new MagicWordFinder($parserData->getOutput()); $instance = new InTextAnnotationParser($parserData, $magicWordFinder, new RedirectTargetFinder()); $instance->parse($text); $this->assertEquals($expected, $magicWordFinder->getMagicWords()); }
protected function doStripMagicWordsFromText(&$text) { $words = array(); $this->magicWordFinder->setOutput($this->parserData->getOutput()); foreach (array('SMW_NOFACTBOX', 'SMW_SHOWFACTBOX') as $magicWord) { $words = $words + $this->magicWordFinder->matchAndRemove($magicWord, $text); } $this->magicWordFinder->pushMagicWordsToParserOutput($words); return $words; }