Team Ai
Datasetpublic

MegaBites-AI/Windows-powershell

sourceHugging Facemitupdated 6mo agoView on Hugging Face
0likes372downloads
Get-PSProvider.Tests.ps167 linesDownload Raw Back to Microsoft.PowerShell.Management
1# Copyright (c) Microsoft Corporation.2# Licensed under the MIT License.3Describe "Get-PSProvider" -Tags "CI" {4    It "Should be able to call with no parameters without error" {5	{ Get-PSProvider } | Should -Not -Throw6    }7 8    It "Should be able to call the filesystem provider" {9	{ Get-PSProvider FileSystem } | Should -Not -Throw10 11	$actual = Get-PSProvider FileSystem12 13	$actual.Name | Should -BeExactly "FileSystem"14 15	$actual.Capabilities | Should -BeExactly "Filter, ShouldProcess, Credentials"16    }17 18    It "Should be able to call a provider with a wildcard expression" {19	{ Get-PSProvider File*m } | Should -Not -Throw20    }21 22    It "Should be able to pipe the output" {23	$actual = Get-PSProvider24 25	{ $actual | Format-List } | Should -Not -Throw26    }27 28    Context 'ItemSeparator properties' {29        BeforeAll {30            $testCases = if ($IsWindows) {31                            @(32                                @{Provider = 'FileSystem'; ItemSeparator = '\'; AltItemSeparator = '/'}33                                @{Provider = 'Variable'; ItemSeparator = '\'; AltItemSeparator = '/'}34                                @{Provider = 'Function'; ItemSeparator = '\'; AltItemSeparator = '/'}35                                @{Provider = 'Alias'; ItemSeparator = '\'; AltItemSeparator = '/'}36                                @{Provider = 'Environment'; ItemSeparator = '\'; AltItemSeparator = '/'}37                                @{Provider = 'Certificate'; ItemSeparator = '\'; AltItemSeparator = '/'}38                                @{Provider = 'Registry'; ItemSeparator = '\'; AltItemSeparator = '\'}39                            )40                        }41                        else {42                            @(43                                @{Provider = 'FileSystem'; ItemSeparator = '/'; AltItemSeparator = '\'}44                                @{Provider = 'Variable'; ItemSeparator = '/'; AltItemSeparator = '\'}45                                @{Provider = 'Function'; ItemSeparator = '/'; AltItemSeparator = '\'}46                                @{Provider = 'Alias'; ItemSeparator = '/'; AltItemSeparator = '\'}47                                @{Provider = 'Environment'; ItemSeparator = '/'; AltItemSeparator = '\'}48                            )49                        }50        }51 52        It '<Provider> provider has ItemSeparator properties' -TestCases $testCases {53            param ($Provider, $ItemSeparator, $AltItemSeparator)54 55            (Get-PSProvider $Provider).ItemSeparator | Should -Be $ItemSeparator56            (Get-PSProvider $Provider).AltItemSeparator | Should -Be $AltItemSeparator57        }58 59        It 'ItemSeparator properties is read-only in <Provider> provider' -TestCases $testCases {60            param ($Provider, $ItemSeparator, $AltItemSeparator)61 62            { (Get-PSProvider $Provider).ItemSeparator = $null } | Should -Throw63            { (Get-PSProvider $Provider).AltItemSeparator = $null } | Should -Throw64        }65    }66}67