Files
flipper/iOS/FlipperKitTestUtils/FlipperConnectionMock.m
Janic Duplessis 44f5e35675 Implement react-native-flipper on iOS (#795)
Summary:
Implement the react-native-flipper native module on iOS. Uses very similar abstractions as on Android.

## Changelog

[react-native-flipper] Support iOS
Pull Request resolved: https://github.com/facebook/flipper/pull/795

Test Plan:
Tested using the RN TicTacToe example app

{F228406333}

Reviewed By: mweststrate

Differential Revision: D19853017

Pulled By: priteshrnandgaonkar

fbshipit-source-id: d93d35ff984b9ba75f812c4c8e3c82e4d550f0c0
2020-02-14 21:17:11 -08:00

49 lines
1.2 KiB
Objective-C

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#import "FlipperConnectionMock.h"
@implementation FlipperConnectionMock
- (instancetype)init {
if (self = [super init]) {
_connected = YES;
_receivers = @{};
_sent = @{};
}
return self;
}
- (void)send:(NSString*)method withParams:(NSDictionary*)params {
if (_connected) {
NSMutableDictionary* newSent = [NSMutableDictionary new];
[newSent addEntriesFromDictionary:_sent];
if (newSent[method]) {
newSent[method] = [_sent[method] arrayByAddingObject:params];
} else {
newSent[method] = @[ params ];
}
_sent = newSent;
}
}
- (void)receive:(NSString*)method withBlock:(SonarReceiver)receiver {
if (_connected) {
NSMutableDictionary* newReceivers = [NSMutableDictionary new];
[newReceivers addEntriesFromDictionary:_receivers];
newReceivers[method] = receiver;
_receivers = newReceivers;
}
}
- (void)errorWithMessage:(NSString*)message stackTrace:(NSString*)stacktrace {
// Empty Implementation
// TODO: Test this method too.
}
@end