Ejemplo n.º 1
0
 /**
  * test all languages
  *
  * @group Plugins
  *
  * @dataProvider getTestDataForLanguageFiles
  */
 function testGetTranslationsForLanguages($language, $plugin)
 {
     $translationWriter = new Writer($language, $plugin);
     $baseTranslations = $translationWriter->getTranslations('en');
     $translationWriter->addValidator(new NoScripts());
     if (empty($plugin)) {
         $translationWriter->addValidator(new CoreTranslations($baseTranslations));
     }
     // prevent build from failing when translations string have been deleted
     //        $translationWriter->addFilter(new ByBaseTranslations($baseTranslations));
     $translationWriter->addFilter(new EmptyTranslations());
     $translationWriter->addFilter(new ByParameterCount($baseTranslations));
     $translationWriter->addFilter(new UnnecassaryWhitespaces($baseTranslations));
     $translationWriter->addFilter(new EncodedEntities());
     $translations = $translationWriter->getTranslations($language);
     if (empty($translations)) {
         return;
         // skip language / plugin combinations that aren't present
     }
     $translationWriter->setTranslations($translations);
     $this->assertTrue($translationWriter->isValid(), $translationWriter->getValidationMessage());
     if ($translationWriter->wasFiltered()) {
         $translationWriter->saveTemporary();
         $this->fail(implode("\n", $translationWriter->getFilterMessages()) . "\n" . 'Translation file errors detected in ' . $language . "...\n" . "To overwrite you could manually fix the language files, or run the following command may work if you have access to oTrance: \n" . "\$ ./console translations:update [--plugin=XYZ] \n");
     }
 }