PowerShell / PowerShell/PSScriptAnalyzer
PSUseConsistentWhitespace - False validation in switch statements
Abierto
Nadie ha tomado este issue todavía.
Area - Formatter
Issue - Bug
- Lenguaje dominante
- C#
- Estrellas
- 2.2k
- Forks
- 414
- Merge medio
- 13 h 1 min
- PR fusionados (30 d)
- 2
Descripción
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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza reproduciendo el ejemplo de la sentencia switch con la regla PSUseConsistentWhitespace y la configuración proporcionada. Rastrea después la validación de espacios en blanco de esa regla para las cláusulas switch y verifica que las advertencias falsas notificadas ya no aparezcan, mientras que las advertencias genuinas sobre espacios sigan siendo detectables.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- csharp, powershell
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100