summaryrefslogtreecommitdiffstats
path: root/tests/lib
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-02-16 16:55:57 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2015-02-16 16:55:57 +0100
commit92710591955e4696c29628b438dbb7a173ee379c (patch)
tree1764088512cd8f36b9eedd52f5ef2069fa1c2ea8 /tests/lib
parent8eb804b1f60befd6491a8b8a1ba29247bfc8c419 (diff)
parentbd994cb29464b395f60adcf2493fac218863f307 (diff)
downloadnextcloud-server-92710591955e4696c29628b438dbb7a173ee379c.tar.gz
nextcloud-server-92710591955e4696c29628b438dbb7a173ee379c.zip
Merge pull request #13750 from owncloud/enhanced-code-checker
Implement php code checker to detect usage of not allowed private ...
Diffstat (limited to 'tests/lib')
-rw-r--r--tests/lib/app/codechecker.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/lib/app/codechecker.php b/tests/lib/app/codechecker.php
new file mode 100644
index 00000000000..64403fd0f23
--- /dev/null
+++ b/tests/lib/app/codechecker.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * Copyright (c) 2015 Thomas Müller <deepdiver@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test\App;
+
+use OC;
+
+class CodeChecker extends \Test\TestCase {
+
+ /**
+ * @dataProvider providesFilesToCheck
+ * @param $expectedErrors
+ * @param $fileToVerify
+ */
+ public function testFindInvalidUsage($expectedErrorToken, $expectedErrorCode, $fileToVerify) {
+ $checker = new OC\App\CodeChecker();
+ $errors = $checker->analyseFile(OC::$SERVERROOT . "/tests/data/app/code-checker/$fileToVerify");
+
+ $this->assertEquals(1, count($errors));
+ $this->assertEquals($expectedErrorCode, $errors[0]['errorCode']);
+ $this->assertEquals($expectedErrorToken, $errors[0]['disallowedToken']);
+ }
+
+ public function providesFilesToCheck() {
+ return [
+ ['OC_Hook', 1000, 'test-extends.php'],
+ ['oC_Avatar', 1001, 'test-implements.php'],
+ ['OC_App', 1002, 'test-static-call.php'],
+ ['OC_API', 1003, 'test-const.php'],
+ ['OC_AppConfig', 1004, 'test-new.php'],
+ ];
+ }
+}