Skip to content

Commit f4001af

Browse files
authored
cs: enforce array trailing commas (#125)
1 parent 0501e73 commit f4001af

File tree

4 files changed

+57
-57
lines changed

4 files changed

+57
-57
lines changed

phpcs.xml.dist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@
250250
<severity>5</severity><!-- turned off by PSR2 -> turning on with default severity -->
251251
</rule>
252252

253-
<!-- rule ref="SlevomatCodingStandard.Arrays.TrailingArrayComma"/ --> <!-- after bumping PHP -->
253+
<rule ref="SlevomatCodingStandard.Arrays.TrailingArrayComma"/>
254254
<rule ref="SlevomatCodingStandard.Classes.ModernClassNameReference">
255255
<exclude name="SlevomatCodingStandard.Classes.ModernClassNameReference.ClassNameReferencedViaFunctionCall"/> <!-- after bumping to PHP8 -->
256256
</rule>

tests/AnalyserTest.php

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,15 @@ static function (Configuration $config): void {
7171
},
7272
$this->createAnalysisResult(0, [
7373
ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'],
74-
])
74+
]),
7575
];
7676
yield 'no paths, report even unused dev' => [
7777
static function (Configuration $config): void {
7878
$config->enableAnalysisOfUnusedDevDependencies();
7979
},
8080
$this->createAnalysisResult(0, [
8181
ErrorType::UNUSED_DEPENDENCY => ['dev/dead', 'dev/package', 'regular/dead', 'regular/package'],
82-
])
82+
]),
8383
];
8484

8585
yield 'all paths excluded' => [
@@ -89,7 +89,7 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses
8989
},
9090
$this->createAnalysisResult(0, [
9191
ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'],
92-
])
92+
]),
9393
];
9494

9595
yield 'no file extensions' => [
@@ -98,7 +98,7 @@ static function (Configuration $config): void {
9898
},
9999
$this->createAnalysisResult(0, [
100100
ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'],
101-
])
101+
]),
102102
];
103103

104104
yield 'default' => [
@@ -109,8 +109,8 @@ static function (Configuration $config) use ($variousUsagesPath): void {
109109
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
110110
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
111111
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
112-
ErrorType::UNUSED_DEPENDENCY => ['regular/dead']
113-
])
112+
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
113+
]),
114114
];
115115

116116
yield 'default, report dev dead' => [
@@ -122,8 +122,8 @@ static function (Configuration $config) use ($variousUsagesPath): void {
122122
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
123123
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
124124
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
125-
ErrorType::UNUSED_DEPENDENCY => ['dev/dead', 'regular/dead']
126-
])
125+
ErrorType::UNUSED_DEPENDENCY => ['dev/dead', 'regular/dead'],
126+
]),
127127
];
128128

129129
yield 'default, force use dead class' => [
@@ -135,7 +135,7 @@ static function (Configuration $config) use ($variousUsagesPath): void {
135135
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
136136
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
137137
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
138-
])
138+
]),
139139
];
140140

141141
yield 'prod only in dev' => [
@@ -146,8 +146,8 @@ static function (Configuration $config) use ($variousUsagesPath): void {
146146
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
147147
ErrorType::PROD_DEPENDENCY_ONLY_IN_DEV => ['regular/package'],
148148
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
149-
ErrorType::UNUSED_DEPENDENCY => ['regular/dead']
150-
])
149+
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
150+
]),
151151
];
152152

153153
yield 'scan dir' => [
@@ -162,8 +162,8 @@ static function (Configuration $config) use ($variousUsagesPath): void {
162162
],
163163
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
164164
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
165-
ErrorType::UNUSED_DEPENDENCY => ['regular/dead']
166-
])
165+
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
166+
]),
167167
];
168168

169169
yield 'scan more paths' => [
@@ -178,8 +178,8 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses
178178
],
179179
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
180180
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
181-
ErrorType::UNUSED_DEPENDENCY => ['regular/dead']
182-
])
181+
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
182+
]),
183183
];
184184

185185
yield 'scan more paths, 2 calls' => [
@@ -195,8 +195,8 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses
195195
],
196196
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
197197
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
198-
ErrorType::UNUSED_DEPENDENCY => ['regular/dead']
199-
])
198+
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
199+
]),
200200
];
201201

202202
yield 'scan dir, exclude path' => [
@@ -208,8 +208,8 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses
208208
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
209209
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
210210
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
211-
ErrorType::UNUSED_DEPENDENCY => ['regular/dead']
212-
])
211+
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
212+
]),
213213
];
214214

