Skip to content

Commit 51d5438

Browse files
authored
Allow beIdenticalTo and be to be used as composed matchers (#1178)
1 parent e541b92 commit 51d5438

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

Sources/Nimble/Matchers/BeIdenticalTo.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/// A Nimble matcher that succeeds when the actual value is the same instance
22
/// as the expected instance.
3-
public func beIdenticalTo(_ expected: AnyObject?) -> Matcher<AnyObject> {
3+
public func beIdenticalTo<T: AnyObject>(_ expected: T?) -> Matcher<T> {
44
return Matcher.define { actualExpression in
55
let actual = try actualExpression.evaluate()
66

@@ -35,7 +35,7 @@ public func !== (lhs: AsyncExpectation<AnyObject>, rhs: AnyObject?) async {
3535
/// as the expected instance.
3636
///
3737
/// Alias for "beIdenticalTo".
38-
public func be(_ expected: AnyObject?) -> Matcher<AnyObject> {
38+
public func be<T: AnyObject>(_ expected: T?) -> Matcher<T> {
3939
return beIdenticalTo(expected)
4040
}
4141

Tests/NimbleTests/Matchers/BeIdenticalToObjectTest.swift

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ final class BeIdenticalToObjectTest: XCTestCase {
1212

1313
func testBeIdenticalToPositive() {
1414
expect(self.testObjectA).to(beIdenticalTo(testObjectA))
15+
// check that the typing works out when used as a submatcher.
16+
expect(self.testObjectA).to(map({ $0 }, beIdenticalTo(testObjectA)))
1517
}
1618

1719
func testBeIdenticalToNegative() {

0 commit comments

Comments
 (0)