| // 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); |
| } |
| } |