Added -Module completion for Save-Help/Update-Help commands (#20678)

This commit is contained in:
Armaan Mcleod
2023-12-21 13:06:17 +05:00
committed by GitHub
parent 103c945c32
commit 1b98bb0815
2 changed files with 77 additions and 30 deletions
@@ -885,6 +885,32 @@ ConstructorTestClass(int i, bool b)
}
}
Context 'Help Module parameter completion' {
BeforeAll {
$utilityModule = 'Microsoft.PowerShell.Utility'
$managementModule = 'Microsoft.PowerShell.Management'
$allMicrosoftPowerShellModules = (Get-Module -Name Microsoft.PowerShell* -ListAvailable).Name
Import-Module -Name $allMicrosoftPowerShellModules -ErrorAction SilentlyContinue
$allMicrosoftPowerShellModules = ($allMicrosoftPowerShellModules | Sort-Object -Unique) -join ' '
}
It "Should complete Module for '<TextInput>'" -TestCases @(
@{ TextInput = "Save-Help -Module Microsoft.PowerShell.U"; ExpectedModules = $utilityModule }
@{ TextInput = "Update-Help -Module Microsoft.PowerShell.U"; ExpectedModules = $utilityModule }
@{ TextInput = "Save-Help -Module Microsoft.PowerShell.Man"; ExpectedModules = $managementModule }
@{ TextInput = "Update-Help -Module Microsoft.PowerShell.Man"; ExpectedModules = $managementModule }
@{ TextInput = "Save-Help -Module Microsoft.Powershell"; ExpectedModules = $allMicrosoftPowerShellModules }
@{ TextInput = "Update-Help -Module Microsoft.PowerShell"; ExpectedModules = $allMicrosoftPowerShellModules }
@{ TextInput = "Save-Help -Module NonExistentModulePrefix"; ExpectedModules = '' }
@{ TextInput = "Update-Help -Module NonExistentModulePrefix"; ExpectedModules = '' }
) {
param($TextInput, $ExpectedModules)
$res = TabExpansion2 -inputScript $TextInput -cursorColumn $TextInput.Length
$completionText = $res.CompletionMatches.CompletionText | Sort-Object -Unique
$completionText -join ' ' | Should -BeExactly $ExpectedModules
}
}
Context "Format cmdlet's View paramter completion" {
BeforeAll {
$viewDefinition = @'