Skip to content

Commit afd43b6

Browse files
committed
test(grouped): update ParameterGrouped-Test auf neues Verhalten
Round-3-Commit 68de1d3 hat ParenDepth-Filter in uGroupedDeclaration ergaenzt - gruppierte Parameter werden bewusst nicht mehr geflaggt (660+ FPs auf realem Code, idiomatische Delphi-Syntax). Test ParameterGrouped_Reported erwartete das alte Verhalten - jetzt umbenannt zu ParameterGrouped_NotReported mit Assert auf 0 Findings. Unit-Header-Kommentar entsprechend aktualisiert (GroupedParameterDeclaration aus Scope entfernt).
1 parent 484e407 commit afd43b6

2 files changed

Lines changed: 12 additions & 6 deletions

File tree

StaticCodeAnalyserForm/sources/Detectors/uGroupedDeclaration.pas

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
// Detektor fuer gruppierte Deklarationen `A, B: Type;`.
44
//
55
// SonarDelphi-Aequivalent: communitydelphi:GroupedFieldDeclaration,
6-
// :GroupedVariableDeclaration, :GroupedParameterDeclaration (in SCA
7-
// als einzelne Regel zusammengefasst, separater Detektor pro Subkategorie
8-
// folgt evtl. spaeter).
6+
// :GroupedVariableDeclaration. GroupedParameterDeclaration ist
7+
// BEWUSST NICHT abgedeckt - gruppierte Parameter `F(A, B: Integer)` sind
8+
// idiomatische Delphi-Syntax und produzierten in einem Self-Test 660+
9+
// FPs auf realem Code. Implementiert via ParenDepth-Filter unten.
910
//
1011
// Hintergrund: `A, B, C: Integer;` macht Diffs unklar (eine neue Variable
1112
// einzufuegen aendert eine bestehende Zeile statt eine eigene), und

StaticCodeAnalyserForm/tests/uTestGroupedDeclaration.pas

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ TTestGroupedDeclaration = class
1212
[Test] procedure SingleVarPerLine_NoFinding;
1313
[Test] procedure TwoVarsGrouped_Reported;
1414
[Test] procedure ThreeVarsGrouped_Reported;
15-
[Test] procedure ParameterGrouped_Reported;
15+
[Test] procedure ParameterGrouped_NotReported;
1616
[Test] procedure FieldGrouped_Reported;
1717
[Test] procedure GroupedDeclaration_KindAndSeverity;
1818
end;
@@ -66,14 +66,19 @@ procedure TTestGroupedDeclaration.ThreeVarsGrouped_Reported;
6666
finally F.Free; end;
6767
end;
6868

69-
procedure TTestGroupedDeclaration.ParameterGrouped_Reported;
69+
procedure TTestGroupedDeclaration.ParameterGrouped_NotReported;
70+
// Gruppierte Parameter `procedure F(A, B: Integer)` sind in Delphi
71+
// idiomatische Syntax und werden NICHT als GroupedDecl geflaggt - sonst
72+
// wuerde jede Helper-Funktion mit gleichgetypten Parametern Noise produzieren.
73+
// Self-Test auf eigenem Code zeigte 660+ FPs durch diese Klasse;
74+
// detector-seitig via ParenDepth-Filter geloest.
7075
const SRC =
7176
'unit t; implementation'#13#10 +
7277
'procedure Foo(A, B: Integer); begin DoStuff; end;';
7378
var F: TObjectList<TLeakFinding>;
7479
begin
7580
F := TFindingHelper.FindingsOfFile(SRC);
76-
try Assert.IsTrue(TFindingHelper.Count(F, fkGroupedDeclaration) >= 1);
81+
try Assert.AreEqual(0, TFindingHelper.Count(F, fkGroupedDeclaration));
7782
finally F.Free; end;
7883
end;
7984

0 commit comments

Comments
 (0)