diff --git a/Engine/FindAstPositionVisitor.cs b/Engine/FindAstPositionVisitor.cs index 05532c456..459581cbc 100644 --- a/Engine/FindAstPositionVisitor.cs +++ b/Engine/FindAstPositionVisitor.cs @@ -333,7 +333,7 @@ public override AstVisitAction VisitTypeDefinition(TypeDefinitionAst typeDefinit public override AstVisitAction VisitUsingStatement(UsingStatementAst usingStatementAst) { - return Visit(usingStatementAst); + return AstVisitAction.Continue; } #endif diff --git a/Tests/Rules/UseConsistentWhitespace.tests.ps1 b/Tests/Rules/UseConsistentWhitespace.tests.ps1 index 03a6fbc35..952e49909 100644 --- a/Tests/Rules/UseConsistentWhitespace.tests.ps1 +++ b/Tests/Rules/UseConsistentWhitespace.tests.ps1 @@ -212,6 +212,19 @@ $ht = @{ $ruleConfiguration.CheckSeparator = $false $ruleConfiguration.IgnoreAssignmentOperatorInsideHashTable = $true } + + It "Should not find violation if assignment operator is in multi-line hash table and a using statement is present" { + $def = @' +using namespace System.IO + +$ht = @{ + variable = 3 + other = 4 +} +'@ + Invoke-ScriptAnalyzer -ScriptDefinition $def -Settings $settings | Should -BeNullOrEmpty + } + It "Should not find violation if assignment operator is in multi-line hash table" { $def = @' $ht = @{ @@ -628,11 +641,11 @@ bar -h i ` } It "Should fix script when a parameter value is a script block spanning multiple lines" { - $def = {foo { + $def = {foo { bar } -baz} - $expected = {foo { + $expected = {foo { bar } -baz} Invoke-Formatter -ScriptDefinition "$def" -Settings $settings |