Normalize line endings before comparing string in tests (#11499)
This commit is contained in:
parent
57dd869636
commit
0097802cee
|
@ -5,6 +5,15 @@ Describe 'Basic debugger command tests' -tag 'CI' {
|
|||
|
||||
BeforeAll {
|
||||
Register-DebuggerHandler
|
||||
|
||||
function NormalizeLineEnd
|
||||
{
|
||||
param (
|
||||
[string] $string
|
||||
)
|
||||
|
||||
$string -replace "`r`n", "`n"
|
||||
}
|
||||
}
|
||||
|
||||
AfterAll {
|
||||
|
@ -76,6 +85,7 @@ Describe 'Basic debugger command tests' -tag 'CI' {
|
|||
7: }
|
||||
8:
|
||||
'@
|
||||
$testScriptList = NormalizeLineEnd -string $testScriptList
|
||||
|
||||
$results = @(Test-Debugger -ScriptBlock $testScript -CommandQueue 'l','list')
|
||||
$result = @{
|
||||
|
@ -99,7 +109,7 @@ Describe 'Basic debugger command tests' -tag 'CI' {
|
|||
}
|
||||
|
||||
It 'Should show the entire script listing with the current position on line 5' {
|
||||
$result['l'] | Should -BeExactly $testScriptList
|
||||
(NormalizeLineEnd -string $result['l']) | Should -BeExactly $testScriptList
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -122,6 +132,8 @@ Describe 'Basic debugger command tests' -tag 'CI' {
|
|||
8:
|
||||
'@
|
||||
|
||||
$testScriptList = NormalizeLineEnd -string $testScriptList
|
||||
|
||||
$results = @(Test-Debugger -ScriptBlock $testScript -CommandQueue 'l 4','list 4')
|
||||
$result = @{
|
||||
'l 4' = if ($results.Count -gt 0) {$results[0].Output -replace '\s+$' -join [Environment]::NewLine -replace "^[`r`n]+|[`r`n]+$"}
|
||||
|
@ -144,7 +156,7 @@ Describe 'Basic debugger command tests' -tag 'CI' {
|
|||
}
|
||||
|
||||
It 'Should show a partial script listing starting on line 4 with the current position on line 5' {
|
||||
$result['l 4'] | Should -BeExactly $testScriptList
|
||||
(NormalizeLineEnd -string $result['l 4']) | Should -BeExactly $testScriptList
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -164,6 +176,8 @@ Describe 'Basic debugger command tests' -tag 'CI' {
|
|||
4:* Get-Process -Id $PID > $null
|
||||
'@
|
||||
|
||||
$testScriptList = NormalizeLineEnd -string $testScriptList
|
||||
|
||||
$results = @(Test-Debugger -ScriptBlock $testScript -CommandQueue 'l 3 2','list 3 2')
|
||||
$result = @{
|
||||
'l 3 2' = if ($results.Count -gt 0) {$results[0].Output -replace '\s+$' -join [Environment]::NewLine -replace "^[`r`n]+|[`r`n]+$"}
|
||||
|
@ -186,7 +200,7 @@ Describe 'Basic debugger command tests' -tag 'CI' {
|
|||
}
|
||||
|
||||
It 'Should show a partial script listing showing 3 lines starting on line 4 with the current position on line 5' {
|
||||
$result['l 3 2'] | Should -BeExactly $testScriptList
|
||||
(NormalizeLineEnd -string $result['l 3 2']) | Should -BeExactly $testScriptList
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -176,7 +176,10 @@ dbda : KM
|
|||
|
||||
|
||||
"@
|
||||
$expected = $expected -replace "`r`n", "`n"
|
||||
|
||||
$obj | Format-List | Out-String | Should -BeExactly $expected
|
||||
$actual = $obj | Format-List | Out-String
|
||||
$actual = $actual -replace "`r`n", "`n"
|
||||
$actual | Should -BeExactly $expected
|
||||
}
|
||||
}
|
||||
|
|
|
@ -829,6 +829,7 @@ A Name B
|
|||
|
||||
"@
|
||||
|
||||
$obj | Format-Table | Out-String | Should -BeExactly $expected
|
||||
$actual = $obj | Format-Table | Out-String
|
||||
($actual.Replace("`r`n", "`n")) | Should -BeExactly ($expected.Replace("`r`n", "`n"))
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue