The `Get-Process` cmdlet cannot be used for these types of tests due to security constraints on OS X. These tests are about to be re-written soon anyway, so the simple fix was to use another cmdlet.
74 lines
2.1 KiB
PowerShell
74 lines
2.1 KiB
PowerShell
Describe "Remove-PSBreakpoint" {
|
|
# Set up test script
|
|
$testScript = Join-Path -Path (Join-Path -Path $PSScriptRoot -ChildPath assets) -ChildPath psbreakpointtestscript.ps1
|
|
|
|
$script = "`$var = 1
|
|
`$var2 = Get-Command
|
|
|
|
# this is a comment
|
|
Get-Date
|
|
"
|
|
|
|
$script > $testScript
|
|
|
|
BeforeEach {
|
|
# set some breakpoints
|
|
$line = Set-PSBreakpoint -Line 1,2,3 -Script $testScript
|
|
$command = Set-PSBreakpoint -Command "Get-Date" -Script $testScript
|
|
$variable = Set-PSBreakpoint -Variable var2 -Script $testScript
|
|
}
|
|
|
|
Context "Basic Removal Methods Tests" {
|
|
It "Should be able to remove a breakpoint by breakpoint Id" {
|
|
$NumberOfBreakpoints = $(Get-PSBreakpoint).Id.length
|
|
$BreakID = $(Get-PSBreakpoint).Id[0]
|
|
Remove-PSBreakpoint -Id $BreakID
|
|
|
|
$(Get-PSBreakpoint).Id.length | Should Be ($NumberOfBreakpoints -1)
|
|
}
|
|
|
|
It "Should be able to remove a breakpoint by variable" {
|
|
$NumberOfBreakpoints = $(Get-PSBreakpoint).Id.length
|
|
Remove-PSBreakpoint -Breakpoint $variable
|
|
|
|
$(Get-PSBreakpoint).Id.length | Should Be ($NumberOfBreakpoints -1)
|
|
}
|
|
|
|
It "Should be able to remove a breakpoint by command" {
|
|
$NumberOfBreakpoints = $(Get-PSBreakpoint).Id.length
|
|
Remove-PSBreakpoint -Breakpoint $command
|
|
|
|
$(Get-PSBreakpoint).Id.length | Should Be ($NumberOfBreakpoints -1)
|
|
}
|
|
|
|
It "Should be able to pipe breakpoint objects to Remove-PSBreakpoint" {
|
|
$NumberOfBreakpoints = $(Get-PSBreakpoint).Id.length
|
|
$variable | Remove-PSBreakpoint
|
|
|
|
$(Get-PSBreakpoint).Id.length | Should Be ($NumberOfBreakpoints -1)
|
|
}
|
|
}
|
|
|
|
Context "Alias Tests" {
|
|
It "Should remove a breakpoint using the rbp alias" {
|
|
$NumberOfBreakpoints = $(Get-PSBreakpoint).Id.length
|
|
$BreakID = $(Get-PSBreakpoint).Id[0]
|
|
rbp -Id $BreakID
|
|
|
|
$(Get-PSBreakpoint).Id.length | Should Be ($NumberOfBreakpoints -1)
|
|
}
|
|
}
|
|
|
|
It "Should Remove all breakpoints" {
|
|
$(Get-PSBreakpoint).Id.Length | Should Not BeNullOrEmpty
|
|
|
|
Get-PSBreakpoint | Remove-PSBreakpoint
|
|
|
|
$(Get-PSBreakpoint).Id.Length | Should Be 0
|
|
}
|
|
|
|
|
|
#Clean up after ourselves
|
|
|
|
Remove-Item $testScript
|
|
}
|