/** * @param array $options * @param array $phpFiles * @param array $jsFiles * @param array $phpMap * @param array $jsMap * @paran array $phraseFactoryMap * @param array $expectedResult * @dataProvider addPhraseDataProvider */ public function testAddPhrase($options, $phpFiles, $jsFiles, $phpMap, $jsMap, $phraseFactoryMap, $expectedResult) { // 1. Create mocks $phpAdapter = new AdapterStub(); $jsAdapter = new AdapterStub(); // 2. Set mocks $this->parser->addAdapter('php', $phpAdapter); $this->parser->addAdapter('js', $jsAdapter); //3. Set fixtures $phpAdapter->setValueMap($phpMap); $jsAdapter->setValueMap($jsMap); $this->factory->expects($this->any())->method('createPhrase')->with()->willReturnMap($phraseFactoryMap); //4. Set expectations $this->filesCollector->expects($this->any())->method('getFiles')->will($this->returnValueMap([[$options[0]['paths'], '', $phpFiles], [$options[1]['paths'], '', $jsFiles]])); $result = $this->parser->parse($options); $this->assertEquals($expectedResult, $result); }
/** * Parser construct * * @param I18n\FilesCollector $filesCollector * @param I18n\Factory $factory * @param I18n\Context $context */ public function __construct(I18n\FilesCollector $filesCollector, I18n\Factory $factory, I18n\Context $context) { $this->_context = $context; parent::__construct($filesCollector, $factory); }
public function getPhrases() { $this->assertInternalType('array', $this->_parserMock->getPhrases()); }