Skip to content

Commit a5cc4ac

Browse files
authored
Merge pull request #6 from ProtonMail/upgrade-slevomat-coding-standard-1
Upgrade slevomat/coding-standard to v7.0 and fine-tune ruleset
2 parents 4ee6ff0 + 4547404 commit a5cc4ac

File tree

5 files changed

+33
-12
lines changed

5 files changed

+33
-12
lines changed

Proton/ruleset.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@
128128
<property name="ignoreComplexTernaryConditions" value="1"/>
129129
</properties>
130130
</rule>
131-
<rule ref="SlevomatCodingStandard.Classes.UnusedPrivateElements"/>
132131
<rule ref="SlevomatCodingStandard.Classes.UselessLateStaticBinding"/>
133132
<rule ref="SlevomatCodingStandard.Classes.ModernClassNameReference"/>
134133
<rule ref="SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces">
@@ -141,7 +140,7 @@
141140
<rule ref="SlevomatCodingStandard.Variables.UselessVariable"/>
142141
<rule ref="SlevomatCodingStandard.Variables.DuplicateAssignmentToVariable"/>
143142
<rule ref="SlevomatCodingStandard.Functions.UnusedInheritedVariablePassedToClosure"/>
144-
<rule ref="SlevomatCodingStandard.Functions.TrailingCommaInCall" />
143+
<rule ref="SlevomatCodingStandard.Functions.RequireTrailingCommaInCall" />
145144
<rule ref="SlevomatCodingStandard.Exceptions.DeadCatch"/>
146145
<rule ref="SlevomatCodingStandard.Namespaces.UseSpacing"/>
147146
<!-- <rule ref="SlevomatCodingStandard.Namespaces.UnusedUses"/>-->
@@ -185,6 +184,10 @@
185184
<property name="newlinesCountAfterDeclare" value="2"/>
186185
</properties>
187186
</rule>
187+
<rule ref="SlevomatCodingStandard.TypeHints.UnionTypeHintFormat"/>
188+
189+
<rule ref="SlevomatCodingStandard.Exceptions.RequireNonCapturingCatch"/>
190+
<rule ref="SlevomatCodingStandard.Functions.RequireTrailingCommaInDeclaration"/>
188191

189192
<!-- <rule ref="SlevomatCodingStandard.ControlStructures.EarlyExit">
190193
<properties>

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
},
1717
"require": {
1818
"php": "^7.1 || ^8.0",
19-
"slevomat/coding-standard": "^6.4",
20-
"squizlabs/php_codesniffer": "^3.5"
19+
"slevomat/coding-standard": "^7.0",
20+
"squizlabs/php_codesniffer": "^3.6"
2121
},
2222
"license": "MIT"
2323
}

tests/correct/ClassOk.php

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,14 @@ public function __construct(array $config)
3030

3131
public function ping(Request $request)
3232
{
33-
$this->foo(
34-
'a',
35-
'b',
36-
);
33+
try {
34+
$this->foo(
35+
'a',
36+
'b',
37+
);
38+
} catch (\RuntimeException) {
39+
// ...
40+
}
3741

3842
return $request->query->get('test');
3943
}
@@ -60,6 +64,21 @@ public function foo(string $a, string $b)
6064
return $foo;
6165
}
6266

67+
if ($a === 'z') {
68+
throw new \RuntimeException();
69+
}
70+
6371
return false;
6472
}
73+
74+
public static function create(
75+
string $name,
76+
string|int|float|null $defaultValue = null,
77+
): string|int|float|null|array|object {
78+
return match ($name) {
79+
'foo' => [1, 2, 3],
80+
'bar' => [],
81+
default => $defaultValue,
82+
};
83+
}
6584
}

tests/expected_csv.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Line,Column,Type,Source
1515
52,20,warning,Generic.CodeAnalysis.UnusedFunctionParameter.FoundAfterLastUsed
1616
52,20,error,PSR1.Methods.CamelCapsMethodName.NotCamelCaps
1717
50,8,error,SlevomatCodingStandard.Commenting.DeprecatedAnnotationDeclaration.MissingDescription
18-
45,13,error,SlevomatCodingStandard.Functions.TrailingCommaInCall.MissingTrailingComma
18+
45,13,error,SlevomatCodingStandard.Functions.RequireTrailingCommaInCall.MissingTrailingComma
1919
44,1,error,Generic.WhiteSpace.DisallowTabIndent.TabsUsed
2020
43,1,error,Generic.WhiteSpace.DisallowTabIndent.TabsUsed
2121
41,1,error,Generic.WhiteSpace.DisallowTabIndent.TabsUsed
@@ -34,7 +34,6 @@ Line,Column,Type,Source
3434
36,24,error,Generic.Formatting.DisallowMultipleStatements.SameLine
3535
36,1,error,Generic.WhiteSpace.DisallowTabIndent.TabsUsed
3636
34,31,error,Squiz.Functions.MultiLineFunctionDeclaration.BraceOnSameLine
37-
34,13,error,SlevomatCodingStandard.Classes.UnusedPrivateElements.UnusedMethod
3837
31,24,error,Proton.Spacing.ArrowFunctionSpacing.Found
3938
28,27,error,PSR12.Classes.AnonClassDeclaration.SpaceAfterKeyword
4039
25,13,error,SlevomatCodingStandard.Arrays.TrailingArrayComma.MissingTrailingComma
@@ -45,8 +44,8 @@ Line,Column,Type,Source
4544
16,16,error,PSR12.Traits.UseDeclaration.MultipleImport
4645
14,5,warning,PSR12.Properties.ConstantVisibility.NotFound
4746
12,13,error,Squiz.NamingConventions.ValidVariableName.MemberNotCamelCaps
48-
12,13,error,SlevomatCodingStandard.Classes.UnusedPrivateElements.UnusedProperty
4947
12,1,error,Generic.WhiteSpace.DisallowTabIndent.TabsUsed
5048
10,27,error,SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces.IncorrectEmptyLinesAfterOpeningBrace
5149
10,27,error,PSR2.Classes.ClassDeclaration.OpenBraceNewLine
50+
10,27,error,PSR12.Classes.OpeningBraceSpace.Found
5251
1,1,error,SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing

tests/wrong/Class1.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ private function unused() {
4949
/**
5050
* @deprecated
5151
*/
52-
private static function Foo(string $a, $b, $c) : array
52+
private static function Foo(string $a, $b, $c) : array |object
5353
{
5454
return [$a, $b];
5555
}

0 commit comments

Comments
 (0)