blob: f6df456dbc71ef7825e4e1e39d3acfe16d758187 [file] [log] [blame]
// 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 'dart:convert';
import 'dart:typed_data';
import 'dart:ui' as ui;
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
ByteData _makeByteData(String str) {
final List<int> list = utf8.encode(str);
final ByteBuffer buffer =
list is Uint8List ? list.buffer : Uint8List.fromList(list).buffer;
return ByteData.view(buffer);
}
test('default binary messenger calls callback once', () async {
int count = 0;
const String channel = 'foo';
ServicesBinding.instance.defaultBinaryMessenger.handlePlatformMessage(
channel, _makeByteData('bar'), (ByteData message) async {
count += 1;
return null;
});
expect(count, equals(0));
await ui.channelBuffers.drain(channel,
(ByteData data, ui.PlatformMessageResponseCallback callback) {
callback(null);
return null;
});
expect(count, equals(1));
});
}