@@ -155,12 +155,21 @@ Describe 'Prompt handler: reverse alias lookup' {
155155 InModuleScope PSCommandHelper {
156156 $map = Get-BashToPowerShellMap
157157 $script :TestAliasedMap = @ {}
158+ $script :TestAliasedCmdletMap = @ {}
158159 foreach ($entry in ($map | Where-Object { $_.Type -eq ' Aliased' })) {
159160 $baseCmd = ($entry.Bash -split ' \s+' )[0 ]
160161 if (-not $script :TestAliasedMap.ContainsKey ($baseCmd )) {
161162 $script :TestAliasedMap [$baseCmd ] = @ ()
162163 }
163164 $script :TestAliasedMap [$baseCmd ] += $entry
165+
166+ $psCmdlet = ($entry.PowerShell -split ' \s+' )[0 ]
167+ if ($psCmdlet ) {
168+ if (-not $script :TestAliasedCmdletMap.ContainsKey ($psCmdlet )) {
169+ $script :TestAliasedCmdletMap [$psCmdlet ] = @ ()
170+ }
171+ $script :TestAliasedCmdletMap [$psCmdlet ] += $entry
172+ }
164173 }
165174 }
166175 }
@@ -171,43 +180,66 @@ Describe 'Prompt handler: reverse alias lookup' {
171180 }
172181 }
173182
174- It ' Remove-Item reverse-resolves to rm which is in the aliased map' {
175- $aliases = Get-Alias - Definition ' Remove-Item' - ErrorAction SilentlyContinue
176- $aliasNames = $aliases | ForEach-Object { $_.Name }
177- $aliasNames | Should - Contain ' rm'
178- }
179-
180- It ' Get-ChildItem reverse-resolves to ls which is in the aliased map' {
181- $aliases = Get-Alias - Definition ' Get-ChildItem' - ErrorAction SilentlyContinue
182- $aliasNames = $aliases | ForEach-Object { $_.Name }
183- $aliasNames | Should - Contain ' ls'
183+ It ' has cmdlet fallback entries for Remove-Item and Get-ChildItem' {
184+ InModuleScope PSCommandHelper {
185+ $script :TestAliasedCmdletMap.ContainsKey (' Remove-Item' ) | Should - BeTrue
186+ $script :TestAliasedCmdletMap.ContainsKey (' Get-ChildItem' ) | Should - BeTrue
187+ }
184188 }
185189
186- It ' Copy -Item reverse-resolves to cp which is in the aliased map ' {
190+ It ' resolves Remove -Item to aliased suggestions by alias or cmdlet fallback ' {
187191 InModuleScope PSCommandHelper {
188- $aliases = Get-Alias - Definition ' Copy-Item ' - ErrorAction SilentlyContinue
189- $found = $false
192+ $resolvedEntries = $null
193+ $aliases = Get-Alias - Definition ' Remove-Item ' - ErrorAction SilentlyContinue
190194 foreach ($a in $aliases ) {
191195 if ($script :TestAliasedMap.ContainsKey ($a.Name )) {
192- $found = $true
196+ $resolvedEntries = $script :TestAliasedMap [ $a .Name ]
193197 break
194198 }
195199 }
196- $found | Should - BeTrue
200+ if (-not $resolvedEntries ) {
201+ $resolvedEntries = $script :TestAliasedCmdletMap [' Remove-Item' ]
202+ }
203+
204+ $resolvedEntries | Should -Not - BeNullOrEmpty
197205 }
198206 }
199207
200- It ' Move-Item reverse-resolves to mv which is in the aliased map ' {
208+ It ' resolves Get-ChildItem to aliased suggestions by alias or cmdlet fallback ' {
201209 InModuleScope PSCommandHelper {
202- $aliases = Get-Alias - Definition ' Move-Item ' - ErrorAction SilentlyContinue
203- $found = $false
210+ $resolvedEntries = $null
211+ $aliases = Get-Alias - Definition ' Get-ChildItem ' - ErrorAction SilentlyContinue
204212 foreach ($a in $aliases ) {
205213 if ($script :TestAliasedMap.ContainsKey ($a.Name )) {
206- $found = $true
214+ $resolvedEntries = $script :TestAliasedMap [ $a .Name ]
207215 break
208216 }
209217 }
210- $found | Should - BeTrue
218+ if (-not $resolvedEntries ) {
219+ $resolvedEntries = $script :TestAliasedCmdletMap [' Get-ChildItem' ]
220+ }
221+
222+ $resolvedEntries | Should -Not - BeNullOrEmpty
223+ }
224+ }
225+
226+ It ' resolves Copy-Item and Move-Item by alias or cmdlet fallback' {
227+ InModuleScope PSCommandHelper {
228+ foreach ($cmdlet in @ (' Copy-Item' , ' Move-Item' )) {
229+ $resolvedEntries = $null
230+ $aliases = Get-Alias - Definition $cmdlet - ErrorAction SilentlyContinue
231+ foreach ($a in $aliases ) {
232+ if ($script :TestAliasedMap.ContainsKey ($a.Name )) {
233+ $resolvedEntries = $script :TestAliasedMap [$a.Name ]
234+ break
235+ }
236+ }
237+ if (-not $resolvedEntries ) {
238+ $resolvedEntries = $script :TestAliasedCmdletMap [$cmdlet ]
239+ }
240+
241+ $resolvedEntries | Should -Not - BeNullOrEmpty
242+ }
211243 }
212244 }
213245}
0 commit comments