diff options
author | Stefan Giehl <stefan@piwik.org> | 2017-09-21 12:07:30 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-21 12:07:30 +0300 |
commit | 7a240155d9f12aa939f7e1c034cec50379f9bd83 (patch) | |
tree | 2818c14025debdba8ee41b43590a778ad826997d /tests | |
parent | e4750236c6668b9126271cc6eef02256a64ec9f0 (diff) |
Adds test to check translation files for valid JSON (#12095)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/PHPUnit/Unit/Translation/FilesTest.php | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/PHPUnit/Unit/Translation/FilesTest.php b/tests/PHPUnit/Unit/Translation/FilesTest.php new file mode 100644 index 0000000000..178b230c3f --- /dev/null +++ b/tests/PHPUnit/Unit/Translation/FilesTest.php @@ -0,0 +1,38 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +namespace Piwik\Tests\Unit\Translation\Loader; + +use Piwik\Translation\Loader\JsonFileLoader; +use Piwik\Translation\Translator; + +/** + * @group Translation + * @group langfiles + */ +class FilesTest extends \PHPUnit_Framework_TestCase +{ + /** + * @dataProvider getTranslationFiles + */ + public function testForValidJsonFiles($file) + { + $json = json_decode(file_get_contents($file), true); + + $this->assertNotEmpty($json, "translation file $file seems to be corrupted or empty"); + } + + public function getTranslationFiles() + { + $filesBase = glob(PIWIK_DOCUMENT_ROOT . DIRECTORY_SEPARATOR . 'lang' . DIRECTORY_SEPARATOR . '*.json'); + $filesPlugins = glob(PIWIK_DOCUMENT_ROOT . DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR . '*' . DIRECTORY_SEPARATOR . 'lang' . DIRECTORY_SEPARATOR . '*.json'); + + $allFiles = array_merge($filesBase, $filesPlugins); + return array_map(function($val) { return [$val]; }, $allFiles); + } +} |