/** * Test of the scanBundle protected method */ public function testScanBundle() { // Configure the test $scanner = $this->getMockBuilder('Davamigo\\TranslatorBundle\\Model\\Translator\\Scanner')->setConstructorArgs(array($this->kernelMock))->setMethods(array('realPath', 'isDir', 'isFile', 'scanDir', 'scanFile'))->getMock(); $scanner->expects($this->any())->method('realPath')->will($this->returnArgument(0)); $scanner->expects($this->any())->method('isDir')->will($this->returnValue(true)); $scanner->expects($this->any())->method('isFile')->will($this->returnValue(true)); $scanner->expects($this->any())->method('scanDir')->will($this->returnValue(array('test.yml '))); $scanner->expects($this->any())->method('scanFile')->will($this->returnCallback(function ($bundleName, $resourcesFolder, $fileName) { $translations = new Translations(); $translations->addFile($bundleName, $resourcesFolder, $fileName); $translations->addTranslation($bundleName, 'messages', 'en', 'app_name', 'The app name'); $translations->addTranslation($bundleName, 'messages', 'es', 'app_name', 'La aplicación'); return $translations; })); // Run the test /** @var Translations $translations */ $translations = $this->runPrivateMethod($scanner, 'scanBundle', array('App', $this->testDir)); // Expected result $expected = array(array('App', 'messages', 'app_name', 'The app name', 'La aplicación')); $locales = array('en', 'es'); $domains = array('messages'); // Assertions $this->assertEquals($expected, $translations->asArray(false)); $this->assertEquals($locales, $translations->getLocales()); $this->assertEquals($domains, $translations->getDomains()); }
/** * Get configured translation test object * * @return Translations */ protected function getConfiguredTranslationsTestObject() { $sourceTrans = $this->getTranslationsSourceTestData(); $sourceFiles = $this->getFilesSourceTestData(); $translations = new Translations(); foreach ($sourceTrans as $item) { $translations->addTranslation($item[0], $item[1], $item[2], $item[3], $item[4]); } foreach ($sourceFiles as $item) { $translations->addFile($item[0], $item[1], $item[2]); } return $translations->sort(); }