boost_channel_test.dart 2.61 KB
Newer Older
yangwu.jia's avatar
yangwu.jia committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
import 'package:flutter_boost/channel/boost_channel.dart';
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';

void main() {

  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 {
justin's avatar
justin committed
25
      Map msg1 = Map<dynamic,dynamic>();
yangwu.jia's avatar
yangwu.jia committed
26 27
      BoostChannel().sendEvent("name", msg1);

justin's avatar
justin committed
28
      Map msg = Map<dynamic,dynamic>();
yangwu.jia's avatar
yangwu.jia committed
29 30 31 32 33 34 35 36 37 38 39 40
      msg["name"] = "name";
      msg["arguments"] = msg1;


      expect(
        log,
        <Matcher>[isMethodCall('__event__', arguments: msg)],
      );
    });


    test('invokeMethod successfully', () async {
justin's avatar
justin committed
41
      Map msg = <dynamic,dynamic>{};
yangwu.jia's avatar
yangwu.jia committed
42
      msg["test"] = "test";
justin's avatar
justin committed
43
      BoostChannel().invokeMethod<dynamic>("__event__1", msg);
yangwu.jia's avatar
yangwu.jia committed
44 45 46 47 48 49 50 51 52 53 54

//       expect(e, isException);

      expect(
        log,
        <Matcher>[isMethodCall('__event__1', arguments: msg)],
      );
    });


    test('invokeListMethod successfully', () async {
justin's avatar
justin committed
55
      Map msg = <dynamic,dynamic>{};
yangwu.jia's avatar
yangwu.jia committed
56
      msg["test"] = "test";
justin's avatar
justin committed
57
      var bb = await BoostChannel().invokeListMethod<dynamic>("__event__1", msg);
yangwu.jia's avatar
yangwu.jia committed
58 59 60 61 62 63 64 65 66

      expect(
        log,
        <Matcher>[isMethodCall('__event__1', arguments: msg)],
      );
    });


    test('invokeMapMethod successfully', () async {
justin's avatar
justin committed
67
      Map msg = <dynamic,dynamic>{};
yangwu.jia's avatar
yangwu.jia committed
68
      msg["test"] = "test";
justin's avatar
justin committed
69
      BoostChannel().invokeMapMethod<dynamic,dynamic>("__event__1", msg);
yangwu.jia's avatar
yangwu.jia committed
70 71 72 73 74 75 76 77

      expect(
        log,
        <Matcher>[isMethodCall('__event__1', arguments: msg)],
      );
    });

    test('invokeMapMethod successfully', () async {
justin's avatar
justin committed
78
      Map msg = <dynamic,dynamic>{};
yangwu.jia's avatar
yangwu.jia committed
79
      msg["test"] = "test";
justin's avatar
justin committed
80
      BoostChannel().invokeMapMethod<dynamic,dynamic>("__event__1", msg);
yangwu.jia's avatar
yangwu.jia committed
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108

      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",
      );
    });
  });
}