@@ -35,28 +35,11 @@ void main() {
3535
3636 tearDownAll (provider.dispose);
3737
38- void makeEdit (String file, String originalString, String newString) {
39- if (file == project.dartEntryFileName) {
40- context.makeEditToDartEntryFile (
41- toReplace: originalString,
42- replaceWith: newString,
43- );
44- } else {
45- context.makeEditToDartLibFile (
46- libFileName: file,
47- toReplace: originalString,
48- replaceWith: newString,
49- );
50- }
51- }
52-
53- Future <void > makeEditAndRecompile (
54- String file,
55- String originalString,
56- String newString,
38+ Future <void > makeEditsAndRecompile (
39+ List <({String file, String originalString, String newString})> edits,
5740 ) async {
58- makeEdit (file, originalString, newString );
59- await context.recompile (fullRestart: false );
41+ await context. makeEdits (edits );
42+ await context.recompile (fullRestart: true );
6043 }
6144
6245 group ('when pause_isolates_on_start is true' , () {
@@ -255,7 +238,9 @@ void main() {
255238 await resumeAndExpectLog (oldString);
256239
257240 // Modify the string that gets printed.
258- await makeEditAndRecompile (mainFile, oldString, newString);
241+ await makeEditsAndRecompile ([
242+ (file: mainFile, originalString: oldString, newString: newString),
243+ ]);
259244
260245 await hotReloadAndHandlePausePost ([
261246 (file: mainFile, breakpointMarker: callLogMarker, bp: bp),
@@ -291,7 +276,9 @@ void main() {
291276 final extraLog = 'hot reload' ;
292277 final oldString = "log('" ;
293278 final newString = "log('$extraLog ');\n $oldString " ;
294- await makeEditAndRecompile (mainFile, oldString, newString);
279+ await makeEditsAndRecompile ([
280+ (file: mainFile, originalString: oldString, newString: newString),
281+ ]);
295282
296283 bp =
297284 (await hotReloadAndHandlePausePost ([
@@ -307,7 +294,9 @@ void main() {
307294 await resumeAndExpectLog (genLog);
308295
309296 // Remove the line we just added.
310- await makeEditAndRecompile (mainFile, newString, oldString);
297+ await makeEditsAndRecompile ([
298+ (file: mainFile, originalString: newString, newString: oldString),
299+ ]);
311300
312301 await hotReloadAndHandlePausePost ([
313302 (file: mainFile, breakpointMarker: callLogMarker, bp: bp),
@@ -363,10 +352,13 @@ void main() {
363352 final newImports =
364353 '$oldImports \n '
365354 "import 'package:_test_hot_reload_breakpoints/library.dart';" ;
366- makeEdit (mainFile, oldImports, newImports);
355+ final edits = [
356+ (file: mainFile, originalString: oldImports, newString: newImports),
357+ ];
367358 final oldLog = "log('\$ mainValue');" ;
368359 final newLog = "log('\$ libraryValue');" ;
369- await makeEditAndRecompile (mainFile, oldLog, newLog);
360+ edits.add ((file: mainFile, originalString: oldLog, newString: newLog));
361+ await makeEditsAndRecompile (edits);
370362
371363 await hotReloadAndHandlePausePost ([
372364 (file: mainFile, breakpointMarker: callLogMarker, bp: bp),
@@ -410,6 +402,8 @@ void main() {
410402
411403 // Add library files, import them, but only refer to the last one in main.
412404 final numFiles = 50 ;
405+ final edits =
406+ < ({String file, String originalString, String newString})> [];
413407 for (var i = 1 ; i <= numFiles; i++ ) {
414408 final libFile = 'library$i .dart' ;
415409 context.addLibraryFile (
@@ -422,11 +416,16 @@ void main() {
422416 final newImports =
423417 '$oldImports \n '
424418 "import 'package:_test_hot_reload_breakpoints/$libFile ';" ;
425- makeEdit (mainFile, oldImports, newImports);
419+ edits.add ((
420+ file: mainFile,
421+ originalString: oldImports,
422+ newString: newImports,
423+ ));
426424 }
427425 final oldLog = "log('\$ mainValue');" ;
428426 final newLog = "log('\$ libraryValue$numFiles ');" ;
429- await makeEditAndRecompile (mainFile, oldLog, newLog);
427+ edits.add ((file: mainFile, originalString: oldLog, newString: newLog));
428+ await makeEditsAndRecompile (edits);
430429
431430 await hotReloadAndHandlePausePost ([
432431 (file: mainFile, breakpointMarker: callLogMarker, bp: bp),
@@ -460,7 +459,9 @@ void main() {
460459
461460 final oldLog = "log('\$ mainValue');" ;
462461 final newLog = "log('\$ {closure()}');" ;
463- await makeEditAndRecompile (mainFile, oldLog, newLog);
462+ await makeEditsAndRecompile ([
463+ (file: mainFile, originalString: oldLog, newString: newLog),
464+ ]);
464465
465466 bp =
466467 (await hotReloadAndHandlePausePost ([
@@ -478,11 +479,13 @@ void main() {
478479 await resumeAndExpectLog (oldCapturedString);
479480
480481 final newCapturedString = 'captured closure gen1' ;
481- await makeEditAndRecompile (
482- mainFile,
483- oldCapturedString,
484- newCapturedString,
485- );
482+ await makeEditsAndRecompile ([
483+ (
484+ file: mainFile,
485+ originalString: oldCapturedString,
486+ newString: newCapturedString,
487+ ),
488+ ]);
486489
487490 await hotReloadAndHandlePausePost ([
488491 (file: mainFile, breakpointMarker: capturedStringMarker, bp: bp),
@@ -539,7 +542,9 @@ void main() {
539542 await callEvaluateAndExpectLog (oldString);
540543
541544 // Modify the string that gets printed and hot reload.
542- await makeEditAndRecompile (mainFile, oldString, newString);
545+ await makeEditsAndRecompile ([
546+ (file: mainFile, originalString: oldString, newString: newString),
547+ ]);
543548 final vm = await client.getVM ();
544549 final isolate = await client.getIsolate (vm.isolates! .first.id! );
545550 final report = await client.reloadSources (isolate.id! );
0 commit comments