Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

PSUseConsistentWhitespace - False validation in switch statements #1319

Copy link
Copy link
@wsmelton

Description

@wsmelton
Issue body actions

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

  1. 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 }
}
  1. 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
Reactions are currently unavailable

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.