Files
PowerShell-PowerShell/test/powershell/Modules/Microsoft.PowerShell.Utility/Tee-Object.Tests.ps1
T
James Truher 1e1c4b7dc0 Restructure of pester test layout
This restructuring moves tests to a directory name which matches the module
in which the cmdlet resides which should improve the discoverability of a
specific test.
For tests which are not about cmdlets in a module, new directories have been
created to make those tests easier to find as well
2016-06-29 12:05:41 -07:00

48 lines
1.5 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 {
BeforeAll {
$tempFile = Join-Path $TestDrive -ChildPath "TeeObjectTestsTempFile"
}
It "Positive File Test" {
$expected = "1", "2", "3"
$results = $expected | Tee-Object -FilePath $tempFile
$results.Length | Should be 3
$results | Should Be $expected
$content = Get-Content $tempFile
$content | Should Be $expected
}
It "Positive Variable 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
}
}