diff --git a/test/powershell/Hierarchical-Path.Tests.ps1 b/test/powershell/Hierarchical-Path.Tests.ps1 new file mode 100644 index 0000000000..f45c1e8b8d --- /dev/null +++ b/test/powershell/Hierarchical-Path.Tests.ps1 @@ -0,0 +1,46 @@ +Describe "Hierarchical paths" { + BeforeAll { + $data = "Hello World" + Setup -File testFile.txt -Content $data + } + + It "should work with Join-Path " { + $testPath = Join-Path $TestDrive testFile.txt + Get-Content $testPath | Should Be $data + } + + It "should work with platform's slashes" { + $testPath = "$TestDrive$([IO.Path]::DirectorySeparatorChar)testFile.txt" + Get-Content $testPath | Should Be $data + } + + It "should work with forward slashes" { + $testPath = "$TestDrive/testFile.txt" + Get-Content $testPath | Should Be $data + } + + It "should work with backward slashes" { + $testPath = "$TestDrive\testFile.txt" + Get-Content $testPath | Should Be $data + } + + It "should work with backward slashes for each separator" { + $testPath = "$TestDrive\testFile.txt".Replace("/","\") + Get-Content $testPath | should be $data + } + + It "should work with forward slashes for each separator" { + $testPath = "$TestDrive/testFile.txt".Replace("\","/") + Get-Content $testPath | should be $data + } + + It "should work even if there are too many forward slashes" { + $testPath = "$TestDrive//////testFile.txt" + Get-Content $testPath | should be $data + } + + It "should work even if there are too many backward slashes" { + $testPath = "$TestDrive\\\\\\\testFile.txt" + Get-Content $testPath | should be $data + } +}