diff options
Diffstat (limited to 'plugins/LanguagesManager/Test/Integration/LanguagesManagerTest.php')
-rwxr-xr-x | plugins/LanguagesManager/Test/Integration/LanguagesManagerTest.php | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/plugins/LanguagesManager/Test/Integration/LanguagesManagerTest.php b/plugins/LanguagesManager/Test/Integration/LanguagesManagerTest.php index 0ff66919ce..59124a79cd 100755 --- a/plugins/LanguagesManager/Test/Integration/LanguagesManagerTest.php +++ b/plugins/LanguagesManager/Test/Integration/LanguagesManagerTest.php @@ -156,6 +156,32 @@ class LanguagesManagerTest extends \PHPUnit_Framework_TestCase } /** + * check all english translations do not contain unescaped % symbols + * + * @group Plugins + * @group numbered2 + */ + function testTranslationsUseEscapedPercentSigns() + { + Cache::flushAll(); + $translator = StaticContainer::get('Piwik\Translation\Translator'); + $translator->reset(); + Translate::loadAllTranslations(); + $translations = $translator->getAllTranslations(); + foreach ($translations AS $plugin => $pluginTranslations) { + if ($plugin == 'Intl') { + continue; // skip generated stuff + } + foreach ($pluginTranslations as $key => $pluginTranslation) { + $pluginTranslation = preg_replace('/(%(?:[1-9]\$)?[a-z])/', '', $pluginTranslation); // remove placeholders + $pluginTranslation = str_replace('%%', '', $pluginTranslation); // remove already escaped symbols + $this->assertEquals(0, substr_count($pluginTranslation, '%'), + sprintf('%s.%s must use escaped %% symbols', $plugin, $key)); + } + } + } + + /** * test English short name for language * * @group Plugins |