From c548aab8578c2ff9b7f83c1839e61c70be5fbfca Mon Sep 17 00:00:00 2001 From: Daniela Date: Thu, 5 Oct 2017 14:16:38 +0200 Subject: [PATCH] Fix metal unit test on ios11. Ensure the view is always nil in all tests. Bug: webrtc:8341 Change-Id: I405ba23a1460a7e26cc95c7537a66b21b1fb9426 Reviewed-on: https://webrtc-review.googlesource.com/6766 Reviewed-by: Peter Hanspers Commit-Queue: Daniela Jovanoska Petrenko Cr-Commit-Position: refs/heads/master@{#20201} --- .../Framework/UnitTests/RTCMTLVideoViewTests.mm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/sdk/objc/Framework/UnitTests/RTCMTLVideoViewTests.mm b/sdk/objc/Framework/UnitTests/RTCMTLVideoViewTests.mm index eaaa71bd9e..ad4903a90f 100644 --- a/sdk/objc/Framework/UnitTests/RTCMTLVideoViewTests.mm +++ b/sdk/objc/Framework/UnitTests/RTCMTLVideoViewTests.mm @@ -29,7 +29,6 @@ @interface RTCMTLVideoViewTests : NSObject @property(nonatomic, strong) id classMock; -@property(nonatomic, strong) id metalViewMock; @property(nonatomic, strong) id rendererNV12Mock; @property(nonatomic, strong) id rendererI420Mock; @property(nonatomic, strong) id frameMock; @@ -38,25 +37,23 @@ @implementation RTCMTLVideoViewTests @synthesize classMock = _classMock; -@synthesize metalViewMock = _metalViewMock; @synthesize rendererNV12Mock = _rendererNV12Mock; @synthesize rendererI420Mock = _rendererI420Mock; @synthesize frameMock = _frameMock; - (void)setup { self.classMock = OCMClassMock([RTCMTLVideoView class]); + [self startMockingNilView]; } - (void)tearDown { [self.classMock stopMocking]; [self.rendererI420Mock stopMocking]; [self.rendererNV12Mock stopMocking]; - [self.metalViewMock stopMocking]; [self.frameMock stopMocking]; self.classMock = nil; self.rendererI420Mock = nil; self.rendererNV12Mock = nil; - self.metalViewMock = nil; self.frameMock = nil; } @@ -85,6 +82,11 @@ return rendererMock; } +- (void)startMockingNilView { + // Use OCMock 2 syntax here until OCMock is upgraded to 3.4 + [[[self.classMock stub] andReturn:nil] createMetalView:CGRectZero]; +} + #pragma mark - Test cases - (void)testInitAssertsIfMetalUnavailabe { // given @@ -105,6 +107,7 @@ - (void)testRTCVideoRenderNilFrameCallback { // given OCMStub([self.classMock isMetalAvailable]).andReturn(YES); + RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] init]; self.frameMock = OCMClassMock([RTCVideoFrame class]); @@ -114,7 +117,7 @@ // when [realView renderFrame:nil]; - [realView drawInMTKView:self.metalViewMock]; + [realView drawInMTKView:nil]; // then [self.frameMock verify]; @@ -135,7 +138,7 @@ // when [realView renderFrame:self.frameMock]; - [realView drawInMTKView:self.metalViewMock]; + [realView drawInMTKView:nil]; // then [self.rendererI420Mock verify]; @@ -156,7 +159,7 @@ // when [realView renderFrame:self.frameMock]; - [realView drawInMTKView:self.metalViewMock]; + [realView drawInMTKView:nil]; // then [self.rendererNV12Mock verify];