Skip to content

Commit

Permalink
cs: enforce array trailing commas (#125)
Browse files Browse the repository at this point in the history
  • Loading branch information
janedbal committed Apr 17, 2024
1 parent 0501e73 commit f4001af
Show file tree
Hide file tree
Showing 4 changed files with 57 additions and 57 deletions.
2 changes: 1 addition & 1 deletion phpcs.xml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -250,7 +250,7 @@
<severity>5</severity><!-- turned off by PSR2 -> turning on with default severity -->
</rule>

<!-- rule ref="SlevomatCodingStandard.Arrays.TrailingArrayComma"/ --> <!-- after bumping PHP -->
<rule ref="SlevomatCodingStandard.Arrays.TrailingArrayComma"/>
<rule ref="SlevomatCodingStandard.Classes.ModernClassNameReference">
<exclude name="SlevomatCodingStandard.Classes.ModernClassNameReference.ClassNameReferencedViaFunctionCall"/> <!-- after bumping to PHP8 -->
</rule>
Expand Down
80 changes: 40 additions & 40 deletions tests/AnalyserTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,15 +71,15 @@ 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 {
$config->enableAnalysisOfUnusedDevDependencies();
},
$this->createAnalysisResult(0, [
ErrorType::UNUSED_DEPENDENCY => ['dev/dead', 'dev/package', 'regular/dead', 'regular/package'],
])
]),
];

yield 'all paths excluded' => [
Expand All @@ -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' => [
Expand All @@ -98,7 +98,7 @@ static function (Configuration $config): void {
},
$this->createAnalysisResult(0, [
ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'],
])
]),
];

yield 'default' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -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' => [
Expand All @@ -432,7 +432,7 @@ static function (Configuration $config) use ($unknownClassesPath): void {
},
$this->createAnalysisResult(1, [
ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'],
])
]),
];
}

Expand Down Expand Up @@ -526,7 +526,7 @@ public function testDevPathInsideProdPath(): void
$config,
[
'regular/package' => false,
'dev/package' => true
'dev/package' => true,
]
);
$result = $detector->run();
Expand Down
22 changes: 11 additions & 11 deletions tests/CliTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -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' => [
Expand All @@ -64,7 +64,7 @@ public function validationDataProvider(): iterable
$options->ignoreUnknownClasses = true;
$options->ignoreUnknownFunctions = true;
return $options;
})()
})(),
];

yield 'valid options with values' => [
Expand All @@ -75,7 +75,7 @@ public function validationDataProvider(): iterable
$options->composerJson = '../composer.json';
$options->verbose = true;
return $options;
})()
})(),
];

yield 'valid options with values, multiple' => [
Expand All @@ -86,7 +86,7 @@ public function validationDataProvider(): iterable
$options->composerJson = '../composer.json';
$options->config = '../config.php';
return $options;
})()
})(),
];

yield 'valid options with values using =' => [
Expand All @@ -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='],
];
}

Expand Down

0 comments on commit f4001af

Please sign in to comment.