blob: c1818fd928f3f80a24390c2e4999e904167a3e26 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import Flutter
@testable import Runner
class MockBinaryMessenger<T>: NSObject, FlutterBinaryMessenger {
let codec: FlutterMessageCodec
var result: T?
private(set) var handlers: [String: FlutterBinaryMessageHandler] = [:]
init(codec: FlutterMessageCodec) {
self.codec = codec
super.init()
}
func send(onChannel channel: String, message: Data?) {}
func send(
onChannel channel: String,
message: Data?,
binaryReply callback: FlutterBinaryReply? = nil
) {
if let result = result {
callback?(codec.encode(result))
}
}
func setMessageHandlerOnChannel(
_ channel: String,
binaryMessageHandler handler: FlutterBinaryMessageHandler? = nil
) -> FlutterBinaryMessengerConnection {
handlers[channel] = handler
return .init(handlers.count)
}
func cleanUpConnection(_ connection: FlutterBinaryMessengerConnection) {}
}