Unverified Commit 73bd9785 authored by Michael Goderbauer's avatar Michael Goderbauer Committed by GitHub

Migrate away from deprecated BinaryMessenger API (#124348)

Migrate away from deprecated BinaryMessenger API
parent 9fc6c6a1
......@@ -172,7 +172,7 @@ void main() {
// Simulate android back button intent.
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('popRoute'));
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.pumpAndSettle();
expect(find.text('popped'), findsOneWidget);
});
......@@ -197,7 +197,7 @@ void main() {
// Simulate android back button intent.
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('popRoute'));
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.pumpAndSettle();
expect(find.text('popped'), findsOneWidget);
});
......@@ -276,7 +276,7 @@ void main() {
// Simulate android back button intent.
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('popRoute'));
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.pumpAndSettle();
expect(find.text('popped'), findsOneWidget);
});
......
......@@ -1109,7 +1109,7 @@ void main() {
// Simulate android back button intent.
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('popRoute'));
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.pumpAndSettle();
expect(find.text('popped'), findsOneWidget);
});
......@@ -1134,7 +1134,7 @@ void main() {
// Simulate android back button intent.
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('popRoute'));
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.pumpAndSettle();
expect(find.text('popped'), findsOneWidget);
});
......@@ -1213,7 +1213,7 @@ void main() {
// Simulate android back button intent.
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('popRoute'));
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.pumpAndSettle();
expect(find.text('popped'), findsOneWidget);
});
......
......@@ -109,7 +109,7 @@ void main() {
// Simulate system back button
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('popRoute'));
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.pumpAndSettle();
expect(selectedResults, <String?>[null]);
......
......@@ -24,7 +24,7 @@ Future<void> main() async {
await tester.idle();
expect(imageCache.currentSize, 1);
final ByteData message = const JSONMessageCodec().encodeMessage(<String, dynamic>{'type': 'memoryPressure'})!;
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/system', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/system', message, (_) { });
expect(imageCache.currentSize, 0);
});
......
......@@ -17,7 +17,7 @@ Future<void> verifyMarkedNeedsLayoutDuringTransientCallbacksPhase(WidgetTester t
const Map<String, dynamic> data = <String, dynamic>{
'type': 'fontsChange',
};
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/system',
SystemChannels.system.codec.encodeMessage(data),
(ByteData? data) { },
......@@ -59,7 +59,7 @@ void main() {
const Map<String, dynamic> data = <String, dynamic>{
'type': 'fontsChange',
};
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/system',
SystemChannels.system.codec.encodeMessage(data),
(ByteData? data) { },
......@@ -91,7 +91,7 @@ void main() {
const Map<String, dynamic> data = <String, dynamic>{
'type': 'fontsChange',
};
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/system',
SystemChannels.system.codec.encodeMessage(data),
(ByteData? data) { },
......@@ -115,7 +115,7 @@ void main() {
const Map<String, dynamic> data = <String, dynamic>{
'type': 'fontsChange',
};
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/system',
SystemChannels.system.codec.encodeMessage(data),
(ByteData? data) { },
......@@ -143,7 +143,7 @@ void main() {
const Map<String, dynamic> data = <String, dynamic>{
'type': 'fontsChange',
};
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/system',
SystemChannels.system.codec.encodeMessage(data),
(ByteData? data) { },
......@@ -173,7 +173,7 @@ void main() {
const Map<String, dynamic> data = <String, dynamic>{
'type': 'fontsChange',
};
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/system',
SystemChannels.system.codec.encodeMessage(data),
(ByteData? data) { },
......@@ -203,7 +203,7 @@ void main() {
const Map<String, dynamic> data = <String, dynamic>{
'type': 'fontsChange',
};
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/system',
SystemChannels.system.codec.encodeMessage(data),
(ByteData? data) { },
......@@ -262,7 +262,7 @@ void main() {
const Map<String, dynamic> data = <String, dynamic>{
'type': 'fontsChange',
};
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/system',
SystemChannels.system.codec.encodeMessage(data),
(ByteData? data) { },
......
......@@ -11,7 +11,7 @@ void main() {
Future<void> setAppLifeCycleState(AppLifecycleState state) async {
final ByteData? message =
const StringCodec().encodeMessage(state.toString());
await ServicesBinding.instance.defaultBinaryMessenger
await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.handlePlatformMessage('flutter/lifecycle', message, (_) {});
}
......
......@@ -96,7 +96,7 @@ void main() {
expect(flutterAssetsCallCount, 2);
final ByteData message = const JSONMessageCodec().encodeMessage(<String, dynamic>{'type': 'memoryPressure'})!;
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/system', message, (_) { });
await binding.defaultBinaryMessenger.handlePlatformMessage('flutter/system', message, (_) { });
await rootBundle.loadString('test_asset');
expect(flutterAssetsCallCount, 3);
......@@ -110,7 +110,7 @@ void main() {
test('initInstances sets a default method call handler for SystemChannels.textInput', () async {
final ByteData message = const JSONMessageCodec().encodeMessage(<String, dynamic>{'method': 'TextInput.requestElementsInRect', 'args': null})!;
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/textinput', message, (ByteData? data) {
await binding.defaultBinaryMessenger.handlePlatformMessage('flutter/textinput', message, (ByteData? data) {
expect(data, isNotNull);
});
});
......
......@@ -11,7 +11,7 @@ import 'package:flutter_test/flutter_test.dart';
import 'text_input_utils.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized();
group('DeltaTextInputClient', () {
late FakeTextChannel fakeTextChannel;
......@@ -57,7 +57,7 @@ void main() {
],
'method': 'TextInputClient.updateEditingStateWithDeltas',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -94,7 +94,7 @@ void main() {
'args': <dynamic>[-1, jsonDecode('{"deltas": [$jsonDelta]}')],
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -133,7 +133,7 @@ void main() {
'args': <dynamic>[-1, jsonDecode('{"deltas": [$jsonDelta]}')],
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -172,7 +172,7 @@ void main() {
'args': <dynamic>[-1, jsonDecode('{"deltas": [$jsonDelta]}')],
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -211,7 +211,7 @@ void main() {
'args': <dynamic>[-1, jsonDecode('{"deltas": [$jsonDelta]}')],
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......
......@@ -183,7 +183,7 @@ class FakeAndroidPlatformViewsController {
void invokeViewFocused(int viewId) {
final MethodCodec codec = SystemChannels.platform_views.codec;
final ByteData data = codec.encodeMethodCall(MethodCall('viewFocused', viewId));
ServicesBinding.instance.defaultBinaryMessenger
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.handlePlatformMessage(SystemChannels.platform_views.name, data, (ByteData? data) {});
}
......@@ -395,7 +395,7 @@ class FakeIosPlatformViewsController {
void invokeViewFocused(int viewId) {
final MethodCodec codec = SystemChannels.platform_views.codec;
final ByteData data = codec.encodeMethodCall(MethodCall('viewFocused', viewId));
ServicesBinding.instance.defaultBinaryMessenger
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.handlePlatformMessage(SystemChannels.platform_views.name, data, (ByteData? data) {});
}
......
......@@ -224,7 +224,7 @@ void main() {
LogicalKeyboardKey.shiftLeft,
platform: 'web',
)..['metaState'] = 0;
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
SystemChannels.keyEvent.name,
SystemChannels.keyEvent.codec.encodeMessage(data2),
(ByteData? data) {},
......
......@@ -8,7 +8,7 @@ import 'package:flutter_test/flutter_test.dart';
import 'fake_platform_views.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized();
group('Android', () {
late FakeAndroidPlatformViewsController viewsController;
......@@ -214,7 +214,7 @@ void main() {
await viewController.dispose();
final ByteData message =
SystemChannels.platform_views.codec.encodeMethodCall(const MethodCall('viewFocused', 0));
await SystemChannels.platform_views.binaryMessenger.handlePlatformMessage(SystemChannels.platform_views.name, message, (_) { });
await binding.defaultBinaryMessenger.handlePlatformMessage(SystemChannels.platform_views.name, message, (_) { });
expect(didFocus, isFalse);
});
......
......@@ -484,7 +484,7 @@ void main() {
isDown: false,
)..['metaState'] = 0;
// Dispatch the modified data.
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
SystemChannels.keyEvent.name,
SystemChannels.keyEvent.codec.encodeMessage(data2),
(ByteData? data) {},
......@@ -503,7 +503,7 @@ void main() {
);
data['metaState'] = (data['metaState'] as int) | RawKeyEventDataWeb.modifierShift;
// Dispatch the modified data.
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
SystemChannels.keyEvent.name,
SystemChannels.keyEvent.codec.encodeMessage(data3),
(ByteData? data) {},
......@@ -524,7 +524,7 @@ void main() {
isDown: false,
)..['metaState'] = 0;
// Dispatch the modified data.
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
SystemChannels.keyEvent.name,
SystemChannels.keyEvent.codec.encodeMessage(data4),
(ByteData? data) {},
......@@ -625,7 +625,7 @@ void main() {
RawKeyEventDataIos.modifierCommand |
RawKeyEventDataIos.modifierControl;
// dispatch the modified data.
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
SystemChannels.keyEvent.name,
SystemChannels.keyEvent.codec.encodeMessage(data),
(ByteData? data) {},
......@@ -661,7 +661,7 @@ void main() {
LogicalKeyboardKey.keyA,
platform: 'windows',
);
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
SystemChannels.keyEvent.name,
SystemChannels.keyEvent.codec.encodeMessage(downData),
(ByteData? data) {},
......@@ -669,7 +669,7 @@ void main() {
expect(receivedEvent.repeat, false);
// Dispatch another down event, which should be recognized as a repeat.
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
SystemChannels.keyEvent.name,
SystemChannels.keyEvent.codec.encodeMessage(downData),
(ByteData? data) {},
......@@ -677,7 +677,7 @@ void main() {
expect(receivedEvent.repeat, true);
// Dispatch an up event.
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
SystemChannels.keyEvent.name,
SystemChannels.keyEvent.codec.encodeMessage(KeyEventSimulator.getKeyData(
LogicalKeyboardKey.keyA,
......@@ -2126,7 +2126,7 @@ void main() {
// Simulate raw events because VK_PROCESSKEY does not exist in the key mapping.
Future<void> simulateKeyEventMessage(String type, int keyCode, int scanCode) {
return ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
return tester.binding.defaultBinaryMessenger.handlePlatformMessage(
SystemChannels.keyEvent.name,
SystemChannels.keyEvent.codec.encodeMessage(<String, Object?>{
'type': type,
......
......@@ -304,7 +304,7 @@ void main() {
}
Future<void> _pushDataFromEngine(Map<dynamic, dynamic> data) async {
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
'flutter/restoration',
const StandardMethodCodec().encodeMethodCall(MethodCall('push', data)),
(_) { },
......
......@@ -11,7 +11,7 @@ import 'package:flutter_test/flutter_test.dart';
import 'text_input_utils.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized();
group('TextSelection', () {
test('The invalid selection is a singleton', () {
......@@ -229,7 +229,7 @@ void main() {
}],
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -259,7 +259,7 @@ void main() {
],
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -396,7 +396,7 @@ void main() {
'args': <dynamic>[1],
'method': 'TextInputClient.onConnectionClosed',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -421,7 +421,7 @@ void main() {
],
'method': 'TextInputClient.performAction',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -449,7 +449,7 @@ void main() {
],
'method': 'TextInputClient.performSelectors',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -475,7 +475,7 @@ void main() {
],
'method': 'TextInputClient.performPrivateCommand',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -500,7 +500,7 @@ void main() {
],
'method': 'TextInputClient.performPrivateCommand',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -525,7 +525,7 @@ void main() {
],
'method': 'TextInputClient.performPrivateCommand',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -551,7 +551,7 @@ void main() {
],
'method': 'TextInputClient.performPrivateCommand',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -577,7 +577,7 @@ void main() {
],
'method': 'TextInputClient.performPrivateCommand',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -602,7 +602,7 @@ void main() {
],
'method': 'TextInputClient.performPrivateCommand',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -626,7 +626,7 @@ void main() {
'args': <dynamic>[1, 0, 1],
'method': 'TextInputClient.showAutocorrectionPromptRect',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -649,7 +649,7 @@ void main() {
'args': <dynamic>[1, 0, 1],
'method': 'TextInputClient.showToolbar',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -678,7 +678,7 @@ void main() {
'args': <dynamic>[1, 0, 1],
'method': 'TextInputClient.scribbleInteractionBegan',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -692,7 +692,7 @@ void main() {
'args': <dynamic>[1, 0, 1],
'method': 'TextInputClient.scribbleInteractionFinished',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -721,7 +721,7 @@ void main() {
'args': <dynamic>[targetElement.elementIdentifier, 0.0, 0.0],
'method': 'TextInputClient.focusElement',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -761,7 +761,7 @@ void main() {
'method': 'TextInputClient.requestElementsInRect',
});
ByteData? responseBytes;
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? response) {
......
......@@ -6,7 +6,7 @@ import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
final TestWidgetsFlutterBinding binding = TestWidgetsFlutterBinding.ensureInitialized();
group('Undo Interactions', () {
test('UndoManagerClient handleUndo', () async {
......@@ -21,7 +21,7 @@ void main() {
'args': <dynamic>['undo'],
'method': 'UndoManagerClient.handleUndo',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/undomanager',
messageBytes,
null,
......@@ -34,7 +34,7 @@ void main() {
'args': <dynamic>['redo'],
'method': 'UndoManagerClient.handleUndo',
});
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/undomanager',
messageBytes,
(ByteData? _) {},
......
......@@ -300,7 +300,7 @@ void main() {
// Simulate android back button intent.
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('popRoute'));
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.pumpAndSettle();
expect(find.text('popped'), findsOneWidget);
});
......@@ -326,7 +326,7 @@ void main() {
// Simulate android back button intent.
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('popRoute'));
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.pumpAndSettle();
expect(find.text('popped'), findsOneWidget);
});
......@@ -410,7 +410,7 @@ void main() {
// Simulate android back button intent.
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('popRoute'));
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.pumpAndSettle();
expect(find.text('popped'), findsOneWidget);
});
......
......@@ -9,13 +9,15 @@ import 'package:flutter_test/flutter_test.dart';
void main() {
test('attachRootWidget will schedule a frame', () async {
final WidgetsFlutterBinding binding = WidgetsFlutterBinding.ensureInitialized() as WidgetsFlutterBinding;
final WidgetsFlutterBindingWithTestBinaryMessenger binding = WidgetsFlutterBindingWithTestBinaryMessenger();
expect(SchedulerBinding.instance.hasScheduledFrame, isFalse);
// Framework starts with detached statue. Sends resumed signal to enable frame.
final ByteData message = const StringCodec().encodeMessage('AppLifecycleState.resumed')!;
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/lifecycle', message, (_) { });
await binding.defaultBinaryMessenger.handlePlatformMessage('flutter/lifecycle', message, (_) { });
binding.attachRootWidget(const Placeholder());
expect(SchedulerBinding.instance.hasScheduledFrame, isTrue);
});
}
class WidgetsFlutterBindingWithTestBinaryMessenger extends WidgetsFlutterBinding with TestDefaultBinaryMessengerBinding { }
......@@ -9,12 +9,12 @@ import 'package:flutter_test/flutter_test.dart';
void main() {
test('Can only schedule frames after widget binding attaches the root widget', () async {
final WidgetsBinding binding = WidgetsFlutterBinding.ensureInitialized();
final WidgetsFlutterBindingWithTestBinaryMessenger binding = WidgetsFlutterBindingWithTestBinaryMessenger();
expect(SchedulerBinding.instance.framesEnabled, isFalse);
expect(SchedulerBinding.instance.hasScheduledFrame, isFalse);
// Sends a message to notify that the engine is ready to accept frames.
final ByteData message = const StringCodec().encodeMessage('AppLifecycleState.resumed')!;
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/lifecycle', message, (_) { });
await binding.defaultBinaryMessenger.handlePlatformMessage('flutter/lifecycle', message, (_) { });
// Enables the semantics should not schedule any frames if the root widget
// has not been attached.
......@@ -31,3 +31,5 @@ void main() {
expect(SchedulerBinding.instance.hasScheduledFrame, isTrue);
});
}
class WidgetsFlutterBindingWithTestBinaryMessenger extends WidgetsFlutterBinding with TestDefaultBinaryMessengerBinding { }
......@@ -18,14 +18,15 @@ void main() {
expect(PlatformDispatcher.instance.onDrawFrame, isNull);
// Instantiation does nothing with regards to frame scheduling.
expect(WidgetsFlutterBinding.ensureInitialized(), isA<WidgetsFlutterBinding>());
final WidgetsFlutterBindingWithTestBinaryMessenger binding = WidgetsFlutterBindingWithTestBinaryMessenger();
expect(binding, isA<WidgetsFlutterBinding>());
expect(SchedulerBinding.instance.hasScheduledFrame, isFalse);
expect(PlatformDispatcher.instance.onBeginFrame, isNull);
expect(PlatformDispatcher.instance.onDrawFrame, isNull);
// Framework starts with detached statue. Sends resumed signal to enable frame.
final ByteData message = const StringCodec().encodeMessage('AppLifecycleState.resumed')!;
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/lifecycle', message, (_) { });
await binding.defaultBinaryMessenger.handlePlatformMessage('flutter/lifecycle', message, (_) { });
expect(PlatformDispatcher.instance.onBeginFrame, isNull);
expect(PlatformDispatcher.instance.onDrawFrame, isNull);
expect(SchedulerBinding.instance.hasScheduledFrame, isFalse);
......@@ -37,3 +38,5 @@ void main() {
expect(SchedulerBinding.instance.hasScheduledFrame, isTrue);
});
}
class WidgetsFlutterBindingWithTestBinaryMessenger extends WidgetsFlutterBinding with TestDefaultBinaryMessengerBinding { }
......@@ -46,22 +46,18 @@ class PushRouteInformationObserver with WidgetsBindingObserver {
}
void main() {
setUp(() {
WidgetsFlutterBinding.ensureInitialized();
});
Future<void> setAppLifeCycleState(AppLifecycleState state) async {
final ByteData? message =
const StringCodec().encodeMessage(state.toString());
await ServicesBinding.instance.defaultBinaryMessenger
.handlePlatformMessage('flutter/lifecycle', message, (_) {});
await TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.handlePlatformMessage('flutter/lifecycle', message, (_) { });
}
testWidgets('didHaveMemoryPressure callback', (WidgetTester tester) async {
final MemoryPressureObserver observer = MemoryPressureObserver();
WidgetsBinding.instance.addObserver(observer);
final ByteData message = const JSONMessageCodec().encodeMessage(<String, dynamic>{'type': 'memoryPressure'})!;
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/system', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/system', message, (_) { });
expect(observer.sawMemoryPressure, true);
WidgetsBinding.instance.removeObserver(observer);
});
......@@ -91,7 +87,7 @@ void main() {
const String testRouteName = 'testRouteName';
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('pushRoute', testRouteName));
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
expect(observer.pushedRoute, testRouteName);
WidgetsBinding.instance.removeObserver(observer);
......@@ -109,7 +105,7 @@ void main() {
final ByteData message = const JSONMethodCodec().encodeMethodCall(
const MethodCall('pushRouteInformation', testRouteInformation),
);
await ServicesBinding.instance.defaultBinaryMessenger
await tester.binding.defaultBinaryMessenger
.handlePlatformMessage('flutter/navigation', message, (_) {});
expect(observer.pushedRoute, 'testRouteName');
WidgetsBinding.instance.removeObserver(observer);
......@@ -126,7 +122,7 @@ void main() {
final ByteData message = const JSONMethodCodec().encodeMethodCall(
const MethodCall('pushRouteInformation', testRouteInformation),
);
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
expect(observer.pushedRouteInformation.location, 'testRouteName');
expect(observer.pushedRouteInformation.state, 'state');
WidgetsBinding.instance.removeObserver(observer);
......@@ -143,7 +139,7 @@ void main() {
final ByteData message = const JSONMethodCodec().encodeMethodCall(
const MethodCall('pushRouteInformation', testRouteInformation),
);
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
expect(observer.pushedRouteInformation.location, 'testRouteName');
expect(observer.pushedRouteInformation.state, null);
WidgetsBinding.instance.removeObserver(observer);
......
......@@ -501,7 +501,7 @@ void main() {
Object? error;
try {
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......@@ -549,7 +549,7 @@ void main() {
Object? error;
try {
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
await tester.binding.defaultBinaryMessenger.handlePlatformMessage(
'flutter/textinput',
messageBytes,
(ByteData? _) {},
......
......@@ -805,7 +805,7 @@ testWidgets('ChildBackButtonDispatcher take priority recursively', (WidgetTester
final ByteData routerMessage = const JSONMethodCodec().encodeMethodCall(
const MethodCall('pushRouteInformation', testRouteInformation),
);
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', routerMessage, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', routerMessage, (_) { });
await tester.pump();
expect(find.text('testRouteName'), findsOneWidget);
expect(find.text('state'), findsOneWidget);
......@@ -815,7 +815,7 @@ testWidgets('ChildBackButtonDispatcher take priority recursively', (WidgetTester
final ByteData message = const JSONMethodCodec().encodeMethodCall(
const MethodCall('pushRoute', testRouteName),
);
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.pump();
expect(find.text('newTestRouteName'), findsOneWidget);
});
......@@ -897,7 +897,7 @@ testWidgets('ChildBackButtonDispatcher take priority recursively', (WidgetTester
// Pop route through the message channel.
final ByteData message = const JSONMethodCodec().encodeMethodCall(const MethodCall('popRoute'));
await ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.binding.defaultBinaryMessenger.handlePlatformMessage('flutter/navigation', message, (_) { });
await tester.pump();
expect(find.text('popped'), findsOneWidget);
});
......
......@@ -13,7 +13,6 @@ import 'package:path/path.dart' as path;
import 'package:test_api/test_api.dart' as test_package;
import 'binding.dart';
import 'deprecated.dart';
/// Ensure the appropriate test binding is initialized.
TestWidgetsFlutterBinding ensureInitialized([@visibleForTesting Map<String, String>? environment]) {
......@@ -40,9 +39,9 @@ void mockFlutterAssets() {
/// Navigation related actions (pop, push, replace) broadcasts these actions via
/// platform messages.
SystemChannels.navigation.setMockMethodCallHandler((MethodCall methodCall) async {});
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(SystemChannels.navigation, (MethodCall methodCall) async { return null; });
ServicesBinding.instance.defaultBinaryMessenger.setMockMessageHandler('flutter/assets', (ByteData? message) {
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMessageHandler('flutter/assets', (ByteData? message) {
assert(message != null);
String key = utf8.decode(message!.buffer.asUint8List());
File asset = File(path.join(assetFolderPath, key));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment