PowerShell / PowerShell/PSScriptAnalyzer
PSUseConsistentWhitespace - False validation in switch statements
Offen
Dieses Issue hat noch niemand übernommen.
Area - Formatter
Issue - Bug
- Vorherrschende Sprache
- C#
- Sterne
- 2.2k
- Forks
- 414
- Ø Merge
- 13 Std. 1 Min.
- Gemergte PRs (30 T.)
- 2
Beschreibung
Before submitting a bug report:
- Make sure you are able to repro it on the latest released version
- Perform a quick search for existing issues to check if this bug has already been reported
Steps to reproduce
- Create script with following contents:
$TargetLogSize = 64
switch ($TargetLogSize) {
{ $_ -le 64 } { 64 }
{ $_ -ge 64 -and $_ -lt 256 } { 256 }
{ $_ -ge 256 -and $_ -lt 1024 } { 512 }
{ $_ -ge 1024 -and $_ -lt 4096 } { 1024 }
{ $_ -ge 4096 -and $_ -lt 8192 } { 2048 }
{ $_ -ge 8192 -and $_ -lt 16384 } { 4096 }
{ $_ -ge 16384 } { 8192 }
}
- Execute following settings:
$settings = @{
IncludeRules = @(
'PSUseConsistentWhitespace',
)
Rules = @{
PSUseConsistentWhitespace = @{
Enable = $true
CheckInnerBrace = $true
CheckOpenBrace = $true
CheckOpenParen = $true
CheckOperator = $false
CheckPipe = $true
CheckSeparator = $true
}
}
}
Invoke-ScriptAnalyzer -Path C:\temp\test.script.ps1 -Severity Warning -Settings $settings
Expected behavior
No warnings to be returned
Actual behavior
Receive warnings on space before an open brace.
RuleName Severity ScriptName Line Message
-------- -------- ---------- ---- -------
PSUseConsistentWhitespace Warning test.scrip 4 Use space before open brace.
t.ps1
PSUseConsistentWhitespace Warning test.scrip 5 Use space before open brace.
t.ps1
PSUseConsistentWhitespace Warning test.scrip 6 Use space before open brace.
t.ps1
PSUseConsistentWhitespace Warning test.scrip 7 Use space before open brace.
t.ps1
PSUseConsistentWhitespace Warning test.scrip 8 Use space before open brace.
t.ps1
PSUseConsistentWhitespace Warning test.scrip 9 Use space before open brace.
t.ps1
PSUseConsistentWhitespace Warning test.scrip 10 Use space before open brace.
t.ps1
Environment data
> $PSVersionTable
Name Value
---- -----
PSVersion 5.1.18362.145
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.18362.145
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
> (Get-Module -ListAvailable PSScriptAnalyzer).Version | ForEach-Object { $_.ToString() }
1.18.1
1.18.0
1.17.1
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, das Beispiel für eine switch-Anweisung mit der Regel PSUseConsistentWhitespace und den bereitgestellten Einstellungen zu reproduzieren. Verfolge anschließend die Whitespace-Validierung dieser Regel für switch-Klauseln und überprüfe dann, dass die fälschlicherweise gemeldeten Warnungen nicht mehr auftreten, während echte Warnungen zu Abständen weiterhin erkannt werden können.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp, powershell
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100