Skip to content

Commit b63ca43

Browse files
authored
[camera] Remove remaining OCMock usage in tests (#8624)
Final OCMock-related PR which removes all remaining usage. Related to flutter/flutter#119109.
1 parent 26dcec3 commit b63ca43

File tree

21 files changed

+701
-264
lines changed

21 files changed

+701
-264
lines changed

packages/camera/camera_avfoundation/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.9.18+6
2+
3+
* Refactors implementations to remove remaining usage of OCMock in internal testing.
4+
15
## 0.9.18+5
26

37
* Migrates unit tests to Swift.

packages/camera/camera_avfoundation/example/ios/Runner.xcodeproj/project.pbxproj

Lines changed: 14 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
1313
334733EA2668111C00DCC49E /* CameraOrientationTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 03BB767226653ABE00CE5A93 /* CameraOrientationTests.m */; };
1414
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
15-
408D7A792C3C9CD000B71F9A /* OCMock in Frameworks */ = {isa = PBXBuildFile; productRef = 408D7A782C3C9CD000B71F9A /* OCMock */; };
1615
54D650172516862D30686934 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ECAF63F924EFA2D68883BA85 /* libPods-Runner.a */; };
1716
788A065A27B0E02900533D74 /* StreamingTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 788A065927B0E02900533D74 /* StreamingTest.m */; };
1817
78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; };
@@ -27,7 +26,9 @@
2726
7FCEDD362D43C2B900EA1CA8 /* MockCaptureDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FCEDD322D43C2B900EA1CA8 /* MockCaptureDevice.m */; };
2827
7FD582122D579650003B1200 /* MockWritableData.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FD582112D579650003B1200 /* MockWritableData.m */; };
2928
7FD582202D579ECC003B1200 /* MockCapturePhotoOutput.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FD5821F2D579ECC003B1200 /* MockCapturePhotoOutput.m */; };
29+
7FD582272D57C020003B1200 /* MockAssetWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FD582262D57C020003B1200 /* MockAssetWriter.m */; };
3030
7FD582352D57D97C003B1200 /* MockCaptureDeviceFormat.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FD582342D57D97C003B1200 /* MockCaptureDeviceFormat.m */; };
31+
7FD83D2B2D5BA65B00F4DB7C /* MockCaptureConnection.m in Sources */ = {isa = PBXBuildFile; fileRef = 7FD83D2A2D5BA65B00F4DB7C /* MockCaptureConnection.m */; };
3132
972CA92B2D5A1D8C004B846F /* CameraPropertiesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 972CA92A2D5A1D8C004B846F /* CameraPropertiesTests.swift */; };
3233
972CA92D2D5A28C4004B846F /* QueueUtilsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 972CA92C2D5A28C4004B846F /* QueueUtilsTests.swift */; };
3334
972CA9312D5A366C004B846F /* CameraExposureTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 972CA9302D5A366C004B846F /* CameraExposureTests.swift */; };
@@ -106,6 +107,12 @@
106107
7FD582132D57965A003B1200 /* MockWritableData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MockWritableData.h; sourceTree = "<group>"; };
107108
7FD5821F2D579ECC003B1200 /* MockCapturePhotoOutput.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MockCapturePhotoOutput.m; sourceTree = "<group>"; };
108109
7FD582212D579ED9003B1200 /* MockCapturePhotoOutput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MockCapturePhotoOutput.h; sourceTree = "<group>"; };
110+
7FD582262D57C020003B1200 /* MockAssetWriter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MockAssetWriter.m; sourceTree = "<group>"; };
111+
7FD582282D57C02B003B1200 /* MockAssetWriter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MockAssetWriter.h; sourceTree = "<group>"; };
112+
7FD582342D57D97C003B1200 /* MockCaptureDeviceFormat.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MockCaptureDeviceFormat.m; sourceTree = "<group>"; };
113+
7FD582362D57D989003B1200 /* MockCaptureDeviceFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MockCaptureDeviceFormat.h; sourceTree = "<group>"; };
114+
7FD83D292D5BA49100F4DB7C /* MockCaptureConnection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MockCaptureConnection.h; sourceTree = "<group>"; };
115+
7FD83D2A2D5BA65B00F4DB7C /* MockCaptureConnection.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MockCaptureConnection.m; sourceTree = "<group>"; };
109116
7FD582342D57D97C003B1200 /* MockCaptureDeviceFormat.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MockCaptureDeviceFormat.m; sourceTree = "<group>"; };
110117
7FD582362D57D989003B1200 /* MockCaptureDeviceFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MockCaptureDeviceFormat.h; sourceTree = "<group>"; };
111118
972CA92A2D5A1D8C004B846F /* CameraPropertiesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraPropertiesTests.swift; sourceTree = "<group>"; };
@@ -145,7 +152,6 @@
145152
isa = PBXFrameworksBuildPhase;
146153
buildActionMask = 2147483647;
147154
files = (
148-
408D7A792C3C9CD000B71F9A /* OCMock in Frameworks */,
149155
1000364CB781922C6D6AAA4A /* libPods-RunnerTests.a in Frameworks */,
150156
);
151157
runOnlyForDeploymentPostprocessing = 0;
@@ -204,12 +210,16 @@
204210
7F29EB3F2D281C6D00740257 /* Mocks */ = {
205211
isa = PBXGroup;
206212
children = (
213+
7FD582282D57C02B003B1200 /* MockAssetWriter.h */,
214+
7FD582262D57C020003B1200 /* MockAssetWriter.m */,
207215
7F8FD22D2D4D0B73001AF2C1 /* MockFlutterBinaryMessenger.h */,
208216
7F8FD22E2D4D0B88001AF2C1 /* MockFlutterBinaryMessenger.m */,
209217
7F8FD22A2D4D07A6001AF2C1 /* MockFlutterTextureRegistry.h */,
210218
7F8FD22B2D4D07DD001AF2C1 /* MockFlutterTextureRegistry.m */,
211219
7F8FD2282D4BFABF001AF2C1 /* MockGlobalEventApi.m */,
212220
7F8FD2272D4BFA8D001AF2C1 /* MockGlobalEventApi.h */,
221+
7FD83D292D5BA49100F4DB7C /* MockCaptureConnection.h */,
222+
7FD83D2A2D5BA65B00F4DB7C /* MockCaptureConnection.m */,
213223
7FCEDD312D43C2B900EA1CA8 /* MockCaptureDevice.h */,
214224
7FCEDD322D43C2B900EA1CA8 /* MockCaptureDevice.m */,
215225
7FD582362D57D989003B1200 /* MockCaptureDeviceFormat.h */,
@@ -316,7 +326,6 @@
316326
);
317327
name = RunnerTests;
318328
packageProductDependencies = (
319-
408D7A782C3C9CD000B71F9A /* OCMock */,
320329
);
321330
productName = camera_exampleTests;
322331
productReference = 03BB76682665316900CE5A93 /* RunnerTests.xctest */;
@@ -378,7 +387,6 @@
378387
mainGroup = 97C146E51CF9000F007C117D;
379388
packageReferences = (
380389
781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage" */,
381-
408D7A772C3C9CD000B71F9A /* XCRemoteSwiftPackageReference "ocmock" */,
382390
);
383391
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
384392
projectDirPath = "";
@@ -520,6 +528,7 @@
520528
972CA92D2D5A28C4004B846F /* QueueUtilsTests.swift in Sources */,
521529
979B3DFB2D5B6BC7009BDE1A /* ExceptionCatcher.m in Sources */,
522530
E071CF7227B3061B006EF3BA /* FLTCamPhotoCaptureTests.m in Sources */,
531+
7FD83D2B2D5BA65B00F4DB7C /* MockCaptureConnection.m in Sources */,
523532
977A25242D5A511600931E34 /* CameraPermissionTests.swift in Sources */,
524533
7D5FCCD42AEF9D0200FB7108 /* CameraSettingsTests.m in Sources */,
525534
7F8FD2292D4BFABF001AF2C1 /* MockGlobalEventApi.m in Sources */,
@@ -538,6 +547,7 @@
538547
972CA9312D5A366C004B846F /* CameraExposureTests.swift in Sources */,
539548
7F29EB292D26A59000740257 /* MockCameraDeviceDiscoverer.m in Sources */,
540549
788A065A27B0E02900533D74 /* StreamingTest.m in Sources */,
550+
7FD582272D57C020003B1200 /* MockAssetWriter.m in Sources */,
541551
E0C6E2022770F01A00EA6AA3 /* ThreadSafeEventChannelTests.m in Sources */,
542552
977A25222D5A49EC00931E34 /* CameraFocusTests.swift in Sources */,
543553
7F29EB412D281C7E00740257 /* MockCaptureSession.m in Sources */,
@@ -845,23 +855,7 @@
845855
};
846856
/* End XCLocalSwiftPackageReference section */
847857

848-
/* Begin XCRemoteSwiftPackageReference section */
849-
408D7A772C3C9CD000B71F9A /* XCRemoteSwiftPackageReference "ocmock" */ = {
850-
isa = XCRemoteSwiftPackageReference;
851-
repositoryURL = "https://github.com/erikdoe/ocmock";
852-
requirement = {
853-
kind = revision;
854-
revision = fe1661a3efed11831a6452f4b1a0c5e6ddc08c3d;
855-
};
856-
};
857-
/* End XCRemoteSwiftPackageReference section */
858-
859858
/* Begin XCSwiftPackageProductDependency section */
860-
408D7A782C3C9CD000B71F9A /* OCMock */ = {
861-
isa = XCSwiftPackageProductDependency;
862-
package = 408D7A772C3C9CD000B71F9A /* XCRemoteSwiftPackageReference "ocmock" */;
863-
productName = OCMock;
864-
};
865859
78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = {
866860
isa = XCSwiftPackageProductDependency;
867861
productName = FlutterGeneratedPluginSwiftPackage;

packages/camera/camera_avfoundation/example/ios/RunnerTests/CameraSettingsTests.m

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
@import AVFoundation;
1111

1212
#import "CameraTestUtils.h"
13+
#import "MockAssetWriter.h"
1314
#import "MockCameraDeviceDiscoverer.h"
1415
#import "MockCaptureDevice.h"
1516
#import "MockCaptureSession.h"
@@ -99,17 +100,16 @@ - (void)setMaxFrameDuration:(CMTime)duration onDevice:(AVCaptureDevice *)capture
99100
}
100101
}
101102

