Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Giehl <stefan@piwik.org>2017-09-21 12:07:30 +0300
committerGitHub <noreply@github.com>2017-09-21 12:07:30 +0300
commit7a240155d9f12aa939f7e1c034cec50379f9bd83 (patch)
tree2818c14025debdba8ee41b43590a778ad826997d /tests/PHPUnit
parente4750236c6668b9126271cc6eef02256a64ec9f0 (diff)
Adds test to check translation files for valid JSON (#12095)
Diffstat (limited to 'tests/PHPUnit')
-rw-r--r--tests/PHPUnit/Unit/Translation/FilesTest.php38
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);
+ }
+}