mirror of
https://github.com/PowerShell/PowerShell
synced 2026-06-08 12:12:50 +00:00
* Fix GetType() bad pattern and related issues in tests $var.GetType() can raise an exception in tests so we should check $var before make the call. A large part of the tests does not make this check. I start with searching ".GetType()" but discovered many related issues in tests (reduntant and unneeded tests, "throw" bad pattens, bugs, formattings (sorry!) and so on) - I had to fix them too. * Fix after code review * Second wave of migration GetType() -> BeOfType Removed 'GetType().Name' patterns.
62 lines
1.8 KiB
PowerShell
62 lines
1.8 KiB
PowerShell
if ( $IsWindows ) {
|
|
$PesterSkipOrPending = @{ Skip = $true }
|
|
}
|
|
elseif ( $IsOSX ) {
|
|
$PesterSkipOrPending = @{ Pending = $true }
|
|
}
|
|
else {
|
|
$PesterSkipOrPending = @{}
|
|
}
|
|
Describe "NativeLinuxCommands" -tags "CI" {
|
|
It "Should return a type of 'string' for hostname cmdlet" {
|
|
$result = hostname
|
|
$result | Should Not BeNullOrEmpty
|
|
$result | Should BeOfType string
|
|
}
|
|
|
|
It "Should find Application grep" @PesterSkipOrPending {
|
|
(get-command grep).CommandType | Should Be Application
|
|
}
|
|
|
|
It "Should pipe to grep and get result" @PesterSkipOrPending {
|
|
"hello world" | grep hello | Should Be "hello world"
|
|
}
|
|
|
|
It "Should find Application touch" @PesterSkipOrPending {
|
|
(get-command touch).CommandType | Should Be Application
|
|
}
|
|
|
|
It "Should not redirect standard input if native command is the first command in pipeline (1)" @PesterSkipOrPending {
|
|
stty | ForEach-Object -Begin { $out = @() } -Process { $out += $_ }
|
|
$out.Length -gt 0 | Should Be $true
|
|
$out[0] -like "speed * baud; line =*" | Should Be $true
|
|
}
|
|
|
|
It "Should not redirect standard input if native command is the first command in pipeline (2)" @PesterSkipOrPending {
|
|
$out = stty
|
|
$out.Length -gt 0 | Should Be $true
|
|
$out[0] -like "speed * baud; line =*" | Should Be $true
|
|
}
|
|
}
|
|
|
|
Describe "Scripts with extensions" -tags "CI" {
|
|
BeforeAll {
|
|
$data = "Hello World"
|
|
Setup -File testScript.ps1 -Content "'$data'"
|
|
$originalPath = $env:PATH
|
|
$env:PATH += [IO.Path]::PathSeparator + $TestDrive
|
|
}
|
|
|
|
AfterAll {
|
|
$env:PATH = $originalPath
|
|
}
|
|
|
|
It "Should run a script with its full name" {
|
|
testScript.ps1 | Should Be $data
|
|
}
|
|
|
|
It "Should run a script with its short name" {
|
|
testScript | Should Be $data
|
|
}
|
|
}
|