summaryrefslogtreecommitdiffstats
path: root/tests/lib/App/CodeChecker/NodeVisitorTest.php
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2016-05-20 15:38:20 +0200
committerThomas Müller <DeepDiver1975@users.noreply.github.com>2016-05-20 15:38:20 +0200
commit94ad54ec9b96d41a614fbbad4a97b34c41a6901f (patch)
treef3eb7cdda2704aaf0cd59d58efe66bcbd34cb67d /tests/lib/App/CodeChecker/NodeVisitorTest.php
parent2ef751b1ec28f7b5c7113af60ec8c9fa0ae1cf87 (diff)
downloadnextcloud-server-94ad54ec9b96d41a614fbbad4a97b34c41a6901f.tar.gz
nextcloud-server-94ad54ec9b96d41a614fbbad4a97b34c41a6901f.zip
Move tests/ to PSR-4 (#24731)
* Move a-b to PSR-4 * Move c-d to PSR-4 * Move e+g to PSR-4 * Move h-l to PSR-4 * Move m-r to PSR-4 * Move s-u to PSR-4 * Move files/ to PSR-4 * Move remaining tests to PSR-4 * Remove Test\ from old autoloader
Diffstat (limited to 'tests/lib/App/CodeChecker/NodeVisitorTest.php')
-rw-r--r--tests/lib/App/CodeChecker/NodeVisitorTest.php73
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/lib/App/CodeChecker/NodeVisitorTest.php b/tests/lib/App/CodeChecker/NodeVisitorTest.php
new file mode 100644
index 00000000000..ca0b6e9ccc1
--- /dev/null
+++ b/tests/lib/App/CodeChecker/NodeVisitorTest.php
@@ -0,0 +1,73 @@
+<?php
+/**
+ * Copyright (c) 2015 Joas Schilling <nickvergessen@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace Test\App\CodeChecker;
+
+use OC\App\CodeChecker\CodeChecker;
+use OC\App\CodeChecker\EmptyCheck;
+use Test\App\CodeChecker\Mock\TestList;
+use Test\TestCase;
+
+class NodeVisitorTest extends TestCase {
+
+ public function providesFilesToCheck() {
+ return [
+ [[['OCP\AppFramework\IApi', 1006]], 'test-deprecated-use.php'],
+ [[['OCP\AppFramework\IApi', 1006]], 'test-deprecated-use-alias.php'],
+ [[['AppFramework\IApi', 1001]], 'test-deprecated-use-sub.php'],
+ [[['OAF\IApi', 1001]], 'test-deprecated-use-sub-alias.php'],
+
+ [[['OCP\NamespaceName\ClassName::CONSTANT_NAME', 1003]], 'test-deprecated-constant.php'],
+ [[['Alias::CONSTANT_NAME', 1003]], 'test-deprecated-constant-alias.php'],
+ [[['NamespaceName\ClassName::CONSTANT_NAME', 1003]], 'test-deprecated-constant-sub.php'],
+ [[['SubAlias\ClassName::CONSTANT_NAME', 1003]], 'test-deprecated-constant-sub-alias.php'],
+
+ [[
+ ['OCP\NamespaceName\ClassName::functionName', 1002],
+ ['OCP\NamespaceName\ClassName::methodName', 1007],
+ ], 'test-deprecated-function.php'],
+ [[
+ ['Alias::functionName', 1002],
+ ['Alias::methodName', 1007],
+ ], 'test-deprecated-function-alias.php'],
+ [[
+ ['NamespaceName\ClassName::functionName', 1002],
+ ['NamespaceName\ClassName::methodName', 1007],
+ ], 'test-deprecated-function-sub.php'],
+ [[
+ ['SubAlias\ClassName::functionName', 1002],
+ ['SubAlias\ClassName::methodName', 1007],
+ ], 'test-deprecated-function-sub-alias.php'],
+
+ // TODO Failing to resolve variables to classes
+// [[['OCP\NamespaceName\ClassName::methodName', 1007]], 'test-deprecated-method.php'],
+// [[['Alias::methodName', 1002]], 'test-deprecated-method-alias.php'],
+// [[['NamespaceName\ClassName::methodName', 1002]], 'test-deprecated-method-sub.php'],
+// [[['SubAlias\ClassName::methodName', 1002]], 'test-deprecated-method-sub-alias.php'],
+ ];
+ }
+
+ /**
+ * @dataProvider providesFilesToCheck
+ * @param array $expectedErrors
+ * @param string $fileToVerify
+ */
+ public function testMethodsToCheck($expectedErrors, $fileToVerify) {
+ $checker = new CodeChecker(
+ new TestList(new EmptyCheck())
+ );
+ $errors = $checker->analyseFile(\OC::$SERVERROOT . "/tests/data/app/code-checker/$fileToVerify");
+
+ $this->assertCount(sizeof($expectedErrors), $errors);
+
+ foreach ($expectedErrors as $int => $expectedError) {
+ $this->assertEquals($expectedError[0], $errors[$int]['disallowedToken']);
+ $this->assertEquals($expectedError[1], $errors[$int]['errorCode']);
+ }
+ }
+}