PowerShell / PowerShell/PSScriptAnalyzer
PSUseConsistentWhitespace - False validation in switch statements
Aberta
Ninguém assumiu esta issue ainda.
Area - Formatter
Issue - Bug
- Linguagem predominante
- C#
- Estrelas
- 2.2k
- Forks
- 415
- Merge médio
- 13h 1min
- PRs com merge (30d)
- 2
Descrição
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
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Direção de pesquisa
Comece reproduzindo o exemplo da instrução switch com a regra PSUseConsistentWhitespace e as configurações fornecidas. Rastreie a validação de espaços em branco dessa regra para as cláusulas switch e, em seguida, verifique se os falsos avisos relatados não aparecem mais, enquanto os avisos genuínos de espaçamento continuam detectáveis.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- csharp, powershell
- Domínio
- tooling
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 45/100