mock_event_channel 0.1.1+1
mock_event_channel: ^0.1.1+1 copied to clipboard
Temporary package to add support for mocking EventChannels in Flutter
NOTE: These changes are included in Flutter 3.13.0. This package is no longer needed.
Temporary package to add support for mocking EventChannels in Flutter
Features #
Adds setMockStreamHandler
to TestDefaultBinaryMessenger
with an extension
Usage #
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:mock_event_channel/mock_event_channel.dart';
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
test('No arguments', () {
const channel = EventChannel('mock_event_channel');
TestDefaultBinaryMessengerBinding.instance!.defaultBinaryMessenger
.setMockStreamHandler(
channel,
MockStreamHandler.inline(
onListen: (arguments, events) {
events.success('asdf');
events.error(code: 'asdf');
events.endOfStream();
},
),
);
final stream = channel.receiveBroadcastStream();
expectLater(
stream,
emitsInOrder(
[
'asdf',
emitsError(
isA<PlatformException>().having((e) => e.code, 'code', 'asdf'),
),
emitsDone
],
),
);
});
}
copied to clipboard
Additional information #
This package will be discontinued when this PR gets released to stable: https://github.com/flutter/flutter/pull/124415
This package is an exact copy of that code, so all you need to do when that PR is released is remove this package from your pubspec.