5#import <OCMock/OCMock.h>
7#import <XCTest/XCTest.h>
20- (void)testWhenNSExtensionInBundle {
21 id mockBundle = OCMPartialMock([NSBundle mainBundle]);
22 OCMStub([mockBundle objectForInfoDictionaryKey:
@"NSExtension"]).andReturn(@{
23 @"NSExtensionPointIdentifier" :
@"com.apple.share-services"
27 [mockBundle stopMocking];
30- (void)testWhenNSExtensionEmptyInBundle {
31 id mockBundle = OCMPartialMock([NSBundle mainBundle]);
32 OCMStub([mockBundle objectForInfoDictionaryKey:
@"NSExtension"])
33 .andReturn([[NSDictionary alloc] init]);
36 [mockBundle stopMocking];
39- (void)testWhenNSExtensionNotInBundle {
40 id mockBundle = OCMPartialMock([NSBundle mainBundle]);
43 [mockBundle stopMocking];
46- (void)testSharedApplicationNotCalledIfIsAvailableFalse {
47 id mockBundle = OCMPartialMock([NSBundle mainBundle]);
48 OCMStub([mockBundle objectForInfoDictionaryKey:
@"NSExtension"]).andReturn(@{
49 @"NSExtensionPointIdentifier" :
@"com.apple.share-services"
51 id mockApplication = OCMClassMock([UIApplication
class]);
53 OCMReject([mockApplication sharedApplication]);
55 [mockBundle stopMocking];
58- (void)testSharedApplicationCalledIfIsAvailableTrue {
59 id mockBundle = OCMPartialMock([NSBundle mainBundle]);
60 id mockApplication = OCMClassMock([UIApplication
class]);
63 OCMVerify([mockApplication sharedApplication]);
64 [mockBundle stopMocking];
67- (void)testHasSceneDelegate {
68 id mockBundle = OCMPartialMock([NSBundle mainBundle]);
69 id mockApplication = OCMClassMock([UIApplication
class]);
70 OCMStub([mockApplication sharedApplication]).andReturn(mockApplication);
74 id mockSceneWithDelegate = OCMClassMock([UIScene
class]);
75 id mockSceneDelegate = OCMProtocolMock(
@protocol(UISceneDelegate));
76 OCMStub([mockSceneWithDelegate delegate]).andReturn(mockSceneDelegate);
77 NSSet<UIScene*>* connectedScenes = [NSSet setWithObjects:mockSceneWithDelegate, nil];
78 OCMStub([mockApplication connectedScenes]).andReturn(connectedScenes);
82 [mockBundle stopMocking];
85- (void)testHasNoSceneDelegate {
86 id mockBundle = OCMPartialMock([NSBundle mainBundle]);
87 id mockApplication = OCMClassMock([UIApplication
class]);
88 OCMStub([mockApplication sharedApplication]).andReturn(mockApplication);
92 id mockScene = OCMClassMock([UIScene
class]);
93 NSSet<UIScene*>* connectedScenes = [NSSet setWithObjects:mockScene, nil];
94 OCMStub([mockApplication connectedScenes]).andReturn(connectedScenes);
97 [mockBundle stopMocking];
100- (void)testFlutterDeeplinkingEnabledWhenNil {
101 id mockBundle = OCMPartialMock([NSBundle mainBundle]);
102 OCMStub([mockBundle objectForInfoDictionaryKey:
@"FlutterDeepLinkingEnabled"]).andReturn(nil);
105 [mockBundle stopMocking];
108- (void)testFlutterDeeplinkingEnabledWhenYes {
109 id mockBundle = OCMPartialMock([NSBundle mainBundle]);
110 OCMStub([mockBundle objectForInfoDictionaryKey:
@"FlutterDeepLinkingEnabled"]).andReturn(@YES);
113 [mockBundle stopMocking];
116- (void)testFlutterDeeplinkingEnabledWhenNo {
117 id mockBundle = OCMPartialMock([NSBundle mainBundle]);
118 OCMStub([mockBundle objectForInfoDictionaryKey:
@"FlutterDeepLinkingEnabled"]).andReturn(@NO);
121 [mockBundle stopMocking];
124- (void)testFlutterDeeplinkingEnabledWhenBogus {
125 id mockBundle = OCMPartialMock([NSBundle mainBundle]);
126 OCMStub([mockBundle objectForInfoDictionaryKey:
@"FlutterDeepLinkingEnabled"]).andReturn(
@"hello");
129 [mockBundle stopMocking];
UIApplication * application
BOOL isFlutterDeepLinkingEnabled()