mirror of
https://github.com/aphrody-labs/PowerShell.git
synced 2026-10-17 04:36:39 +00:00
Add Read-Host regression test
This commit is contained in:
1 parent
68875f0942
commit
8d23dad0ab
2 files changed
+47
No files matched your search
@@ -0,0 +1,20 @@
|
|||||||
|
Describe "Read-Host" {
|
||||||
|
Context "[Console]::ReadKey() implementation on non-Windows" {
|
||||||
|
BeforeAll {
|
||||||
|
$powershell = Join-Path -Path $PsHome -ChildPath "powershell"
|
||||||
|
$assetsDir = Join-Path -Path $PSScriptRoot -ChildPath assets
|
||||||
|
if ($IsWindows) {
|
||||||
|
$ItArgs = @{ skip = $true }
|
||||||
|
} elseif (-not (Get-Command expect -ErrorAction Ignore)) {
|
||||||
|
$ItArgs = @{ pending = $true }
|
||||||
|
} else {
|
||||||
|
$ItArgs = @{ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
It @ItArgs "Should output correctly" {
|
||||||
|
& (Join-Path $assetsDir "Read-Host.Output.expect") $powershell | Out-Null
|
||||||
|
$LASTEXITCODE | Should Be 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/expect -f
|
||||||
|
|
||||||
|
exp_internal 1
|
||||||
|
|
||||||
|
# Expects path to PowerShell as first argument
|
||||||
|
set powershell [lindex $argv 0]
|
||||||
|
|
||||||
|
set timeout 5
|
||||||
|
|
||||||
|
spawn $powershell -nologo -noprofile Read-Host prompt
|
||||||
|
|
||||||
|
expect "prompt: $" {
|
||||||
|
send "input\r"
|
||||||
|
}
|
||||||
|
|
||||||
|
# This is the old, incorrect behavior
|
||||||
|
expect "input\r\ninput\r" {
|
||||||
|
exit 2
|
||||||
|
}
|
||||||
|
|
||||||
|
# This is the expected behavior
|
||||||
|
expect "input\r\n" {
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
# Anything else is wrong
|
||||||
|
exit 1
|
||||||
Reference in new issue
Block a user