Fix tests in RTCMetalVideoView.
RTCMTLVideoViewTests is currently broken, because RTCMTLVideoView doesn't render into an empty view. Bug: webrtc:11322 Change-Id: I84f9216024c277ddafd4d2e6416d7e7c818aa16d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168580 Reviewed-by: Kári Helgason <kthelgason@webrtc.org> Commit-Queue: Kári Helgason <kthelgason@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30549}
This commit is contained in:

committed by
Commit Bot

parent
c8496e9814
commit
1282babe66
@ -24,6 +24,8 @@
|
|||||||
// Extension of RTCMTLVideoView for testing purposes.
|
// Extension of RTCMTLVideoView for testing purposes.
|
||||||
@interface RTCMTLVideoView (Testing)
|
@interface RTCMTLVideoView (Testing)
|
||||||
|
|
||||||
|
@property(nonatomic, readonly) MTKView *metalView;
|
||||||
|
|
||||||
+ (BOOL)isMetalAvailable;
|
+ (BOOL)isMetalAvailable;
|
||||||
+ (UIView *)createMetalView:(CGRect)frame;
|
+ (UIView *)createMetalView:(CGRect)frame;
|
||||||
+ (id<RTCMTLRenderer>)createNV12Renderer;
|
+ (id<RTCMTLRenderer>)createNV12Renderer;
|
||||||
@ -109,7 +111,7 @@
|
|||||||
// given
|
// given
|
||||||
OCMStub([self.classMock isMetalAvailable]).andReturn(YES);
|
OCMStub([self.classMock isMetalAvailable]).andReturn(YES);
|
||||||
|
|
||||||
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] init];
|
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] initWithFrame:CGRectMake(0, 0, 640, 480)];
|
||||||
self.frameMock = OCMClassMock([RTCVideoFrame class]);
|
self.frameMock = OCMClassMock([RTCVideoFrame class]);
|
||||||
|
|
||||||
[[self.frameMock reject] buffer];
|
[[self.frameMock reject] buffer];
|
||||||
@ -118,7 +120,7 @@
|
|||||||
|
|
||||||
// when
|
// when
|
||||||
[realView renderFrame:nil];
|
[realView renderFrame:nil];
|
||||||
[realView drawInMTKView:nil];
|
[realView drawInMTKView:realView.metalView];
|
||||||
|
|
||||||
// then
|
// then
|
||||||
[self.frameMock verify];
|
[self.frameMock verify];
|
||||||
@ -135,11 +137,11 @@
|
|||||||
OCMExpect([self.classMock createI420Renderer]).andReturn(self.rendererI420Mock);
|
OCMExpect([self.classMock createI420Renderer]).andReturn(self.rendererI420Mock);
|
||||||
[[self.classMock reject] createNV12Renderer];
|
[[self.classMock reject] createNV12Renderer];
|
||||||
|
|
||||||
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] init];
|
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] initWithFrame:CGRectMake(0, 0, 640, 480)];
|
||||||
|
|
||||||
// when
|
// when
|
||||||
[realView renderFrame:self.frameMock];
|
[realView renderFrame:self.frameMock];
|
||||||
[realView drawInMTKView:nil];
|
[realView drawInMTKView:realView.metalView];
|
||||||
|
|
||||||
// then
|
// then
|
||||||
[self.rendererI420Mock verify];
|
[self.rendererI420Mock verify];
|
||||||
@ -156,11 +158,11 @@
|
|||||||
OCMExpect([self.classMock createNV12Renderer]).andReturn(self.rendererNV12Mock);
|
OCMExpect([self.classMock createNV12Renderer]).andReturn(self.rendererNV12Mock);
|
||||||
[[self.classMock reject] createI420Renderer];
|
[[self.classMock reject] createI420Renderer];
|
||||||
|
|
||||||
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] init];
|
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] initWithFrame:CGRectMake(0, 0, 640, 480)];
|
||||||
|
|
||||||
// when
|
// when
|
||||||
[realView renderFrame:self.frameMock];
|
[realView renderFrame:self.frameMock];
|
||||||
[realView drawInMTKView:nil];
|
[realView drawInMTKView:realView.metalView];
|
||||||
|
|
||||||
// then
|
// then
|
||||||
[self.rendererNV12Mock verify];
|
[self.rendererNV12Mock verify];
|
||||||
@ -176,21 +178,21 @@
|
|||||||
OCMExpect([self.classMock createNV12Renderer]).andReturn(self.rendererNV12Mock);
|
OCMExpect([self.classMock createNV12Renderer]).andReturn(self.rendererNV12Mock);
|
||||||
[[self.classMock reject] createI420Renderer];
|
[[self.classMock reject] createI420Renderer];
|
||||||
|
|
||||||
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] init];
|
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] initWithFrame:CGRectMake(0, 0, 640, 480)];
|
||||||
|
|
||||||
[realView renderFrame:self.frameMock];
|
[realView renderFrame:self.frameMock];
|
||||||
[realView drawInMTKView:nil];
|
[realView drawInMTKView:realView.metalView];
|
||||||
[self.rendererNV12Mock verify];
|
[self.rendererNV12Mock verify];
|
||||||
[self.classMock verify];
|
[self.classMock verify];
|
||||||
|
|
||||||
// Recreate view.
|
// Recreate view.
|
||||||
realView = [[RTCMTLVideoView alloc] init];
|
realView = [[RTCMTLVideoView alloc] initWithFrame:CGRectMake(0, 0, 640, 480)];
|
||||||
OCMExpect([self.rendererNV12Mock drawFrame:self.frameMock]);
|
OCMExpect([self.rendererNV12Mock drawFrame:self.frameMock]);
|
||||||
// View hould reinit renderer.
|
// View hould reinit renderer.
|
||||||
OCMExpect([self.classMock createNV12Renderer]).andReturn(self.rendererNV12Mock);
|
OCMExpect([self.classMock createNV12Renderer]).andReturn(self.rendererNV12Mock);
|
||||||
|
|
||||||
[realView renderFrame:self.frameMock];
|
[realView renderFrame:self.frameMock];
|
||||||
[realView drawInMTKView:nil];
|
[realView drawInMTKView:realView.metalView];
|
||||||
[self.rendererNV12Mock verify];
|
[self.rendererNV12Mock verify];
|
||||||
[self.classMock verify];
|
[self.classMock verify];
|
||||||
}
|
}
|
||||||
@ -204,9 +206,9 @@
|
|||||||
OCMExpect([self.classMock createNV12Renderer]).andReturn(self.rendererNV12Mock);
|
OCMExpect([self.classMock createNV12Renderer]).andReturn(self.rendererNV12Mock);
|
||||||
[[self.classMock reject] createI420Renderer];
|
[[self.classMock reject] createI420Renderer];
|
||||||
|
|
||||||
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] init];
|
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] initWithFrame:CGRectMake(0, 0, 640, 480)];
|
||||||
[realView renderFrame:self.frameMock];
|
[realView renderFrame:self.frameMock];
|
||||||
[realView drawInMTKView:nil];
|
[realView drawInMTKView:realView.metalView];
|
||||||
|
|
||||||
[self.rendererNV12Mock verify];
|
[self.rendererNV12Mock verify];
|
||||||
[self.classMock verify];
|
[self.classMock verify];
|
||||||
@ -214,7 +216,7 @@
|
|||||||
[[self.rendererNV12Mock reject] drawFrame:[OCMArg any]];
|
[[self.rendererNV12Mock reject] drawFrame:[OCMArg any]];
|
||||||
|
|
||||||
[realView renderFrame:self.frameMock];
|
[realView renderFrame:self.frameMock];
|
||||||
[realView drawInMTKView:nil];
|
[realView drawInMTKView:realView.metalView];
|
||||||
|
|
||||||
[self.rendererNV12Mock verify];
|
[self.rendererNV12Mock verify];
|
||||||
}
|
}
|
||||||
@ -228,9 +230,9 @@
|
|||||||
OCMExpect([self.classMock createNV12Renderer]).andReturn(self.rendererNV12Mock);
|
OCMExpect([self.classMock createNV12Renderer]).andReturn(self.rendererNV12Mock);
|
||||||
[[self.classMock reject] createI420Renderer];
|
[[self.classMock reject] createI420Renderer];
|
||||||
|
|
||||||
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] init];
|
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] initWithFrame:CGRectMake(0, 0, 640, 480)];
|
||||||
[realView renderFrame:self.frameMock];
|
[realView renderFrame:self.frameMock];
|
||||||
[realView drawInMTKView:nil];
|
[realView drawInMTKView:realView.metalView];
|
||||||
|
|
||||||
[self.rendererNV12Mock verify];
|
[self.rendererNV12Mock verify];
|
||||||
[self.classMock verify];
|
[self.classMock verify];
|
||||||
@ -240,7 +242,7 @@
|
|||||||
OCMExpect([self.rendererNV12Mock drawFrame:self.frameMock]);
|
OCMExpect([self.rendererNV12Mock drawFrame:self.frameMock]);
|
||||||
|
|
||||||
[realView renderFrame:self.frameMock];
|
[realView renderFrame:self.frameMock];
|
||||||
[realView drawInMTKView:nil];
|
[realView drawInMTKView:realView.metalView];
|
||||||
|
|
||||||
[self.rendererNV12Mock verify];
|
[self.rendererNV12Mock verify];
|
||||||
}
|
}
|
||||||
@ -252,7 +254,7 @@
|
|||||||
CGSize size = CGSizeMake(640, 480);
|
CGSize size = CGSizeMake(640, 480);
|
||||||
OCMExpect([delegateMock videoView:[OCMArg any] didChangeVideoSize:size]);
|
OCMExpect([delegateMock videoView:[OCMArg any] didChangeVideoSize:size]);
|
||||||
|
|
||||||
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] init];
|
RTCMTLVideoView *realView = [[RTCMTLVideoView alloc] initWithFrame:CGRectMake(0, 0, 640, 480)];
|
||||||
realView.delegate = delegateMock;
|
realView.delegate = delegateMock;
|
||||||
[realView setSize:size];
|
[realView setSize:size];
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user