mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
110 lines
5.9 KiB
Dart
110 lines
5.9 KiB
Dart
// Copyright 2014 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 'package:flutter/services.dart';
|
|
|
|
import 'binding.dart';
|
|
|
|
// TODO(ianh): Once https://github.com/dart-lang/dartdoc/issues/2033 is fixed, update the hyperlinks marked HYPERLINK below.
|
|
// TODO(ianh): Once cocoon and other customer_tests are migrated, deprecate these transitional APIs
|
|
|
|
/// Shim to support the obsolete [setMockMessageHandler] and
|
|
/// [checkMockMessageHandler] methods on [BinaryMessenger] in tests.
|
|
///
|
|
/// The implementations defer to [TestDefaultBinaryMessengerBinding.defaultBinaryMessenger].
|
|
///
|
|
/// Rather than calling [setMockMessageHandler] on the
|
|
/// `ServicesBinding.defaultBinaryMessenger`, use
|
|
/// `tester.binding.defaultBinaryMessenger.setMockMessageHandler` directly. This
|
|
/// more accurately represents the actual method invocation.
|
|
extension TestBinaryMessengerExtension on BinaryMessenger {
|
|
/// Shim for `TestDefaultBinaryMessenger.setMockMessageHandler`.
|
|
// HYPERLINK ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
// TODO(ianh): deprecate this method: @NotYetDeprecated(
|
|
// 'Use tester.binding.defaultBinaryMessenger.setMockMessageHandler or '
|
|
// 'TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMessageHandler instead. '
|
|
// 'This feature was deprecated after v2.1.0-10.0.pre.'
|
|
// )
|
|
void setMockMessageHandler(String channel, MessageHandler? handler) {
|
|
TestDefaultBinaryMessengerBinding.instance!.defaultBinaryMessenger.setMockMessageHandler(channel, handler);
|
|
}
|
|
|
|
/// Shim for `TestDefaultBinaryMessenger.checkMockMessageHandler`.
|
|
// HYPERLINK ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
// TODO(ianh): deprecate this method: @NotYetDeprecated(
|
|
// 'Use tester.binding.defaultBinaryMessenger.checkMockMessageHandler or '
|
|
// 'TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.checkMockMessageHandler instead.'
|
|
// 'This feature was deprecated after v2.1.0-10.0.pre.'
|
|
// )
|
|
bool checkMockMessageHandler(String channel, Object? handler) {
|
|
return TestDefaultBinaryMessengerBinding.instance!.defaultBinaryMessenger.checkMockMessageHandler(channel, handler);
|
|
}
|
|
}
|
|
|
|
/// Shim to support the obsolete [setMockMessageHandler] and
|
|
/// [checkMockMessageHandler] methods on [BasicMessageChannel] in tests.
|
|
///
|
|
/// The implementations defer to [TestDefaultBinaryMessengerBinding.defaultBinaryMessenger].
|
|
///
|
|
/// Rather than calling [setMockMessageHandler] on the message channel, use
|
|
/// `tester.binding.defaultBinaryMessenger.setMockDecodedMessageHandler`
|
|
/// directly. This more accurately represents the actual method invocation.
|
|
extension TestBasicMessageChannelExtension<T> on BasicMessageChannel<T> {
|
|
/// Shim for `TestDefaultBinaryMessenger.setMockDecodedMessageHandler`.
|
|
// HYPERLINK ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
// TODO(ianh): deprecate this method: @NotYetDeprecated(
|
|
// 'Use tester.binding.defaultBinaryMessenger.setMockDecodedMessageHandler or '
|
|
// 'TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockDecodedMessageHandler instead. '
|
|
// 'This feature was deprecated after v2.1.0-10.0.pre.'
|
|
// )
|
|
void setMockMessageHandler(Future<T> Function(T? message)? handler) {
|
|
TestDefaultBinaryMessengerBinding.instance!.defaultBinaryMessenger.setMockDecodedMessageHandler<T>(this, handler);
|
|
}
|
|
|
|
/// Shim for `TestDefaultBinaryMessenger.checkMockMessageHandler`.
|
|
// HYPERLINK ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
// TODO(ianh): deprecate this method: @NotYetDeprecated(
|
|
// 'Use tester.binding.defaultBinaryMessenger.checkMockMessageHandler or '
|
|
// 'TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.checkMockMessageHandler instead. '
|
|
// 'For the first argument, pass channel.name. '
|
|
// 'This feature was deprecated after v2.1.0-10.0.pre.'
|
|
// )
|
|
bool checkMockMessageHandler(Object? handler) {
|
|
return TestDefaultBinaryMessengerBinding.instance!.defaultBinaryMessenger.checkMockMessageHandler(name, handler);
|
|
}
|
|
}
|
|
|
|
/// Shim to support the obsolete [setMockMethodCallHandler] and
|
|
/// [checkMockMethodCallHandler] methods on [MethodChannel] in tests.
|
|
///
|
|
/// The implementations defer to [TestDefaultBinaryMessengerBinding.defaultBinaryMessenger].
|
|
///
|
|
/// Rather than calling [setMockMethodCallHandler] on the method channel, use
|
|
/// `tester.binding.defaultBinaryMessenger.setMockMethodCallHandler` directly.
|
|
/// This more accurately represents the actual method invocation.
|
|
extension TestMethodChannelExtension on MethodChannel {
|
|
/// Shim for `TestDefaultBinaryMessenger.setMockMethodCallHandler`.
|
|
// HYPERLINK ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
// TODO(ianh): deprecate this method: @NotYetDeprecated(
|
|
// 'Use tester.binding.defaultBinaryMessenger.setMockMethodCallHandler or '
|
|
// 'TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler instead. '
|
|
// 'This feature was deprecated after v2.1.0-10.0.pre.'
|
|
// )
|
|
void setMockMethodCallHandler(Future<dynamic>? Function(MethodCall call)? handler) {
|
|
TestDefaultBinaryMessengerBinding.instance!.defaultBinaryMessenger.setMockMethodCallHandler(this, handler);
|
|
}
|
|
|
|
/// Shim for `TestDefaultBinaryMessenger.checkMockMessageHandler`.
|
|
// HYPERLINK ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
// TODO(ianh): deprecate this method: @NotYetDeprecated(
|
|
// 'Use tester.binding.defaultBinaryMessenger.checkMockMessageHandler or '
|
|
// 'TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.checkMockMessageHandler instead. '
|
|
// 'For the first argument, pass channel.name. '
|
|
// 'This feature was deprecated after v2.1.0-10.0.pre.'
|
|
// )
|
|
bool checkMockMethodCallHandler(Object? handler) {
|
|
return TestDefaultBinaryMessengerBinding.instance!.defaultBinaryMessenger.checkMockMessageHandler(name, handler);
|
|
}
|
|
}
|