102-
- (AVAssetWriterInput *)assetWriterAudioInputWithOutputSettings:
103+
- (MockAssetWriterInput *)assetWriterAudioInputWithOutputSettings:
103104
(nullable NSDictionary<NSString *, id> *)outputSettings {
104105
if ([outputSettings[AVEncoderBitRateKey] isEqual:@(gTestAudioBitrate)]) {
105106
[_audioSettingsExpectation fulfill];
106107
}
107108

108-
return [AVAssetWriterInput assetWriterInputWithMediaType:AVMediaTypeAudio
109-
outputSettings:outputSettings];
109+
return [[MockAssetWriterInput alloc] init];
110110
}
111111

112-
- (AVAssetWriterInput *)assetWriterVideoInputWithOutputSettings:
112+
- (MockAssetWriterInput *)assetWriterVideoInputWithOutputSettings:
113113
(nullable NSDictionary<NSString *, id> *)outputSettings {
114114
if ([outputSettings[AVVideoCompressionPropertiesKey] isKindOfClass:[NSMutableDictionary class]]) {
115115
NSDictionary *compressionProperties = outputSettings[AVVideoCompressionPropertiesKey];
@@ -121,11 +121,11 @@ - (AVAssetWriterInput *)assetWriterVideoInputWithOutputSettings:
121121
}
122122
}
123123

