From f4001afc855d49f3fd73b99033fc45415dd3f8c2 Mon Sep 17 00:00:00 2001 From: Jan Nedbal Date: Wed, 17 Apr 2024 09:35:46 +0200 Subject: [PATCH] cs: enforce array trailing commas (#125) --- phpcs.xml.dist | 2 +- tests/AnalyserTest.php | 80 +++++++++++++++---------------- tests/CliTest.php | 22 ++++----- tests/UsedSymbolExtractorTest.php | 10 ++-- 4 files changed, 57 insertions(+), 57 deletions(-) diff --git a/phpcs.xml.dist b/phpcs.xml.dist index 30aa169..4e7f906 100644 --- a/phpcs.xml.dist +++ b/phpcs.xml.dist @@ -250,7 +250,7 @@ 5 - + diff --git a/tests/AnalyserTest.php b/tests/AnalyserTest.php index 42d6d16..bb1b5f2 100644 --- a/tests/AnalyserTest.php +++ b/tests/AnalyserTest.php @@ -71,7 +71,7 @@ static function (Configuration $config): void { }, $this->createAnalysisResult(0, [ ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'], - ]) + ]), ]; yield 'no paths, report even unused dev' => [ static function (Configuration $config): void { @@ -79,7 +79,7 @@ static function (Configuration $config): void { }, $this->createAnalysisResult(0, [ ErrorType::UNUSED_DEPENDENCY => ['dev/dead', 'dev/package', 'regular/dead', 'regular/package'], - ]) + ]), ]; yield 'all paths excluded' => [ @@ -89,7 +89,7 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses }, $this->createAnalysisResult(0, [ ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'], - ]) + ]), ]; yield 'no file extensions' => [ @@ -98,7 +98,7 @@ static function (Configuration $config): void { }, $this->createAnalysisResult(0, [ ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'], - ]) + ]), ]; yield 'default' => [ @@ -109,8 +109,8 @@ static function (Configuration $config) use ($variousUsagesPath): void { ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], - ErrorType::UNUSED_DEPENDENCY => ['regular/dead'] - ]) + ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], + ]), ]; yield 'default, report dev dead' => [ @@ -122,8 +122,8 @@ static function (Configuration $config) use ($variousUsagesPath): void { ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], - ErrorType::UNUSED_DEPENDENCY => ['dev/dead', 'regular/dead'] - ]) + ErrorType::UNUSED_DEPENDENCY => ['dev/dead', 'regular/dead'], + ]), ]; yield 'default, force use dead class' => [ @@ -135,7 +135,7 @@ static function (Configuration $config) use ($variousUsagesPath): void { ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], - ]) + ]), ]; yield 'prod only in dev' => [ @@ -146,8 +146,8 @@ static function (Configuration $config) use ($variousUsagesPath): void { ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::PROD_DEPENDENCY_ONLY_IN_DEV => ['regular/package'], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], - ErrorType::UNUSED_DEPENDENCY => ['regular/dead'] - ]) + ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], + ]), ]; yield 'scan dir' => [ @@ -162,8 +162,8 @@ static function (Configuration $config) use ($variousUsagesPath): void { ], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], - ErrorType::UNUSED_DEPENDENCY => ['regular/dead'] - ]) + ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], + ]), ]; yield 'scan more paths' => [ @@ -178,8 +178,8 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses ], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], - ErrorType::UNUSED_DEPENDENCY => ['regular/dead'] - ]) + ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], + ]), ]; yield 'scan more paths, 2 calls' => [ @@ -195,8 +195,8 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses ], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], - ErrorType::UNUSED_DEPENDENCY => ['regular/dead'] - ]) + ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], + ]), ]; yield 'scan dir, exclude path' => [ @@ -208,8 +208,8 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], - ErrorType::UNUSED_DEPENDENCY => ['regular/dead'] - ]) + ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], + ]), ]; yield 'ignore on path' => [ @@ -221,8 +221,8 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], - ErrorType::UNUSED_DEPENDENCY => ['regular/dead'] - ]) + ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], + ]), ]; yield 'ignore on path 2' => [ @@ -236,7 +236,7 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses 'Unknown\Two' => [new SymbolUsage($unknownClassesPath, 4, SymbolKind::CLASSLIKE)], ], ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], - ]) + ]), ]; yield 'ignore on paths' => [ @@ -249,7 +249,7 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses ], [ new UnusedErrorIgnore(ErrorType::SHADOW_DEPENDENCY, $unknownClassesPath, null), new UnusedErrorIgnore(ErrorType::DEV_DEPENDENCY_IN_PROD, $unknownClassesPath, null), - ]) + ]), ]; yield 'ignore on package' => [ @@ -261,7 +261,7 @@ static function (Configuration $config) use ($variousUsagesPath): void { ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], - ]) + ]), ]; yield 'ignore on package 2' => [ @@ -273,7 +273,7 @@ static function (Configuration $config) use ($variousUsagesPath): void { }, $this->createAnalysisResult(1, [ ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], - ]) + ]), ]; yield 'ignore on package and path' => [ @@ -285,7 +285,7 @@ static function (Configuration $config) use ($variousUsagesPath): void { ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], - ]) + ]), ]; yield 'ignore on package and path (overlapping with other ignores), all used' => [ @@ -300,7 +300,7 @@ static function (Configuration $config) use ($variousUsagesPath): void { ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], - ]) + ]), ]; yield 'ignore on package and path (overlapping with other ignores), one unused' => [ @@ -317,7 +317,7 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], ], [ new UnusedErrorIgnore(ErrorType::SHADOW_DEPENDENCY, $unknownClassesPath, 'shadow/package'), - ]) + ]), ]; yield 'ignore on package and path (overlapping with other ignores), all unused' => [ @@ -339,7 +339,7 @@ static function (Configuration $config) use ($unknownClassesPath): void { new UnusedErrorIgnore(ErrorType::SHADOW_DEPENDENCY, $unknownClassesPath, null), new UnusedErrorIgnore(ErrorType::SHADOW_DEPENDENCY, null, 'invalid/package'), new UnusedErrorIgnore(ErrorType::SHADOW_DEPENDENCY, $unknownClassesPath, 'invalid/package'), - ]) + ]), ]; yield 'ignore all unused' => [ @@ -351,7 +351,7 @@ static function (Configuration $config) use ($variousUsagesPath): void { ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], - ]) + ]), ]; yield 'ignore all shadow' => [ @@ -362,8 +362,8 @@ static function (Configuration $config) use ($variousUsagesPath): void { $this->createAnalysisResult(1, [ ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], - ErrorType::UNUSED_DEPENDENCY => ['regular/dead'] - ]) + ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], + ]), ]; yield 'ignore all dev-in-prod' => [ @@ -375,7 +375,7 @@ static function (Configuration $config) use ($variousUsagesPath): void { ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], - ]) + ]), ]; yield 'ignore all prod-only-in-dev' => [ @@ -387,7 +387,7 @@ static function (Configuration $config) use ($variousUsagesPath): void { ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], - ]) + ]), ]; yield 'ignore all unknown' => [ @@ -398,8 +398,8 @@ static function (Configuration $config) use ($variousUsagesPath): void { $this->createAnalysisResult(1, [ ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]], ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]], - ErrorType::UNUSED_DEPENDENCY => ['regular/dead'] - ]) + ErrorType::UNUSED_DEPENDENCY => ['regular/dead'], + ]), ]; yield 'ignore specific unknown class' => [ @@ -410,7 +410,7 @@ static function (Configuration $config) use ($unknownClassesPath): void { $this->createAnalysisResult(1, [ ErrorType::UNKNOWN_CLASS => ['Unknown\Two' => [new SymbolUsage($unknownClassesPath, 4, SymbolKind::CLASSLIKE)]], ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'], - ]) + ]), ]; yield 'ignore unknown class by regex' => [ @@ -421,7 +421,7 @@ static function (Configuration $config) use ($unknownClassesPath): void { $this->createAnalysisResult(1, [ ErrorType::UNKNOWN_CLASS => ['Unknown\One' => [new SymbolUsage($unknownClassesPath, 3, SymbolKind::CLASSLIKE)]], ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'], - ]) + ]), ]; yield 'ignore unknown classes multiple calls' => [ @@ -432,7 +432,7 @@ static function (Configuration $config) use ($unknownClassesPath): void { }, $this->createAnalysisResult(1, [ ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'], - ]) + ]), ]; } @@ -526,7 +526,7 @@ public function testDevPathInsideProdPath(): void $config, [ 'regular/package' => false, - 'dev/package' => true + 'dev/package' => true, ] ); $result = $detector->run(); diff --git a/tests/CliTest.php b/tests/CliTest.php index 0f0e07f..955e6a7 100644 --- a/tests/CliTest.php +++ b/tests/CliTest.php @@ -33,22 +33,22 @@ public function validationDataProvider(): iterable { yield 'unknown long option' => [ 'Unknown option --unknown, see --help', - ['bin/script.php', '--unknown'] + ['bin/script.php', '--unknown'], ]; yield 'unknown short option' => [ 'Unknown option -u, see --help', - ['bin/script.php', '-u'] + ['bin/script.php', '-u'], ]; yield 'unknown argument' => [ 'Unknown argument unknown, see --help', - ['bin/script.php', 'unknown'] + ['bin/script.php', 'unknown'], ]; yield 'path passed' => [ 'Cannot pass paths (data) to analyse as arguments, use --config instead.', - ['bin/script.php', 'data'] + ['bin/script.php', 'data'], ]; yield 'valid bool options' => [ @@ -64,7 +64,7 @@ public function validationDataProvider(): iterable $options->ignoreUnknownClasses = true; $options->ignoreUnknownFunctions = true; return $options; - })() + })(), ]; yield 'valid options with values' => [ @@ -75,7 +75,7 @@ public function validationDataProvider(): iterable $options->composerJson = '../composer.json'; $options->verbose = true; return $options; - })() + })(), ]; yield 'valid options with values, multiple' => [ @@ -86,7 +86,7 @@ public function validationDataProvider(): iterable $options->composerJson = '../composer.json'; $options->config = '../config.php'; return $options; - })() + })(), ]; yield 'valid options with values using =' => [ @@ -97,22 +97,22 @@ public function validationDataProvider(): iterable $options->composerJson = '../composer.json'; $options->verbose = true; return $options; - })() + })(), ]; yield 'missing argument for option' => [ 'Missing argument for --composer-json, see --help', - ['bin/script.php', '--composer-json'] + ['bin/script.php', '--composer-json'], ]; yield 'missing argument for option, next option is valid' => [ 'Missing argument for --composer-json, see --help', - ['bin/script.php', '--composer-json', '--verbose'] + ['bin/script.php', '--composer-json', '--verbose'], ]; yield 'missing argument for option with =' => [ 'Missing argument value in --composer-json=, see --help', - ['bin/script.php', '--composer-json='] + ['bin/script.php', '--composer-json='], ]; } diff --git a/tests/UsedSymbolExtractorTest.php b/tests/UsedSymbolExtractorTest.php index dfe4833..5f85160 100644 --- a/tests/UsedSymbolExtractorTest.php +++ b/tests/UsedSymbolExtractorTest.php @@ -46,7 +46,7 @@ public function provideVariants(): iterable 'PHPUnit\Framework\assertArrayHasKey' => [37], 'PHPUnit\Framework\assertEquals' => [38], ], - ] + ], ]; yield 'various usages' => [ @@ -59,7 +59,7 @@ public function provideVariants(): iterable 'PHPUnit\Framework\Error' => [14], 'LogicException' => [15, 20], ], - ] + ], ]; yield 'bracket namespace' => [ @@ -69,7 +69,7 @@ public function provideVariants(): iterable 'DateTimeImmutable' => [5], 'DateTime' => [11], ], - ] + ], ]; yield 'other symbols' => [ @@ -87,7 +87,7 @@ public function provideVariants(): iterable 'PHPUnit\Framework\assertArrayHasKey' => [14], 'PHPUnit\Framework\assertArrayNotHasKey' => [15], ], - ] + ], ]; yield 'relative namespace' => [ @@ -111,7 +111,7 @@ public function provideVariants(): iterable yield 'curly braces' => [ __DIR__ . '/data/not-autoloaded/used-symbols/curly-braces.php', - [] + [], ]; if (PHP_VERSION_ID >= 80000) {