Skip to content

Commit dc120cd

Browse files
authored
Quote input string in BeNullOrEmpty error (#2329)
1 parent 98de70b commit dc120cd

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/functions/assertions/BeNullOrEmpty.ps1

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
function Should-BeNullOrEmpty([object[]] $ActualValue, [switch] $Negate, [string] $Because) {
2+
function Should-BeNullOrEmpty($ActualValue, [switch] $Negate, [string] $Because) {
33
<#
44
.SYNOPSIS
55
Checks values for null or empty (strings).
@@ -30,6 +30,7 @@ function Should-BeNullOrEmpty([object[]] $ActualValue, [switch] $Negate, [string
3030
}
3131
elseif ($ActualValue.Count -eq 1) {
3232
$expandedValue = $ActualValue[0]
33+
$singleValue = $true
3334
if ($expandedValue -is [hashtable]) {
3435
$succeeded = $expandedValue.Count -eq 0
3536
}
@@ -52,7 +53,8 @@ function Should-BeNullOrEmpty([object[]] $ActualValue, [switch] $Negate, [string
5253
$failureMessage = NotShouldBeNullOrEmptyFailureMessage -Because $Because
5354
}
5455
else {
55-
$failureMessage = ShouldBeNullOrEmptyFailureMessage -ActualValue $ActualValue -Because $Because
56+
$valueToFormat = if ($singleValue) { $expandedValue } else { $ActualValue }
57+
$failureMessage = ShouldBeNullOrEmptyFailureMessage -ActualValue $valueToFormat -Because $Because
5658
}
5759
}
5860

tst/functions/assertions/BeNullOrEmpty.Tests.ps1

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,11 @@ InPesterModuleScope {
3333
$err = { 1 | Should -BeNullOrEmpty -Because 'reason' } | Verify-AssertionFailed
3434
$err.Exception.Message | Verify-Equal 'Expected $null or empty, because reason, but got 1.'
3535
}
36+
37+
It 'returns the correct assertion message for single string' {
38+
$err = { 'empty' | Should -BeNullOrEmpty -Because 'reason' } | Verify-AssertionFailed
39+
$err.Exception.Message | Verify-Equal 'Expected $null or empty, because reason, but got ''empty''.'
40+
}
3641
}
3742

3843
Describe "Should -Not -BeNullOrEmpty" {

0 commit comments

Comments
 (0)