diff options
author | Anika Henke <anika@selfthinker.org> | 2014-02-02 14:43:06 +0000 |
---|---|---|
committer | Anika Henke <anika@selfthinker.org> | 2014-02-02 14:43:06 +0000 |
commit | a051c2744a397f5ccbb688e0edab307451dc522d (patch) | |
tree | d9744944e50f2c23df22bd6856779bd228e129c4 /_test/tests/general | |
parent | 3641199a253e8f92f378f03926af80724ef04146 (diff) | |
parent | a8895ef5de970d5e6b1e273c3fe111b606611244 (diff) | |
download | rpg-a051c2744a397f5ccbb688e0edab307451dc522d.tar.gz rpg-a051c2744a397f5ccbb688e0edab307451dc522d.tar.bz2 |
Merge remote-tracking branch 'origin/master' into video-audio
Diffstat (limited to '_test/tests/general')
-rw-r--r-- | _test/tests/general/general_languagelint.php | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/_test/tests/general/general_languagelint.php b/_test/tests/general/general_languagelint.php new file mode 100644 index 000000000..c11462640 --- /dev/null +++ b/_test/tests/general/general_languagelint.php @@ -0,0 +1,47 @@ +<?php + +class general_languagelint_test extends DokuWikiTest { + + + function test_core() { + $this->checkFiles(glob(DOKU_INC.'inc/lang/*/*.php')); + } + + function test_plugins() { + $this->checkFiles(glob(DOKU_INC.'lib/plugins/*/lang/*/*.php')); + } + + /** + * Run checks over the given PHP language files + * + * @param $files + */ + private function checkFiles($files){ + foreach($files as $file){ + // try to load the file + include $file; + // check it defines an array + $this->assertTrue(is_array($lang), $file); + unset($lang); + + $this->checkUgly($file); + } + } + + /** + * Checks if the file contains any ugly things like leading whitespace, BOM or trailing + * PHP closing mark + * + * @param $file + * @throws Exception + */ + private function checkUgly($file){ + $content = rtrim(file_get_contents($file)); + if(substr($content,0,5) != '<?php') + throw new Exception("$file does not start with '<?php' - check for BOM"); + + if(substr($content,-2) == '?>') + throw new Exception("$file ends with '?>' - remove it!"); + } + +} |