@@ -13,6 +13,7 @@ import 'package:dwds/src/debugging/location.dart';
13
13
import 'package:dwds/src/debugging/skip_list.dart' ;
14
14
import 'package:dwds/src/services/batched_expression_evaluator.dart' ;
15
15
import 'package:dwds/src/services/expression_evaluator.dart' ;
16
+ import 'package:dwds/src/utilities/shared.dart' ;
16
17
17
18
import 'package:test/test.dart' ;
18
19
import 'package:vm_service/vm_service.dart' hide LogRecord;
@@ -36,6 +37,7 @@ void main() async {
36
37
37
38
late StreamController <DebuggerPausedEvent > pausedController;
38
39
late StreamController <Event > debugEventController;
40
+ late FakeInspector inspector;
39
41
setUp (() async {
40
42
final assetReader = FakeAssetReader (sourceMap: '' );
41
43
final toolConfiguration = TestToolConfiguration .withLoadStrategy (
@@ -64,8 +66,7 @@ void main() async {
64
66
skipLists,
65
67
root,
66
68
);
67
- final inspector =
68
- FakeInspector (webkitDebugger, fakeIsolate: simpleIsolate);
69
+ inspector = FakeInspector (webkitDebugger, fakeIsolate: simpleIsolate);
69
70
debugger.updateInspector (inspector);
70
71
71
72
_evaluator = ExpressionEvaluator (
@@ -192,6 +193,21 @@ void main() async {
192
193
);
193
194
});
194
195
196
+ test ('retries failed batched expression' , () async {
197
+ safeUnawaited (
198
+ evaluator.evaluateExpression ('2' , 'main.dart' , 'true' , {}),
199
+ );
200
+
201
+ await evaluator.evaluateExpression ('2' , 'main.dart' , 'false' , {});
202
+ expect (inspector.functionsCalled.length, 3 );
203
+ expect (
204
+ inspector.functionsCalled[0 ].contains ('return [ true, false ];' ),
205
+ true ,
206
+ );
207
+ expect (inspector.functionsCalled[1 ].contains ('return true;' ), true );
208
+ expect (inspector.functionsCalled[2 ].contains ('return false;' ), true );
209
+ });
210
+
195
211
test ('returns error if closed' , () async {
196
212
evaluator.close ();
197
213
final result =
0 commit comments