diff --git a/Rules/AvoidTrailingWhitespace.cs b/Rules/AvoidTrailingWhitespace.cs index c4afcd01d..8c801fc5f 100644 --- a/Rules/AvoidTrailingWhitespace.cs +++ b/Rules/AvoidTrailingWhitespace.cs @@ -42,6 +42,12 @@ public IEnumerable AnalyzeScript(Ast ast, string fileName) { var line = lines[lineNumber]; + // Do not flag whitespace only lines (includes tabs) + if (string.IsNullOrWhiteSpace(line)) + { + continue; + } + var match = Regex.Match(line, @"\s+$"); if (match.Success) { diff --git a/Tests/Rules/AvoidTrailingWhitespace.tests.ps1 b/Tests/Rules/AvoidTrailingWhitespace.tests.ps1 index da722a529..cbb874620 100644 --- a/Tests/Rules/AvoidTrailingWhitespace.tests.ps1 +++ b/Tests/Rules/AvoidTrailingWhitespace.tests.ps1 @@ -31,4 +31,13 @@ Describe "AvoidTrailingWhitespace" { $violations = Invoke-ScriptAnalyzer -ScriptDefinition $def -Settings $settings Test-CorrectionExtentFromContent $def $violations 1 $Whitespace '' } + + It 'Should not find a violation when a line contains ' -TestCases $testCases { + param ( + [string] $Whitespace + ) + + $violations = Invoke-ScriptAnalyzer -ScriptDefinition $Whitespace -Settings $settings + $violations.Count | Should -Be 0 + } }