@@ -14,6 +14,7 @@ import 'package:devtools_app_shared/utils.dart';
14
14
import 'package:devtools_test/devtools_test.dart' ;
15
15
import 'package:devtools_test/helpers.dart' ;
16
16
import 'package:flutter_test/flutter_test.dart' ;
17
+ import 'package:logging/logging.dart' ;
17
18
18
19
void main () {
19
20
group ('LoggingController' , () {
@@ -27,6 +28,7 @@ void main() {
27
28
jsonEncode ({'kind' : 'stdout' , 'message' : message}),
28
29
0 ,
29
30
summary: message,
31
+ level: Level .INFO .value,
30
32
),
31
33
);
32
34
}
@@ -38,12 +40,21 @@ void main() {
38
40
jsonEncode ({'kind' : 'gc' , 'message' : message}),
39
41
0 ,
40
42
summary: message,
43
+ level: Level .INFO .value,
41
44
),
42
45
);
43
46
}
44
47
45
- void addLogWithKind (String kind) {
46
- controller.log (LogData (kind, jsonEncode ({'foo' : 'test_data' }), 0 ));
48
+ void addLog ({required String kind, Level ? level, bool isError = false }) {
49
+ controller.log (
50
+ LogData (
51
+ kind,
52
+ jsonEncode ({'foo' : 'test_data' }),
53
+ 0 ,
54
+ level: level? .value,
55
+ isError: isError,
56
+ ),
57
+ );
47
58
}
48
59
49
60
setUp (() {
@@ -88,8 +99,8 @@ void main() {
88
99
addStdoutData ('abc' );
89
100
addStdoutData ('def' );
90
101
addStdoutData ('abc ghi' );
91
- addLogWithKind ( 'Flutter.Navigation' );
92
- addLogWithKind ( 'Flutter.Error' );
102
+ addLog (kind : 'Flutter.Navigation' );
103
+ addLog (kind : 'Flutter.Error' , isError : true );
93
104
addGcData ('gc1' );
94
105
addGcData ('gc2' );
95
106
@@ -112,8 +123,8 @@ void main() {
112
123
addStdoutData ('abc' );
113
124
addStdoutData ('def' );
114
125
addStdoutData ('abc ghi' );
115
- addLogWithKind ( 'Flutter.Navigation' );
116
- addLogWithKind ( 'Flutter.Error' );
126
+ addLog (kind : 'Flutter.Navigation' );
127
+ addLog (kind : 'Flutter.Error' , isError : true );
117
128
addGcData ('gc1' );
118
129
addGcData ('gc2' );
119
130
@@ -133,24 +144,27 @@ void main() {
133
144
addStdoutData ('abc' );
134
145
addStdoutData ('def' );
135
146
addStdoutData ('abc ghi' );
136
- addLogWithKind ( 'Flutter.Navigation' );
137
- addLogWithKind ( 'Flutter.Error' );
147
+ addLog (kind : 'Flutter.Navigation' );
148
+ addLog (kind : 'Flutter.Error' , isError : true );
138
149
139
150
// The following logs should all be filtered by default.
140
151
addGcData ('gc1' );
141
152
addGcData ('gc2' );
142
- addLogWithKind ( 'Flutter.FirstFrame' );
143
- addLogWithKind ( 'Flutter.FrameworkInitialization' );
144
- addLogWithKind ( 'Flutter.Frame' );
145
- addLogWithKind ( 'Flutter.ImageSizesForFrame' );
146
- addLogWithKind ( 'Flutter.ServiceExtensionStateChanged' );
153
+ addLog (kind : 'Flutter.FirstFrame' );
154
+ addLog (kind : 'Flutter.FrameworkInitialization' );
155
+ addLog (kind : 'Flutter.Frame' );
156
+ addLog (kind : 'Flutter.ImageSizesForFrame' );
157
+ addLog (kind : 'Flutter.ServiceExtensionStateChanged' );
147
158
148
159
// At this point data is filtered by the default toggle filter values.
149
160
expect (controller.data, hasLength (12 ));
150
161
expect (controller.filteredData.value, hasLength (5 ));
151
162
152
- // Test query filters assuming default toggle filters are all enabled.
153
- for (final filter in controller.activeFilter.value.settingFilters) {
163
+ // Test query filters assuming default setting filters are all enabled.
164
+ controller.activeFilter.value.settingFilters.first.setting.value =
165
+ Level .INFO ;
166
+ for (final filter
167
+ in controller.activeFilter.value.settingFilters.sublist (1 )) {
154
168
filter.setting.value = true ;
155
169
}
156
170
@@ -186,12 +200,14 @@ void main() {
186
200
expect (controller.data, hasLength (12 ));
187
201
expect (controller.filteredData.value, hasLength (5 ));
188
202
189
- // Test toggle filters.
190
- final verboseFlutterFrameworkFilter =
203
+ // Test setting filters.
204
+ final minimumLogLevelFilter =
191
205
controller.activeFilter.value.settingFilters[0 ];
192
- final verboseFlutterServiceFilter =
206
+ final verboseFlutterFrameworkFilter =
193
207
controller.activeFilter.value.settingFilters[1 ];
194
- final gcFilter = controller.activeFilter.value.settingFilters[2 ];
208
+ final verboseFlutterServiceFilter =
209
+ controller.activeFilter.value.settingFilters[2 ];
210
+ final gcFilter = controller.activeFilter.value.settingFilters[3 ];
195
211
196
212
verboseFlutterFrameworkFilter.setting.value = false ;
197
213
controller.setActiveFilter ();
@@ -207,6 +223,11 @@ void main() {
207
223
controller.setActiveFilter ();
208
224
expect (controller.data, hasLength (12 ));
209
225
expect (controller.filteredData.value, hasLength (12 ));
226
+
227
+ minimumLogLevelFilter.setting.value = Level .SEVERE ;
228
+ controller.setActiveFilter ();
229
+ expect (controller.data, hasLength (12 ));
230
+ expect (controller.filteredData.value, hasLength (1 ));
210
231
});
211
232
});
212
233
0 commit comments