215215
yield 'ignore on path' => [
@@ -221,8 +221,8 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses
221221
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
222222
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
223223
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
224-
ErrorType::UNUSED_DEPENDENCY => ['regular/dead']
225-
])
224+
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
225+
]),
226226
];
227227

228228
yield 'ignore on path 2' => [
@@ -236,7 +236,7 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses
236236
'Unknown\Two' => [new SymbolUsage($unknownClassesPath, 4, SymbolKind::CLASSLIKE)],
237237
],
238238
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
239-
])
239+
]),
240240
];
241241

242242
yield 'ignore on paths' => [
@@ -249,7 +249,7 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses
249249
], [
250250
new UnusedErrorIgnore(ErrorType::SHADOW_DEPENDENCY, $unknownClassesPath, null),
251251
new UnusedErrorIgnore(ErrorType::DEV_DEPENDENCY_IN_PROD, $unknownClassesPath, null),
252-
])
252+
]),
253253
];
254254

255255
yield 'ignore on package' => [
@@ -261,7 +261,7 @@ static function (Configuration $config) use ($variousUsagesPath): void {
261261
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
262262
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
263263
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
264-
])
264+
]),
265265
];
266266

267267
yield 'ignore on package 2' => [
@@ -273,7 +273,7 @@ static function (Configuration $config) use ($variousUsagesPath): void {
273273
},
274274
$this->createAnalysisResult(1, [
275275
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
276-
])
276+
]),
277277
];
278278

279279
yield 'ignore on package and path' => [
@@ -285,7 +285,7 @@ static function (Configuration $config) use ($variousUsagesPath): void {
285285
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
286286
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
287287
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
288-
])
288+
]),
289289
];
290290

291291
yield 'ignore on package and path (overlapping with other ignores), all used' => [
@@ -300,7 +300,7 @@ static function (Configuration $config) use ($variousUsagesPath): void {
300300
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
301301
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
302302
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
303-
])
303+
]),
304304
];
305305

306306
yield 'ignore on package and path (overlapping with other ignores), one unused' => [
@@ -317,7 +317,7 @@ static function (Configuration $config) use ($variousUsagesPath, $unknownClasses
317317
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
318318
], [
319319
new UnusedErrorIgnore(ErrorType::SHADOW_DEPENDENCY, $unknownClassesPath, 'shadow/package'),
320-
])
320+
]),
321321
];
322322

323323
yield 'ignore on package and path (overlapping with other ignores), all unused' => [
@@ -339,7 +339,7 @@ static function (Configuration $config) use ($unknownClassesPath): void {
339339
new UnusedErrorIgnore(ErrorType::SHADOW_DEPENDENCY, $unknownClassesPath, null),
340340
new UnusedErrorIgnore(ErrorType::SHADOW_DEPENDENCY, null, 'invalid/package'),
341341
new UnusedErrorIgnore(ErrorType::SHADOW_DEPENDENCY, $unknownClassesPath, 'invalid/package'),
342-
])
342+
]),
343343
];
344344

345345
yield 'ignore all unused' => [
@@ -351,7 +351,7 @@ static function (Configuration $config) use ($variousUsagesPath): void {
351351
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
352352
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
353353
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
354-
])
354+
]),
355355
];
356356

357357
yield 'ignore all shadow' => [
@@ -362,8 +362,8 @@ static function (Configuration $config) use ($variousUsagesPath): void {
362362
$this->createAnalysisResult(1, [
363363
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
364364
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
365-
ErrorType::UNUSED_DEPENDENCY => ['regular/dead']
366-
])
365+
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
366+
]),
367367
];
368368

369369
yield 'ignore all dev-in-prod' => [
@@ -375,7 +375,7 @@ static function (Configuration $config) use ($variousUsagesPath): void {
375375
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
376376
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
377377
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
378-
])
378+
]),
379379
];
380380

381381
yield 'ignore all prod-only-in-dev' => [
@@ -387,7 +387,7 @@ static function (Configuration $config) use ($variousUsagesPath): void {
387387
ErrorType::UNKNOWN_CLASS => ['Unknown\Clazz' => [new SymbolUsage($variousUsagesPath, 11, SymbolKind::CLASSLIKE)]],
388388
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
389389
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
390-
])
390+
]),
391391
];
392392

