예제 #1
0
 /**
  * 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();
 }