@@ -6,16 +6,24 @@ import Foundation
66/// Errors are tried to be compared by their implementation of Equatable,
77/// otherwise they fallback to comparison by _domain and _code.
88public func matchError< T: Error > ( _ error: T ) -> Predicate < Error > {
9- return Predicate . fromDeprecatedClosure { actualExpression, failureMessage in
10- let actualError : Error ? = try actualExpression. evaluate ( )
9+ return Predicate . define { actualExpression in
10+ let actualError = try actualExpression. evaluate ( )
11+
12+ let failureMessage = FailureMessage ( )
13+ setFailureMessageForError (
14+ failureMessage,
15+ postfixMessageVerb: " match " ,
16+ actualError: actualError,
17+ error: error
18+ )
1119
12- setFailureMessageForError ( failureMessage, postfixMessageVerb: " match " , actualError: actualError, error: error)
1320 var matches = false
1421 if let actualError = actualError, errorMatchesExpectedError ( actualError, expectedError: error) {
1522 matches = true
1623 }
17- return matches
18- } . requireNonNil
24+
25+ return PredicateResult ( bool: matches, message: failureMessage. toExpectationMessage ( ) )
26+ }
1927}
2028
2129/// A Nimble matcher that succeeds when the actual expression evaluates to an
@@ -24,35 +32,45 @@ public func matchError<T: Error>(_ error: T) -> Predicate<Error> {
2432/// Errors are tried to be compared by their implementation of Equatable,
2533/// otherwise they fallback to comparision by _domain and _code.
2634public func matchError< T: Error & Equatable > ( _ error: T ) -> Predicate < Error > {
27- return Predicate . fromDeprecatedClosure { actualExpression, failureMessage in
28- let actualError : Error ? = try actualExpression. evaluate ( )
35+ return Predicate . define { actualExpression in
36+ let actualError = try actualExpression. evaluate ( )
2937
30- setFailureMessageForError ( failureMessage, postfixMessageVerb: " match " , actualError: actualError, error: error)
38+ let failureMessage = FailureMessage ( )
39+ setFailureMessageForError (
40+ failureMessage,
41+ postfixMessageVerb: " match " ,
42+ actualError: actualError,
43+ error: error
44+ )
3145
3246 var matches = false
3347 if let actualError = actualError as? T , error == actualError {
3448 matches = true
3549 }
36- return matches
37- } . requireNonNil
50+
51+ return PredicateResult ( bool: matches, message: failureMessage. toExpectationMessage ( ) )
52+ }
3853}
3954
4055/// A Nimble matcher that succeeds when the actual expression evaluates to an
4156/// error of the specified type
4257public func matchError< T: Error > ( _ errorType: T . Type ) -> Predicate < Error > {
43- return Predicate . fromDeprecatedClosure { actualExpression, failureMessage in
44- let actualError : Error ? = try actualExpression. evaluate ( )
58+ return Predicate . define { actualExpression in
59+ let actualError = try actualExpression. evaluate ( )
4560
61+ let failureMessage = FailureMessage ( )
4662 setFailureMessageForError (
4763 failureMessage,
4864 postfixMessageVerb: " match " ,
4965 actualError: actualError,
5066 errorType: errorType
5167 )
68+
5269 var matches = false
5370 if actualError as? T != nil {
5471 matches = true
5572 }
56- return matches
57- } . requireNonNil
73+
74+ return PredicateResult ( bool: matches, message: failureMessage. toExpectationMessage ( ) )
75+ }
5876}
0 commit comments