Skip to content

Commit b9709a6

Browse files
committed
Use breakpoint futures instead to wait for breakpoint in the future
1 parent 7a365a6 commit b9709a6

File tree

1 file changed

+31
-27
lines changed

1 file changed

+31
-27
lines changed

dwds/test/hot_reload_breakpoints_test.dart

Lines changed: 31 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,9 @@ void main() {
235235
});
236236
}
237237

238+
Future<Event> waitForBreakpoint() =>
239+
stream.firstWhere((event) => event.kind == EventKind.kPauseBreakpoint);
240+
238241
test('after edit and hot reload, breakpoint is in new file', () async {
239242
final oldString = 'main gen0';
240243
final newString = 'main gen1';
@@ -244,12 +247,12 @@ void main() {
244247
breakpointMarker: callLogMarker,
245248
);
246249

250+
var breakpointFuture = waitForBreakpoint();
251+
247252
await callEvaluate();
248253

249254
// Should break at `callLog`.
250-
await stream.firstWhere(
251-
(event) => event.kind == EventKind.kPauseBreakpoint,
252-
);
255+
await breakpointFuture;
253256
expect(consoleLogs.contains(oldString), false);
254257
await resumeAndExpectLog(oldString);
255258

@@ -262,12 +265,12 @@ void main() {
262265
(file: mainFile, breakpointMarker: callLogMarker, bp: bp),
263266
]);
264267

268+
breakpointFuture = waitForBreakpoint();
269+
265270
await callEvaluate();
266271

267272
// Should break at `callLog`.
268-
await stream.firstWhere(
269-
(event) => event.kind == EventKind.kPauseBreakpoint,
270-
);
273+
await breakpointFuture;
271274
expect(consoleLogs.contains(newString), false);
272275
await resumeAndExpectLog(newString);
273276
});
@@ -281,12 +284,12 @@ void main() {
281284
breakpointMarker: callLogMarker,
282285
);
283286

287+
var breakpointFuture = waitForBreakpoint();
288+
284289
await callEvaluate();
285290

286291
// Should break at `callLog`.
287-
await stream.firstWhere(
288-
(event) => event.kind == EventKind.kPauseBreakpoint,
289-
);
292+
await breakpointFuture;
290293
expect(consoleLogs.contains(genLog), false);
291294
await resumeAndExpectLog(genLog);
292295

@@ -303,12 +306,12 @@ void main() {
303306
(file: mainFile, breakpointMarker: callLogMarker, bp: bp),
304307
])).first;
305308

309+
breakpointFuture = waitForBreakpoint();
310+
306311
await callEvaluate();
307312

308313
// Should break at `callLog`.
309-
await stream.firstWhere(
310-
(event) => event.kind == EventKind.kPauseBreakpoint,
311-
);
314+
await breakpointFuture;
312315
expect(consoleLogs.contains(extraLog), true);
313316
await resumeAndExpectLog(genLog);
314317

@@ -321,12 +324,12 @@ void main() {
321324
(file: mainFile, breakpointMarker: callLogMarker, bp: bp),
322325
]);
323326

327+
breakpointFuture = waitForBreakpoint();
328+
324329
await callEvaluate();
325330

326331
// Should break at `callLog`.
327-
await stream.firstWhere(
328-
(event) => event.kind == EventKind.kPauseBreakpoint,
329-
);
332+
await breakpointFuture;
330333
expect(consoleLogs.contains(extraLog), false);
331334
await resumeAndExpectLog(genLog);
332335
});
@@ -342,12 +345,12 @@ void main() {
342345
breakpointMarker: callLogMarker,
343346
);
344347

348+
var breakpointFuture = waitForBreakpoint();
349+
345350
await callEvaluate();
346351

347352
// Should break at `callLog`.
348-
await stream.firstWhere(
349-
(event) => event.kind == EventKind.kPauseBreakpoint,
350-
);
353+
await breakpointFuture;
351354
expect(consoleLogs.contains(genLog), false);
352355
await resumeAndExpectLog(genLog);
353356

@@ -377,18 +380,19 @@ void main() {
377380
(file: libFile, breakpointMarker: libValueMarker, bp: null),
378381
]);
379382

383+
breakpointFuture = waitForBreakpoint();
384+
380385
await callEvaluate();
381386

382387
// Should break at `callLog`.
383-
await stream.firstWhere(
384-
(event) => event.kind == EventKind.kPauseBreakpoint,
385-
);
388+
await breakpointFuture;
386389
expect(consoleLogs.contains(libGenLog), false);
390+
391+
breakpointFuture = waitForBreakpoint();
392+
387393
await resume();
388394
// Should break at `libValue`.
389-
await stream.firstWhere(
390-
(event) => event.kind == EventKind.kPauseBreakpoint,
391-
);
395+
await breakpointFuture;
392396
expect(consoleLogs.contains(libGenLog), false);
393397
await resumeAndExpectLog(libGenLog);
394398

@@ -411,12 +415,12 @@ void main() {
411415
(file: mainFile, breakpointMarker: capturedStringMarker, bp: bp),
412416
])).first;
413417

418+
final breakpointFuture = waitForBreakpoint();
419+
414420
await callEvaluate();
415421

416422
// Should break at `capturedString`.
417-
await stream.firstWhere(
418-
(event) => event.kind == EventKind.kPauseBreakpoint,
419-
);
423+
await breakpointFuture;
420424
final oldCapturedString = 'captured closure gen0';
421425
expect(consoleLogs.contains(oldCapturedString), false);
422426
// Closure gets evaluated for the first time.

0 commit comments

Comments
 (0)