forked from PowerShell/vscode-powershell
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPathProcessing.Tests.ps1
88 lines (80 loc) · 4.27 KB
/
PathProcessing.Tests.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
New-Item -Path 'foo[1].txt' -Force
. $PSScriptRoot\PathProcessingNonExistingPaths.ps1
Describe 'Verify Path Processing for Non-existing Paths Allowed Impl' {
It 'Processes non-wildcard absolute path to non-existing file via -Path param' {
New-File -Path $PSScriptRoot\ReadmeNew.md | Should Be "$PSScriptRoot\READMENew.md"
}
It 'Processes multiple absolute paths via -Path param' {
New-File -Path $PSScriptRoot\Readme.md, $PSScriptRoot\XYZZY.ps1 |
Should Be @("$PSScriptRoot\README.md", "$PSScriptRoot\XYZZY.ps1")
}
It 'Processes relative path via -Path param' {
New-File -Path ..\examples\READMENew.md | Should Be "$PSScriptRoot\READMENew.md"
}
It 'Processes multiple relative path via -Path param' {
New-File -Path ..\examples\README.md, XYZZY.ps1 |
Should Be @("$PSScriptRoot\README.md", "$PSScriptRoot\XYZZY.ps1")
}
It 'Should accept pipeline input to Path' {
Get-ChildItem -LiteralPath "$pwd\foo[1].txt" | New-File | Should Be "$PSScriptRoot\foo[1].txt"
}
}
. $PSScriptRoot\PathProcessingNoWildcards.ps1
Describe 'Verify Path Processing for NO Wildcards Allowed Impl' {
It 'Processes non-wildcard absolute path via -Path param' {
Import-FileNoWildcard -Path $PSScriptRoot\Readme.md | Should Be "$PSScriptRoot\README.md"
}
It 'Processes multiple absolute paths via -Path param' {
Import-FileNoWildcard -Path $PSScriptRoot\Readme.md, $PSScriptRoot\PathProcessingWildcards.ps1 |
Should Be @("$PSScriptRoot\README.md", "$PSScriptRoot\PathProcessingWildcards.ps1")
}
It 'Processes relative path via -Path param' {
Import-FileNoWildcard -Path ..\examples\README.md | Should Be "$PSScriptRoot\README.md"
}
It 'Processes multiple relative path via -Path param' {
Import-FileNoWildcard -Path ..\examples\README.md, .vscode\launch.json |
Should Be @("$PSScriptRoot\README.md", "$PSScriptRoot\.vscode\launch.json")
}
It 'Should accept pipeline input to Path' {
Get-ChildItem -LiteralPath "$pwd\foo[1].txt" | Import-FileNoWildcard | Should Be "$PSScriptRoot\foo[1].txt"
}
}
. $PSScriptRoot\PathProcessingWildcards.ps1
Describe 'Verify Path Processing for Wildcards Allowed Impl' {
It 'Processes non-wildcard absolute path via -Path param' {
Import-FileWildcard -Path $PSScriptRoot\Readme.md | Should Be "$PSScriptRoot\README.md"
}
It 'Processes multiple absolute paths via -Path param' {
Import-FileWildcard -Path $PSScriptRoot\Readme.md, $PSScriptRoot\PathProcessingWildcards.ps1 |
Should Be @("$PSScriptRoot\README.md", "$PSScriptRoot\PathProcessingWildcards.ps1")
}
It 'Processes wildcard absolute path via -Path param' {
Import-FileWildcard -Path $PSScriptRoot\*.md | Should Be "$PSScriptRoot\README.md"
}
It 'Processes wildcard relative path via -Path param' {
Import-FileWildcard -Path *.md | Should Be "$PSScriptRoot\README.md"
}
It 'Processes relative path via -Path param' {
Import-FileWildcard -Path ..\examples\README.md | Should Be "$PSScriptRoot\README.md"
}
It 'Processes multiple relative path via -Path param' {
Import-FileWildcard -Path ..\examples\README.md, .vscode\launch.json |
Should Be @("$PSScriptRoot\README.md", "$PSScriptRoot\.vscode\launch.json")
}
It 'DefaultParameterSet should be Path' {
Import-FileWildcard *.md | Should Be "$PSScriptRoot\README.md"
}
It 'Should process absolute literal paths via -LiteralPath param'{
Import-FileWildcard -LiteralPath "$PSScriptRoot\foo[1].txt" | Should Be "$PSScriptRoot\foo[1].txt"
}
It 'Should process relative literal paths via -LiteralPath param'{
Import-FileWildcard -LiteralPath "..\examples\foo[1].txt" | Should Be "$PSScriptRoot\foo[1].txt"
}
It 'Should process multiple literal paths via -LiteralPath param'{
Import-FileWildcard -LiteralPath "..\examples\foo[1].txt", "$PSScriptRoot\README.md" |
Should Be @("$PSScriptRoot\foo[1].txt", "$PSScriptRoot\README.md")
}
It 'Should accept pipeline input to LiteralPath' {
Get-ChildItem -LiteralPath "$pwd\foo[1].txt" | Import-FileWildcard | Should Be "$PSScriptRoot\foo[1].txt"
}
}