Skip to content

Commit f9100e2

Browse files
committed
Update tests
1 parent 1b8cdb9 commit f9100e2

File tree

2 files changed

+26
-21
lines changed

2 files changed

+26
-21
lines changed

packages/firebase_crashlytics/pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ dev_dependencies:
2222
test: ^1.5.1
2323
flutter_driver:
2424
sdk: flutter
25+
path: ^1.6.4
2526

2627
flutter:
2728
plugin:

packages/firebase_crashlytics/test/firebase_crashlytics_test.dart

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import 'package:flutter/material.dart';
88
import 'package:flutter/rendering.dart';
99
import 'package:flutter/services.dart';
1010
import 'package:flutter_test/flutter_test.dart';
11+
import 'package:path/path.dart' as path;
1112

1213
void main() {
1314
TestWidgetsFlutterBinding.ensureInitialized();
@@ -25,6 +26,8 @@ void main() {
2526
case 'Crashlytics#onError':
2627
return 'Error reported to Crashlytics.';
2728
case 'Crashlytics#setUserIdentifier':
29+
case 'Crashlytics#setKey':
30+
case 'Crashlytics#log':
2831
return true;
2932
default:
3033
return false;
@@ -33,6 +36,25 @@ void main() {
3336
log.clear();
3437
});
3538

39+
test('log', () async {
40+
crashlytics.enableInDevMode = true;
41+
final msg = 'foo';
42+
await crashlytics.log(msg);
43+
expect(log[0].method, 'Crashlytics#log');
44+
expect(log[0].arguments['log'], msg);
45+
});
46+
47+
test('setKeys', () async {
48+
crashlytics.enableInDevMode = true;
49+
final key = 'testKey';
50+
// All values are converted to Strings by Dart code
51+
final value = 'testValue';
52+
await crashlytics.setCustomKey(key, value);
53+
expect(log[0].method, 'Crashlytics#setKey');
54+
expect(log[0].arguments['key'], key);
55+
expect(log[0].arguments['value'], value);
56+
});
57+
3658
test('recordFlutterError', () async {
3759
final FlutterErrorDetails details = FlutterErrorDetails(
3860
exception: 'foo exception',
@@ -44,44 +66,26 @@ void main() {
4466
],
4567
context: ErrorDescription('foo context'),
4668
);
47-
crashlytics
48-
..enableInDevMode = true
49-
..log('foo')
50-
..setCustomKey('testBool', true)
51-
..setCustomKey('testInt', 42)
52-
..setCustomKey('testDouble', 42.0)
53-
..setCustomKey('testString', 'bar');
69+
crashlytics.enableInDevMode = true;
5470
await crashlytics.recordFlutterError(details);
5571
expect(log[0].method, 'Crashlytics#onError');
5672
expect(log[0].arguments['exception'], 'foo exception');
5773
expect(log[0].arguments['context'], 'foo context');
5874
expect(log[0].arguments['information'], 'test message\nsecond message');
59-
expect(log[0].arguments['logs'], isNotEmpty);
60-
expect(log[0].arguments['logs'], contains('foo'));
61-
expect(log[0].arguments['keys']['testBool'], 'true');
62-
expect(log[0].arguments['keys']['testInt'], '42');
63-
expect(log[0].arguments['keys']['testDouble'], '42.0');
64-
expect(log[0].arguments['keys']['testString'], 'bar');
6575
});
6676

6777
test('recordError', () async {
6878
crashlytics.enableInDevMode = true;
69-
crashlytics.log('foo');
7079
await crashlytics.recordError('foo exception', null, context: "context");
7180
expect(log[0].method, 'Crashlytics#onError');
7281
expect(log[0].arguments['exception'], 'foo exception');
7382
expect(log[0].arguments['context'], "context");
7483
// Confirm that the stack trace contains current stack.
7584
expect(
7685
log[0].arguments['stackTraceElements'],
77-
contains(containsPair('file', 'firebase_crashlytics_test.dart')),
86+
contains(containsPair(
87+
'file', path.join('test', 'firebase_crashlytics_test.dart'))),
7888
);
79-
expect(log[0].arguments['logs'], isNotEmpty);
80-
expect(log[0].arguments['logs'], contains('foo'));
81-
expect(log[0].arguments['keys']['testBool'], 'true');
82-
expect(log[0].arguments['keys']['testInt'], '42');
83-
expect(log[0].arguments['keys']['testDouble'], '42.0');
84-
expect(log[0].arguments['keys']['testString'], 'bar');
8589
});
8690

8791
test('crash', () {

0 commit comments

Comments
 (0)