393393
yield 'ignore all unknown' => [
@@ -398,8 +398,8 @@ static function (Configuration $config) use ($variousUsagesPath): void {
398398
$this->createAnalysisResult(1, [
399399
ErrorType::DEV_DEPENDENCY_IN_PROD => ['dev/package' => ['Dev\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 16, SymbolKind::CLASSLIKE)]]],
400400
ErrorType::SHADOW_DEPENDENCY => ['shadow/package' => ['Shadow\Package\Clazz' => [new SymbolUsage($variousUsagesPath, 24, SymbolKind::CLASSLIKE)]]],
401-
ErrorType::UNUSED_DEPENDENCY => ['regular/dead']
402-
])
401+
ErrorType::UNUSED_DEPENDENCY => ['regular/dead'],
402+
]),
403403
];
404404

405405
yield 'ignore specific unknown class' => [
@@ -410,7 +410,7 @@ static function (Configuration $config) use ($unknownClassesPath): void {
410410
$this->createAnalysisResult(1, [
411411
ErrorType::UNKNOWN_CLASS => ['Unknown\Two' => [new SymbolUsage($unknownClassesPath, 4, SymbolKind::CLASSLIKE)]],
412412
ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'],
413-
])
413+
]),
414414
];
415415

416416
yield 'ignore unknown class by regex' => [
@@ -421,7 +421,7 @@ static function (Configuration $config) use ($unknownClassesPath): void {
421421
$this->createAnalysisResult(1, [
422422
ErrorType::UNKNOWN_CLASS => ['Unknown\One' => [new SymbolUsage($unknownClassesPath, 3, SymbolKind::CLASSLIKE)]],
423423
ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'],
424-
])
424+
]),
425425
];
426426

427427
yield 'ignore unknown classes multiple calls' => [
@@ -432,7 +432,7 @@ static function (Configuration $config) use ($unknownClassesPath): void {
432432
},
433433
$this->createAnalysisResult(1, [
434434
ErrorType::UNUSED_DEPENDENCY => ['regular/dead', 'regular/package'],
435-
])
435+
]),
436436
];
437437
}
438438

@@ -526,7 +526,7 @@ public function testDevPathInsideProdPath(): void
526526
$config,
527527
[
528528
'regular/package' => false,
529-
'dev/package' => true
529+
'dev/package' => true,
530530
]
531531
);
532532
$result = $detector->run();

tests/CliTest.php

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,22 +33,22 @@ public function validationDataProvider(): iterable
3333
{
3434
yield 'unknown long option' => [
3535
'Unknown option --unknown, see --help',
36-
['bin/script.php', '--unknown']
36+
['bin/script.php', '--unknown'],
3737
];
3838

3939
yield 'unknown short option' => [
4040
'Unknown option -u, see --help',
41-
['bin/script.php', '-u']
41+
['bin/script.php', '-u'],
4242
];
4343

4444
yield 'unknown argument' => [
4545
'Unknown argument unknown, see --help',
46-
['bin/script.php', 'unknown']
46+
['bin/script.php', 'unknown'],
4747
];
4848

4949
yield 'path passed' => [
5050
'Cannot pass paths (data) to analyse as arguments, use --config instead.',
51-
['bin/script.php', 'data']
51+
['bin/script.php', 'data'],
5252
];
5353

5454
yield 'valid bool options' => [
@@ -64,7 +64,7 @@ public function validationDataProvider(): iterable
6464
$options->ignoreUnknownClasses = true;
6565
$options->ignoreUnknownFunctions = true;
6666
return $options;
67-
})()
67+
})(),
6868
];
6969

7070
yield 'valid options with values' => [
@@ -75,7 +75,7 @@ public function validationDataProvider(): iterable
7575
$options->composerJson = '../composer.json';
7676
$options->verbose = true;
7777
return $options;
78-
})()
78+
})(),
7979
];
8080

8181
yield 'valid options with values, multiple' => [
@@ -86,7 +86,7 @@ public function validationDataProvider(): iterable
8686
$options->composerJson = '../composer.json';
8787
$options->config = '../config.php';
8888
return $options;
89-
})()
89+
})(),
9090
];
9191

9292
yield 'valid options with values using =' => [
@@ -97,22 +97,22 @@ public function validationDataProvider(): iterable
9797
$options->composerJson = '../composer.json';
9898
$options->verbose = true;
9999
return $options;
100-
})()
100+
})(),
101101
];
102102

103103
yield 'missing argument for option' => [
104104
'Missing argument for --composer-json, see --help',
105-
['bin/script.php', '--composer-json']
105+
['bin/script.php', '--composer-json'],
106106
];
107107

108108
yield 'missing argument for option, next option is valid' => [
109109
'Missing argument for --composer-json, see --help',
110-
['bin/script.php', '--composer-json', '--verbose']
110+
['bin/script.php', '--composer-json', '--verbose'],
111111
];
112112

113113
yield 'missing argument for option with =' => [
114114
'Missing argument value in --composer-json=, see --help',
115-
['bin/script.php', '--composer-json=']
115+
['bin/script.php', '--composer-json='],
116116
];
117117
}
118118

0 commit comments

Comments
 (0)