import 'package:flutter_boost/channel/boost_channel.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); const MethodChannel channel = MethodChannel('flutter_boost'); final List<MethodCall> log = <MethodCall>[]; dynamic response; channel.setMockMethodCallHandler((MethodCall methodCall) async { print(methodCall); log.add(methodCall); return response; }); tearDown(() { log.clear(); }); group('boost_channel', () { response = null; test('sendEvent successfully', () async { Map msg1 = Map<dynamic,dynamic>(); BoostChannel().sendEvent("name", msg1); Map msg = Map<dynamic,dynamic>(); msg["name"] = "name"; msg["arguments"] = msg1; expect( log, <Matcher>[isMethodCall('__event__', arguments: msg)], ); }); test('invokeMethod successfully', () async { Map msg = <dynamic,dynamic>{}; msg["test"] = "test"; BoostChannel().invokeMethod<dynamic>("__event__1", msg); // expect(e, isException); expect( log, <Matcher>[isMethodCall('__event__1', arguments: msg)], ); }); test('invokeListMethod successfully', () async { Map msg = <dynamic,dynamic>{}; msg["test"] = "test"; var bb = await BoostChannel().invokeListMethod<dynamic>("__event__1", msg); expect( log, <Matcher>[isMethodCall('__event__1', arguments: msg)], ); }); test('invokeMapMethod successfully', () async { Map msg = <dynamic,dynamic>{}; msg["test"] = "test"; BoostChannel().invokeMapMethod<dynamic,dynamic>("__event__1", msg); expect( log, <Matcher>[isMethodCall('__event__1', arguments: msg)], ); }); test('invokeMapMethod successfully', () async { Map msg = <dynamic,dynamic>{}; msg["test"] = "test"; BoostChannel().invokeMapMethod<dynamic,dynamic>("__event__1", msg); expect( log, <Matcher>[isMethodCall('__event__1', arguments: msg)], ); }); test('addEventListener successfully', () async { Function test = BoostChannel().addEventListener( "addEventListener", (String name, Map arguments) async => "test"); print("xxx" + test.toString()); expect( test.toString(), "Closure: () => Null", ); }); test('addMethodHandler successfully', () async { Function test = BoostChannel().addMethodHandler(( MethodCall call) async => "test"); expect( test.toString(), "Closure: () => Null", ); }); }); }