blob: 2cd26d0a161203ec650fb342b0317be28e3da9b3 [file] [log] [blame]
// Copyright 2019, the Chromium project authors. Please see the AUTHORS file
// for details. 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:async';
import 'package:flutter/widgets.dart';
import 'package:flutter_driver/driver_extension.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:firebase_crashlytics/firebase_crashlytics.dart';
void main() {
final Completer<String> allTestsCompleter = Completer<String>();
enableFlutterDriverExtension(handler: (_) => allTestsCompleter.future);
tearDownAll(() => allTestsCompleter.complete(null));
test('recordFlutterError', () async {
// This is currently only testing that we can log errors without crashing.
final Crashlytics crashlytics = Crashlytics.instance;
await crashlytics.setUserName('testing');
await crashlytics.setUserIdentifier('hello');
crashlytics.setBool('testBool', true);
crashlytics.setInt('testInt', 42);
crashlytics.setDouble('testDouble', 42.0);
crashlytics.setString('testString', 'bar');
Crashlytics.instance.log('testing');
await crashlytics.recordFlutterError(FlutterErrorDetails(
exception: 'testing',
stack: StackTrace.fromString(''),
context: DiagnosticsNode.message('during testing'),
informationCollector: () => <DiagnosticsNode>[
DiagnosticsNode.message('testing'),
DiagnosticsNode.message('information'),
]));
});
}