255 {
256 self = [super init];
257 if (self == nil) {
258 return nil;
259 }
260
261 _nextResponder = OCMClassMock([NSResponder class]);
262 [self respondChannelCallsWith:FALSE];
263 [self respondEmbedderCallsWith:FALSE];
264 [self respondTextInputWith:FALSE];
265
267
268 _messengerMock = OCMStrictProtocolMock(
@protocol(FlutterBinaryMessenger));
271 binaryReply:[OCMArg any]])
272 .andCall(
self, @selector(handleChannelMessage:
message:binaryReply:));
273 OCMStub([
_messengerMock setMessageHandlerOnChannel:
@"flutter/keyboard"
274 binaryMessageHandler:[OCMArg any]])
275 .andCall(
self, @selector(setKeyboardChannelHandler:
handler:));
277 .andCall(
self, @selector(handleKeyboardChannelMessage:
message:));
278 id managerDelegateMock = OCMStrictProtocolMock(@protocol(FlutterKeyboardManagerDelegate));
279 OCMStub([managerDelegateMock binaryMessenger]).andReturn(
_messengerMock);
280 OCMStub([managerDelegateMock sendKeyEvent:*(const
FlutterKeyEvent*)[OCMArg anyPointer]
282 userData:nil])
283 .ignoringNonObjectArgs()
284 .andCall(
self, @selector(handleEmbedderEvent:
callback:userData:));
285
286 _eventContextMock = OCMStrictProtocolMock(
@protocol(FlutterKeyboardManagerEventContext));
289 .andCall(
self, @selector(handleTextInputKeyEvent:));
290
292 OCMStub([keyboardLayoutMock lookUpLayoutForKeyCode:0 shift:false])
293 .ignoringNonObjectArgs()
294 .andCall(
self, @selector(lookUpLayoutForKeyCode:shift:));
295 OCMStub([keyboardLayoutMock setDelegate:[OCMArg any]])
296 .andCall(
self, @selector(onSetKeyboardLayoutDelegate:));
297
299 keyboardLayout:keyboardLayoutMock];
300 return self;
301}
const gchar FlBinaryMessengerMessageHandler handler
NSResponder * nextResponder
NSObject< FlutterKeyboardManagerEventContext > * _eventContextMock
const MockLayoutData * _currentLayout
NSObject< FlutterBinaryMessenger > * _messengerMock