@@ -48,6 +48,22 @@ void main() {
4848 );
4949 }
5050
51+ void addTimerData (String message, {required IsolateRef isolateRef}) {
52+ controller.log (
53+ LogData (
54+ EventKind .kTimerSignificantlyOverdue,
55+ jsonEncode ({
56+ 'kind' : EventKind .kTimerSignificantlyOverdue,
57+ 'details' : message,
58+ 'isolateRef' : isolateRef.toJson (),
59+ }),
60+ ++ timestampCounter,
61+ summary: message,
62+ isolateRef: isolateRef,
63+ ),
64+ );
65+ }
66+
5167 void addGcData (String message) {
5268 controller.log (
5369 LogData (
@@ -109,6 +125,15 @@ void main() {
109125 isSystemIsolate: false ,
110126 ),
111127 );
128+ addTimerData (
129+ 'timer event' ,
130+ isolateRef: IsolateRef (
131+ id: 'isolates/123' ,
132+ number: '1' ,
133+ name: 'abc-isolate' ,
134+ isSystemIsolate: false ,
135+ ),
136+ );
112137
113138 // The following logs should all be filtered by default.
114139 addGcData ('gc1 abc' );
@@ -173,8 +198,8 @@ void main() {
173198 test ('matchesForSearch - default filters' , () {
174199 prepareTestLogs ();
175200
176- expect (controller.filteredData.value, hasLength (10 ));
177- expect (controller.matchesForSearch ('abc' ).length, equals (4 ));
201+ expect (controller.filteredData.value, hasLength (11 ));
202+ expect (controller.matchesForSearch ('abc' ).length, equals (5 ));
178203 expect (controller.matchesForSearch ('ghi' ).length, equals (2 ));
179204 expect (controller.matchesForSearch ('abcd' ).length, equals (0 ));
180205 expect (controller.matchesForSearch ('Flutter*' ).length, equals (2 ));
@@ -190,7 +215,7 @@ void main() {
190215 expect (controller.matchesForSearch ('severe' ).length, equals (3 ));
191216
192217 // Search by isolateRef name.
193- expect (controller.matchesForSearch ('-isolate' ).length, equals (1 ));
218+ expect (controller.matchesForSearch ('-isolate' ).length, equals (2 ));
194219
195220 // Search by zone name.
196221 expect (controller.matchesForSearch ('root' ).length, equals (1 ));
@@ -202,8 +227,8 @@ void main() {
202227 disableAllFilters ();
203228 prepareTestLogs ();
204229
205- expect (controller.filteredData.value, hasLength (17 ));
206- expect (controller.matchesForSearch ('abc' ).length, equals (5 ));
230+ expect (controller.filteredData.value, hasLength (18 ));
231+ expect (controller.matchesForSearch ('abc' ).length, equals (6 ));
207232 expect (controller.matchesForSearch ('ghi' ).length, equals (3 ));
208233 expect (controller.matchesForSearch ('abcd' ).length, equals (0 ));
209234 expect (controller.matchesForSearch ('Flutter*' ).length, equals (7 ));
@@ -219,7 +244,7 @@ void main() {
219244 expect (controller.matchesForSearch ('severe' ).length, equals (3 ));
220245
221246 // Search by isolateRef name.
222- expect (controller.matchesForSearch ('-isolate' ).length, equals (1 ));
247+ expect (controller.matchesForSearch ('-isolate' ).length, equals (2 ));
223248
224249 // Search by zone name.
225250 expect (controller.matchesForSearch ('root' ).length, equals (1 ));
@@ -230,10 +255,10 @@ void main() {
230255 test ('matchesForSearch sets isSearchMatch property' , () {
231256 prepareTestLogs ();
232257
233- expect (controller.filteredData.value, hasLength (10 ));
258+ expect (controller.filteredData.value, hasLength (11 ));
234259 controller.search = 'abc' ;
235260 var matches = controller.searchMatches.value;
236- expect (matches.length, equals (4 ));
261+ expect (matches.length, equals (5 ));
237262 verifyIsSearchMatch (controller.filteredData.value, matches);
238263
239264 controller.search = 'Flutter.' ;
@@ -246,40 +271,40 @@ void main() {
246271 prepareTestLogs ();
247272
248273 // At this point data is filtered by the default setting filter values.
249- expect (controller.data, hasLength (17 ));
250- expect (controller.filteredData.value, hasLength (10 ));
274+ expect (controller.data, hasLength (18 ));
275+ expect (controller.filteredData.value, hasLength (11 ));
251276
252277 controller.setActiveFilter (query: 'abc' );
253- expect (controller.data, hasLength (17 ));
254- expect (controller.filteredData.value, hasLength (4 ));
278+ expect (controller.data, hasLength (18 ));
279+ expect (controller.filteredData.value, hasLength (5 ));
255280
256281 controller.setActiveFilter (query: 'def' );
257- expect (controller.data, hasLength (17 ));
282+ expect (controller.data, hasLength (18 ));
258283 expect (controller.filteredData.value, hasLength (2 ));
259284
260285 controller.setActiveFilter (query: 'abc def' );
261- expect (controller.data, hasLength (17 ));
262- expect (controller.filteredData.value, hasLength (6 ));
286+ expect (controller.data, hasLength (18 ));
287+ expect (controller.filteredData.value, hasLength (7 ));
263288
264289 controller.setActiveFilter (query: 'k:stdout' );
265- expect (controller.data, hasLength (17 ));
290+ expect (controller.data, hasLength (18 ));
266291 expect (controller.filteredData.value, hasLength (6 ));
267292
268293 controller.setActiveFilter (query: '-k:stdout' );
269- expect (controller.data, hasLength (17 ));
270- expect (controller.filteredData.value, hasLength (4 ));
294+ expect (controller.data, hasLength (18 ));
295+ expect (controller.filteredData.value, hasLength (5 ));
271296
272297 controller.setActiveFilter (query: 'k:stdout abc' );
273- expect (controller.data, hasLength (17 ));
298+ expect (controller.data, hasLength (18 ));
274299 expect (controller.filteredData.value, hasLength (3 ));
275300
276301 controller.setActiveFilter (query: 'k:stdout,flutter.navigation' );
277- expect (controller.data, hasLength (17 ));
302+ expect (controller.data, hasLength (18 ));
278303 expect (controller.filteredData.value, hasLength (7 ));
279304
280305 controller.setActiveFilter ();
281- expect (controller.data, hasLength (17 ));
282- expect (controller.filteredData.value, hasLength (10 ));
306+ expect (controller.data, hasLength (18 ));
307+ expect (controller.filteredData.value, hasLength (11 ));
283308
284309 // Test setting filters.
285310 final minimumLogLevelFilter =
@@ -292,22 +317,22 @@ void main() {
292317
293318 verboseFlutterFrameworkFilter.setting.value = false ;
294319 controller.setActiveFilter ();
295- expect (controller.data, hasLength (17 ));
296- expect (controller.filteredData.value, hasLength (14 ));
320+ expect (controller.data, hasLength (18 ));
321+ expect (controller.filteredData.value, hasLength (15 ));
297322
298323 verboseFlutterServiceFilter.setting.value = false ;
299324 controller.setActiveFilter ();
300- expect (controller.data, hasLength (17 ));
301- expect (controller.filteredData.value, hasLength (15 ));
325+ expect (controller.data, hasLength (18 ));
326+ expect (controller.filteredData.value, hasLength (16 ));
302327
303328 gcFilter.setting.value = false ;
304329 controller.setActiveFilter ();
305- expect (controller.data, hasLength (17 ));
306- expect (controller.filteredData.value, hasLength (17 ));
330+ expect (controller.data, hasLength (18 ));
331+ expect (controller.filteredData.value, hasLength (18 ));
307332
308333 minimumLogLevelFilter.setting.value = Level .SEVERE .value;
309334 controller.setActiveFilter ();
310- expect (controller.data, hasLength (17 ));
335+ expect (controller.data, hasLength (18 ));
311336 expect (controller.filteredData.value, hasLength (3 ));
312337 });
313338
@@ -330,8 +355,8 @@ void main() {
330355 });
331356
332357 test ('releaseMemory - partial release' , () {
333- expect (controller.data, hasLength (17 ));
334- expect (controller.filteredData.value, hasLength (10 ));
358+ expect (controller.data, hasLength (18 ));
359+ expect (controller.filteredData.value, hasLength (11 ));
335360 controller.releaseMemory (partial: true );
336361 expect (controller.data, hasLength (9 ));
337362 expect (controller.filteredData.value, hasLength (2 ));
0 commit comments