-
Notifications
You must be signed in to change notification settings - Fork 4k
/
Copy pathmock.dart
39 lines (31 loc) · 1.38 KB
/
mock.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright 2021 The Chromium 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 'package:firebase_analytics_platform_interface/firebase_analytics_platform_interface.dart';
import '../../../firebase_core/firebase_core_platform_interface/test/test.dart';
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
typedef MethodCallCallback = dynamic Function(MethodCall methodCall);
typedef Callback = void Function(MethodCall call);
final List<MethodCall> methodCallLog = <MethodCall>[];
void setupFirebaseAnalyticsMocks([Callback? customHandlers]) {
TestWidgetsFlutterBinding.ensureInitialized();
setupFirebaseCoreMocks();
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(MethodChannelFirebaseAnalytics.channel,
(MethodCall methodCall) async {
methodCallLog.add(methodCall);
switch (methodCall.method) {
case 'Analytics#getAppInstanceId':
return 'ABCD1234';
default:
return false;
}
});
}
void handleMethodCall(MethodCallCallback methodCallCallback) =>
TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
.setMockMethodCallHandler(MethodChannelFirebaseAnalytics.channel,
(call) async {
return await methodCallCallback(call);
});