-
Notifications
You must be signed in to change notification settings - Fork 358
Expand file tree
/
Copy pathpigeon_input_data_conversion_test.dart
More file actions
95 lines (80 loc) · 2.61 KB
/
pigeon_input_data_conversion_test.dart
File metadata and controls
95 lines (80 loc) · 2.61 KB
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import 'package:test/test.dart';
import 'package:workmanager/src/workmanager_impl.dart';
void main() {
group('convertPigeonInputData', () {
test('handles null inputData', () {
final result = convertPigeonInputData(null);
expect(result, null);
});
test('filters null keys while preserving null values', () {
final Map<String?, Object?> inputData = {
'validKey': 'validValue',
'nullValueKey': null,
null: 'shouldBeFilteredOut',
'numberKey': 42,
'boolKey': true,
'listKey': ['item1', 'item2'],
};
final result = convertPigeonInputData(inputData);
expect(result, isNotNull);
expect(result, isA<Map<String, dynamic>>());
expect(result!.length, 5);
expect(result['validKey'], 'validValue');
expect(result['nullValueKey'], null);
expect(result['numberKey'], 42);
expect(result['boolKey'], true);
expect(result['listKey'], ['item1', 'item2']);
expect(result.containsKey(null), false);
});
test('handles empty inputData', () {
final result = convertPigeonInputData({});
expect(result, isNotNull);
expect(result, isEmpty);
expect(result, isA<Map<String, dynamic>>());
});
test('handles inputData with only null keys', () {
final result = convertPigeonInputData({null: 'value1'});
expect(result, isNotNull);
expect(result, isEmpty);
expect(result, isA<Map<String, dynamic>>());
});
test('handles mixed valid and invalid keys', () {
final Map<String?, Object?> mixedData = {
'key1': 'value1',
null: 'nullKeyValue',
'key2': null,
'': 'emptyStringKey',
'key3': 123,
};
final result = convertPigeonInputData(mixedData);
expect(result!.length, 4);
expect(result['key1'], 'value1');
expect(result['key2'], null);
expect(result[''], 'emptyStringKey');
expect(result['key3'], 123);
expect(result.containsKey(null), false);
});
test('preserves complex nested data structures', () {
final Map<String?, Object?> complexData = {
'mapKey': {'nested': 'value'},
'listKey': [
1,
2,
{'nested': 'list'}
],
'nullKey': null,
null: 'filtered',
};
final result = convertPigeonInputData(complexData);
expect(result!.length, 3);
expect(result['mapKey'], {'nested': 'value'});
expect(result['listKey'], [
1,
2,
{'nested': 'list'}
]);
expect(result['nullKey'], null);
expect(result.containsKey(null), false);
});
});
}