124-
return [AVAssetWriterInput assetWriterInputWithMediaType:AVMediaTypeVideo
125-
outputSettings:outputSettings];
124+
return [[MockAssetWriterInput alloc] init];
126125
}
127126

128-
- (void)addInput:(AVAssetWriterInput *)writerInput toAssetWriter:(AVAssetWriter *)writer {
127+
- (void)addInput:(NSObject<FLTAssetWriterInput> *)writerInput
128+
toAssetWriter:(NSObject<FLTAssetWriter> *)writer {
129129
}
130130

131131
- (NSDictionary<NSString *, id> *)

packages/camera/camera_avfoundation/example/ios/RunnerTests/CameraTestUtils.m

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
#import "CameraTestUtils.h"
66

7-
#import <OCMock/OCMock.h>
87
@import AVFoundation;
98
@import camera_avfoundation;
109

10+
#import "MockAssetWriter.h"
1111
#import "MockCaptureDevice.h"
1212
#import "MockCaptureDeviceFormat.h"
1313
#import "MockCaptureSession.h"
@@ -68,6 +68,14 @@
6868
configuration.videoCaptureSession = videoSessionMock;
6969
configuration.audioCaptureSession = audioSessionMock;
7070
configuration.orientation = UIDeviceOrientationPortrait;
71+
configuration.assetWriterFactory =
72+
^NSObject<FLTAssetWriter> *(NSURL *url, AVFileType fileType, NSError **error) {
73+
return [[MockAssetWriter alloc] init];
74+
};
75+
configuration.inputPixelBufferAdaptorFactory = ^NSObject<FLTAssetWriterInputPixelBufferAdaptor> *(
76+
NSObject<FLTAssetWriterInput> *input, NSDictionary<NSString *, id> *settings) {
77+
return [[MockAssetWriterInputPixelBufferAdaptor alloc] init];
78+
};
7179

7280
return configuration;
7381
}
@@ -79,28 +87,6 @@
7987
}
8088

8189
FLTCam *FLTCreateCamWithConfiguration(FLTCamConfiguration *configuration) {
82-
id captureVideoDataOutputMock = [OCMockObject niceMockForClass:[AVCaptureVideoDataOutput class]];
83-
OCMStub([captureVideoDataOutputMock new]).andReturn(captureVideoDataOutputMock);
84-
OCMStub([captureVideoDataOutputMock
85-
recommendedVideoSettingsForAssetWriterWithOutputFileType:AVFileTypeMPEG4])
86-
.andReturn(@{});
87-
OCMStub([captureVideoDataOutputMock sampleBufferCallbackQueue])
88-
.andReturn(configuration.captureSessionQueue);
89-
90-
id videoMock = OCMClassMock([AVAssetWriterInputPixelBufferAdaptor class]);
91-
OCMStub([videoMock assetWriterInputPixelBufferAdaptorWithAssetWriterInput:OCMOCK_ANY
92-
sourcePixelBufferAttributes:OCMOCK_ANY])
93-
.andReturn(videoMock);
94-
95-
id writerInputMock = [OCMockObject niceMockForClass:[AVAssetWriterInput class]];
96-
OCMStub([writerInputMock assetWriterInputWithMediaType:AVMediaTypeAudio
97-
outputSettings:[OCMArg any]])
98-
.andReturn(writerInputMock);
99-
100-
OCMStub([writerInputMock assetWriterInputWithMediaType:AVMediaTypeVideo
101-
outputSettings:[OCMArg any]])
102-
.andReturn(writerInputMock);
103-
10490
return [[FLTCam alloc] initWithConfiguration:configuration error:nil];
10591
}
10692

0 commit comments

Comments
 (0)