Skip to content

Commit 13a1ed1

Browse files
committed
Fix ExpectationMessage.update(failureMessage:) not to update a FailureMessage instance with empty string
The followings is the previous behavior: - `FailureMessage().toExpectationMessage()` will be `ExpectationMessage.fail("")` - `ExpectationMessage.fail("").update(failureMessage: aMessage)` will set `aMessage.stringValue = ""` - Thus the error message of `expect(1).to(MatcherFunc { _, _ in false }.predicate)` will be empty
1 parent d12f99e commit 13a1ed1

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

Sources/Nimble/ExpectationMessage.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,8 +152,10 @@ public indirect enum ExpectationMessage {
152152
// Backwards compatibility: converts ExpectationMessage tree to FailureMessage
153153
internal func update(failureMessage: FailureMessage) {
154154
switch self {
155-
case let .fail(msg):
155+
case let .fail(msg) where !msg.isEmpty:
156156
failureMessage.stringValue = msg
157+
case .fail:
158+
break
157159
case let .expectedTo(msg):
158160
failureMessage.actualValue = nil
159161
failureMessage.postfixMessage = msg

0 commit comments

Comments
 (0)