diff --git a/src/interface.ps1 b/src/interface.ps1 index 2a04c52..a21ad7e 100644 --- a/src/interface.ps1 +++ b/src/interface.ps1 @@ -159,7 +159,7 @@ function New-RequirementGroup { $Requirement ` | % { $r = $_.psobject.Copy() - $r.Namespace = $Namespace, $r.Namespace -join $NamespaceDelimiter + $r.Namespace = ($Name, $r.Namespace | ? { $_ }) -join $NamespaceDelimiter $r } } diff --git a/test/interface.tests.ps1 b/test/interface.tests.ps1 index 658d4a1..fcb576a 100644 --- a/test/interface.tests.ps1 +++ b/test/interface.tests.ps1 @@ -115,4 +115,20 @@ Describe "New-RequirementGroup" { New-RequirementGroup -Namespace $namespace -Requirement $requirements ` | % { $_.Namespace | Should -BeLikeExactly "$namespace`:*" } } + It "Should not contain multiple colons in a row" { + $requirements = New-RequirementGroup "a" { + New-RequirementGroup "b" { + @{ + Describe = "1" + } + @{ + Describe = "2" + } + } + @{ + Describe = "3" + } + } + $requirements -join "|" | Should -Be "a:b>1|a:b>2|a>3" + } }