Files
PowerShell/test/powershell/Modules/Microsoft.PowerShell.Management/Set-Location.Tests.ps1
T

82 lines
2.2 KiB
PowerShell
Raw Normal View History

2016-07-25 14:01:41 -07:00
Describe "Set-Location" -Tags "CI" {
2015-12-01 10:30:27 -08:00
$startDirectory = Get-Location
2015-12-28 11:05:48 -08:00
2016-03-04 14:39:18 -08:00
if ($IsWindows)
2015-12-01 10:30:27 -08:00
{
2016-07-27 15:02:57 -07:00
$target = "C:\"
2015-12-01 10:30:27 -08:00
}
else
{
2016-07-27 15:02:57 -07:00
$target = "/"
2015-12-01 10:30:27 -08:00
}
2015-10-23 15:33:32 -07:00
2015-12-01 10:30:27 -08:00
It "Should be able to be called without error" {
2016-07-27 15:02:57 -07:00
{ Set-Location $target } | Should Not Throw
2015-12-01 10:30:27 -08:00
}
2015-10-23 15:33:32 -07:00
2015-12-01 10:30:27 -08:00
It "Should be able to be called on different providers" {
2016-07-27 15:02:57 -07:00
{ Set-Location alias: } | Should Not Throw
{ Set-Location env: } | Should Not Throw
2015-12-01 10:30:27 -08:00
}
2015-10-23 15:33:32 -07:00
2015-12-01 10:30:27 -08:00
It "Should be able use the cd alias without error" {
2016-07-27 15:02:57 -07:00
{ cd $target } | Should Not Throw
2015-12-01 10:30:27 -08:00
}
2015-10-23 15:33:32 -07:00
2015-12-01 10:30:27 -08:00
It "Should be able to use the chdir alias without error" {
2016-07-27 15:02:57 -07:00
{ chdir $target } | Should Not Throw
2015-12-01 10:30:27 -08:00
}
2015-10-23 15:33:32 -07:00
2015-12-01 10:30:27 -08:00
It "Should be able to use the sl alias without error" {
2016-07-27 15:02:57 -07:00
{ sl $target } | Should Not Throw
2015-12-01 10:30:27 -08:00
}
2015-10-23 10:01:44 -07:00
2015-12-01 10:30:27 -08:00
It "Should have the correct current location when using the set-location cmdlet" {
2016-07-27 15:02:57 -07:00
Set-Location $startDirectory
2015-10-23 10:01:44 -07:00
2016-07-27 15:02:57 -07:00
$(Get-Location).Path | Should Be $startDirectory.Path
2015-10-23 10:01:44 -07:00
}
2015-12-01 10:30:27 -08:00
It "Should have the correct current location when using the cd alias" {
2016-07-27 15:02:57 -07:00
cd $target
2015-12-01 10:30:27 -08:00
2016-07-27 15:02:57 -07:00
$(Get-Location).Path | Should Be $target
2015-12-01 10:30:27 -08:00
}
It "Should have the correct current location when using the chdir alias" {
2016-07-27 15:02:57 -07:00
chdir $target
2015-12-01 10:30:27 -08:00
2016-07-27 15:02:57 -07:00
$(Get-Location).Path | Should Be $target
2015-12-01 10:30:27 -08:00
}
It "Should have the correct current location when using the chdir alias" {
2016-07-27 15:02:57 -07:00
sl $target
2015-12-01 10:30:27 -08:00
2016-07-27 15:02:57 -07:00
$(Get-Location).Path | Should Be $target
2015-12-01 10:30:27 -08:00
}
It "Should be able to use the Path switch" {
2016-07-27 15:02:57 -07:00
{ Set-Location -Path $target } | Should Not Throw
2015-12-01 10:30:27 -08:00
}
It "Should generate a pathinfo object when using the Passthru switch" {
2016-07-27 15:02:57 -07:00
$(Set-Location $target -PassThru).GetType().Name | Should Be PathInfo
}
Context 'cd with no arguments' {
It 'Should go to $env:HOME when cd run with no arguments from FileSystem provider' {
Set-Location 'TestDrive:\'
cd
(Get-Location).Path | Should Be (Get-PSProvider FileSystem).Home
}
It 'Should go to $env:HOME when cd run with no arguments from Env: provider' {
Set-Location 'Env:'
cd
(Get-Location).Path | Should Be (Get-PSProvider FileSystem).Home
}
2015-12-01 10:30:27 -08:00
}
Set-Location $startDirectory
2015-10-23 10:01:44 -07:00
}