diff options
author | Joas Schilling <nickvergessen@owncloud.com> | 2015-06-15 17:50:37 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@owncloud.com> | 2015-07-17 12:34:56 +0200 |
commit | 2783a780708e4e5c04b6935840416d219bc4d852 (patch) | |
tree | 1e2ff2fa51e2e9eeb8ae72bcf68718ba720cac07 /tests | |
parent | f228a3dc28b579b3d11126544928edacd2e2d9c4 (diff) | |
download | nextcloud-server-2783a780708e4e5c04b6935840416d219bc4d852.tar.gz nextcloud-server-2783a780708e4e5c04b6935840416d219bc4d852.zip |
Allow checking for functions
Diffstat (limited to 'tests')
10 files changed, 55 insertions, 24 deletions
diff --git a/tests/data/app/code-checker/test-deprecated-constant-alias.php b/tests/data/app/code-checker/test-deprecated-constant-alias.php index 4f3d3e81316..b5a5bfdb762 100644 --- a/tests/data/app/code-checker/test-deprecated-constant-alias.php +++ b/tests/data/app/code-checker/test-deprecated-constant-alias.php @@ -1,12 +1,8 @@ <?php -use OCP\NamespaceName\ClassName as Constant; +use OCP\NamespaceName\ClassName as Alias; /** * Class BadClass - creating an instance of a blacklisted class is not allowed */ -class BadClass { - public function test() { - return Constant::CONSTANT_NAME; - } -} +Alias::CONSTANT_NAME; diff --git a/tests/data/app/code-checker/test-deprecated-constant-sub-alias.php b/tests/data/app/code-checker/test-deprecated-constant-sub-alias.php index b7e7c7e6be9..9b1757aa683 100644 --- a/tests/data/app/code-checker/test-deprecated-constant-sub-alias.php +++ b/tests/data/app/code-checker/test-deprecated-constant-sub-alias.php @@ -1,12 +1,8 @@ <?php -use OCP\NamespaceName as Constant; +use OCP\NamespaceName as SubAlias; /** * Class BadClass - creating an instance of a blacklisted class is not allowed */ -class BadClass { - public function test() { - return Constant\ClassName::CONSTANT_NAME; - } -} +SubAlias\ClassName::CONSTANT_NAME; diff --git a/tests/data/app/code-checker/test-deprecated-constant-sub.php b/tests/data/app/code-checker/test-deprecated-constant-sub.php index 0ef837c14c6..86e0ff52efe 100644 --- a/tests/data/app/code-checker/test-deprecated-constant-sub.php +++ b/tests/data/app/code-checker/test-deprecated-constant-sub.php @@ -5,8 +5,4 @@ use OCP\NamespaceName; /** * Class BadClass - creating an instance of a blacklisted class is not allowed */ -class BadClass { - public function test() { - return NamespaceName\ClassName::CONSTANT_NAME; - } -} +NamespaceName\ClassName::CONSTANT_NAME; diff --git a/tests/data/app/code-checker/test-deprecated-constant.php b/tests/data/app/code-checker/test-deprecated-constant.php index 965d84500fd..170b1d9e5ad 100644 --- a/tests/data/app/code-checker/test-deprecated-constant.php +++ b/tests/data/app/code-checker/test-deprecated-constant.php @@ -3,8 +3,4 @@ /** * Class BadClass - creating an instance of a blacklisted class is not allowed */ -class BadClass { - public function test() { - return \OCP\NamespaceName\ClassName::CONSTANT_NAME; - } -} +\OCP\NamespaceName\ClassName::CONSTANT_NAME; diff --git a/tests/data/app/code-checker/test-deprecated-function-alias.php b/tests/data/app/code-checker/test-deprecated-function-alias.php new file mode 100644 index 00000000000..0c958cc635c --- /dev/null +++ b/tests/data/app/code-checker/test-deprecated-function-alias.php @@ -0,0 +1,5 @@ +<?php + +use OCP\NamespaceName\ClassName as Alias; + +Alias::functionName(); diff --git a/tests/data/app/code-checker/test-deprecated-function-sub-alias.php b/tests/data/app/code-checker/test-deprecated-function-sub-alias.php new file mode 100644 index 00000000000..f728eaf9fd0 --- /dev/null +++ b/tests/data/app/code-checker/test-deprecated-function-sub-alias.php @@ -0,0 +1,5 @@ +<?php + +use OCP\NamespaceName as SubAlias; + +SubAlias\ClassName::functionName(); diff --git a/tests/data/app/code-checker/test-deprecated-function-sub.php b/tests/data/app/code-checker/test-deprecated-function-sub.php new file mode 100644 index 00000000000..f7e15903d5d --- /dev/null +++ b/tests/data/app/code-checker/test-deprecated-function-sub.php @@ -0,0 +1,5 @@ +<?php + +use OCP\NamespaceName; + +NamespaceName\ClassName::functionName(); diff --git a/tests/data/app/code-checker/test-deprecated-function.php b/tests/data/app/code-checker/test-deprecated-function.php new file mode 100644 index 00000000000..0016076e377 --- /dev/null +++ b/tests/data/app/code-checker/test-deprecated-function.php @@ -0,0 +1,3 @@ +<?php + +\OCP\NamespaceName\ClassName::functionName(); diff --git a/tests/lib/app/codecheckvisitor.php b/tests/lib/app/codecheckvisitor.php index 4b663cf40b7..3eac3beedc8 100644 --- a/tests/lib/app/codecheckvisitor.php +++ b/tests/lib/app/codecheckvisitor.php @@ -40,9 +40,9 @@ class CodeCheckVisitor extends TestCase { public function providesConstantsToCheck() { return [ ['OCP\NamespaceName\ClassName::CONSTANT_NAME', 1003, 'test-deprecated-constant.php'], - ['Constant::CONSTANT_NAME', 1003, 'test-deprecated-constant-alias.php'], + ['Alias::CONSTANT_NAME', 1003, 'test-deprecated-constant-alias.php'], ['NamespaceName\ClassName::CONSTANT_NAME', 1003, 'test-deprecated-constant-sub.php'], - ['Constant\ClassName::CONSTANT_NAME', 1003, 'test-deprecated-constant-sub-alias.php'], + ['SubAlias\ClassName::CONSTANT_NAME', 1003, 'test-deprecated-constant-sub-alias.php'], ]; } @@ -60,4 +60,28 @@ class CodeCheckVisitor extends TestCase { $this->assertEquals($expectedErrorCode, $errors[0]['errorCode']); $this->assertEquals($expectedErrorToken, $errors[0]['disallowedToken']); } + + public function providesFunctionsToCheck() { + return [ + ['OCP\NamespaceName\ClassName::functionName', 1002, 'test-deprecated-function.php'], + ['Alias::functionName', 1002, 'test-deprecated-function-alias.php'], + ['NamespaceName\ClassName::functionName', 1002, 'test-deprecated-function-sub.php'], + ['SubAlias\ClassName::functionName', 1002, 'test-deprecated-function-sub-alias.php'], + ]; + } + + /** + * @dataProvider providesFunctionsToCheck + * @param string $expectedErrorToken + * @param int $expectedErrorCode + * @param string $fileToVerify + */ + public function testFunctionsToCheck($expectedErrorToken, $expectedErrorCode, $fileToVerify) { + $checker = new \Test\App\Mock\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']); + } } diff --git a/tests/lib/app/mock/codechecker.php b/tests/lib/app/mock/codechecker.php index 228fd881e44..e67d060b1f4 100644 --- a/tests/lib/app/mock/codechecker.php +++ b/tests/lib/app/mock/codechecker.php @@ -36,4 +36,9 @@ class CodeChecker extends \OC\App\CodeChecker { // Deprecated constants 'OCP\NamespaceName\ClassName::CONSTANT_NAME' => '8.0.0', ]; + + protected $blackListedFunctions = [ + // Deprecated constants + 'OCP\NamespaceName\ClassName::functionName' => '8.0.0', + ]; } |