PowerShell/test/powershell/Set-Location.Tests.ps1

68 lines
1.6 KiB
PowerShell
Raw Normal View History

Describe "Set-Location" {
$startDirectory = Get-Location
2015-12-28 20:05:48 +01:00
if ($IsWindows)
{
$target = "C:\"
}
else
{
$target = "/"
}
2015-10-23 19:01:44 +02:00
It "Should be able to be called without error" {
{ Set-Location $target } | Should Not Throw
}
2015-10-23 19:01:44 +02:00
It "Should be able to be called on different providers" {
{ Set-Location alias: } | Should Not Throw
{ Set-Location env: } | Should Not Throw
}
2015-10-23 19:01:44 +02:00
It "Should be able use the cd alias without error" {
{ cd $target } | Should Not Throw
}
2015-10-23 19:01:44 +02:00
It "Should be able to use the chdir alias without error" {
{ chdir $target } | Should Not Throw
}
2015-10-23 19:01:44 +02:00
It "Should be able to use the sl alias without error" {
{ sl $target } | Should Not Throw
}
2015-10-23 19:01:44 +02:00
It "Should have the correct current location when using the set-location cmdlet" {
Set-Location $startDirectory
2015-10-23 19:01:44 +02:00
$(Get-Location).Path | Should Be $startDirectory.Path
}
2015-10-23 19:01:44 +02:00
It "Should have the correct current location when using the cd alias" {
cd $target
2015-10-23 19:01:44 +02:00
$(Get-Location).Path | Should Be $target
}
2015-10-23 19:01:44 +02:00
It "Should have the correct current location when using the chdir alias" {
chdir $target
2015-10-23 19:01:44 +02:00
$(Get-Location).Path | Should Be $target
}
2015-10-23 19:01:44 +02:00
It "Should have the correct current location when using the chdir alias" {
sl $target
2015-10-23 19:01:44 +02:00
$(Get-Location).Path | Should Be $target
}
2015-10-23 19:01:44 +02:00
It "Should be able to use the Path switch" {
{ Set-Location -Path $target } | Should Not Throw
}
2015-10-23 19:01:44 +02:00
It "Should generate a pathinfo object when using the Passthru switch" {
$(Set-Location $target -PassThru).GetType().Name | Should Be PathInfo
2015-10-23 19:01:44 +02:00
}
Set-Location $startDirectory
2015-10-23 19:01:44 +02:00
}