50 lines
No EOL
1.7 KiB
PowerShell
50 lines
No EOL
1.7 KiB
PowerShell
Describe "Tee-Object" {
|
|
|
|
Context "Validate Tee-Object is correctly forking output" {
|
|
|
|
$testfile = Join-Path -Path (Join-Path -Path $PSScriptRoot -ChildPath assets) -ChildPath testfile.txt
|
|
|
|
It "Should return the output to the screen and to the variable" {
|
|
$teefile = $testfile
|
|
echo teeobjecttest1 | Tee-Object -variable teeresults
|
|
$teeresults | Should Be "teeobjecttest1"
|
|
Remove-Item $teefile -ErrorAction SilentlyContinue
|
|
}
|
|
|
|
It "Should tee the output to a file" {
|
|
$teefile = $testfile
|
|
echo teeobjecttest3 | Tee-Object $teefile
|
|
Get-Content $teefile | Should Be "teeobjecttest3"
|
|
Remove-Item $teefile -ErrorAction SilentlyContinue
|
|
}
|
|
}
|
|
}
|
|
|
|
Describe "Tee-Object DRT Unit Tests" -Tags DRT {
|
|
$tempDirectory = Join-Path $TestDrive -ChildPath "TeeObjectTestsTempDir"
|
|
$tempFile = "TeeObjectTestsTempFile"
|
|
New-Item $tempDirectory -ItemType Directory -Force
|
|
|
|
It "Positive File Test" {
|
|
$expected = "1", "2", "3"
|
|
$filePath = Join-Path $tempDirectory -ChildPath $tempFile
|
|
$results = $expected | Tee-Object -FilePath $filePath
|
|
$results.Length | Should be 3
|
|
$results | Should Be $expected
|
|
$content = Get-Content $filePath
|
|
$content | Should Be $expected
|
|
}
|
|
|
|
It "Positive Var Test" {
|
|
$expected = "1", "2", "3"
|
|
$varName = "teeObjectTestVar"
|
|
$results = $expected | Tee-Object -Variable $varName
|
|
$results.Length | Should be 3
|
|
$results | Should Be $expected
|
|
|
|
$results = Get-Variable -Name $varName -ValueOnly
|
|
$results.Length | Should be 3
|
|
$results | Should Be $expected
|
|
}
|
|
|
|
} |