Skip to content

Commit d591e52

Browse files
committed
Feedback
1 parent b0c141b commit d591e52

File tree

1 file changed

+111
-125
lines changed

1 file changed

+111
-125
lines changed

dwds/test/evaluate_parts_common.dart

Lines changed: 111 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,15 @@ void testAll({
6161
}
6262
}
6363

64-
group('shared context with evaluation', () {
64+
group('shared context with evaluation - evaluateInFrame', () {
65+
late VmServiceInterface service;
66+
late String isolateId;
67+
late ScriptRef mainScript;
68+
late ScriptRef part1Script;
69+
late ScriptRef part2Script;
70+
late ScriptRef part3Script;
71+
late Stream<Event> stream;
72+
6573
setUpAll(() async {
6674
setCurrentLogWriter(debug: debug);
6775
await context.setUp(
@@ -72,147 +80,125 @@ void testAll({
7280
verboseCompiler: debug,
7381
),
7482
);
83+
84+
service = context.service;
85+
final vm = await service.getVM();
86+
final isolate = await service.getIsolate(vm.isolates!.first.id!);
87+
isolateId = isolate.id!;
88+
final scripts = await service.getScripts(isolateId);
89+
90+
ScriptRef findScript(String path) {
91+
return scripts.scripts!.firstWhere((e) => e.uri!.contains(path));
92+
}
93+
94+
await service.streamListen('Debug');
95+
stream = service.onEvent('Debug');
96+
97+
final packageName = testParts.packageName;
98+
99+
mainScript = findScript('package:$packageName/library.dart');
100+
part1Script = findScript('package:$packageName/part1.dart');
101+
part2Script = findScript('package:$packageName/part2.dart');
102+
part3Script = findScript('package:$packageName/part3.dart');
75103
});
76104

77105
tearDownAll(() async {
78106
await context.tearDown();
79107
});
80108

81-
setUp(() => setCurrentLogWriter(debug: debug));
82-
83-
group('evaluateInFrame', () {
84-
late VmServiceInterface service;
85-
VM vm;
86-
late Isolate isolate;
87-
late String isolateId;
88-
ScriptList scripts;
89-
late ScriptRef mainScript;
90-
late ScriptRef part1Script;
91-
late ScriptRef part2Script;
92-
late ScriptRef part3Script;
93-
late Stream<Event> stream;
94-
95-
setUp(() async {
96-
setCurrentLogWriter(debug: debug);
97-
service = context.service;
98-
vm = await service.getVM();
99-
isolate = await service.getIsolate(vm.isolates!.first.id!);
100-
isolateId = isolate.id!;
101-
scripts = await service.getScripts(isolateId);
102-
103-
await service.streamListen('Debug');
104-
stream = service.onEvent('Debug');
105-
106-
final packageName = testParts.packageName;
107-
108-
mainScript = scripts.scripts!.firstWhere(
109-
(each) => each.uri!.contains('package:$packageName/library.dart'),
110-
);
111-
part1Script = scripts.scripts!.firstWhere(
112-
(each) => each.uri!.contains('package:$packageName/part1.dart'),
109+
tearDown(() async {
110+
await service.resume(isolateId);
111+
});
112+
113+
test('evaluate expression in main library', () async {
114+
await onBreakPoint(isolateId, mainScript, 'Concatenate1', () async {
115+
final event = await stream.firstWhere(
116+
(event) => event.kind == EventKind.kPauseBreakpoint,
113117
);
114-
part2Script = scripts.scripts!.firstWhere(
115-
(each) => each.uri!.contains('package:$packageName/part2.dart'),
118+
119+
final result = await context.service.evaluateInFrame(
120+
isolateId,
121+
event.topFrame!.index!,
122+
'a.substring(2, 4)',
116123
);
117-
part3Script = scripts.scripts!.firstWhere(
118-
(each) => each.uri!.contains('package:$packageName/part3.dart'),
124+
125+
expect(
126+
result,
127+
isA<InstanceRef>().having(
128+
(instance) => instance.valueAsString,
129+
'valueAsString',
130+
'll',
131+
),
119132
);
120133
});
134+
});
121135

122-
tearDown(() async {
123-
await service.resume(isolateId);
124-
});
136+
test('evaluate expression in part1', () async {
137+
await onBreakPoint(isolateId, part1Script, 'Concatenate2', () async {
138+
final event = await stream.firstWhere(
139+
(event) => event.kind == EventKind.kPauseBreakpoint,
140+
);
125141

126-
test('evaluate expression in main library', () async {
127-
await onBreakPoint(isolateId, mainScript, 'Concatenate1', () async {
128-
final event = await stream.firstWhere(
129-
(event) => event.kind == EventKind.kPauseBreakpoint,
130-
);
131-
132-
final result = await context.service.evaluateInFrame(
133-
isolateId,
134-
event.topFrame!.index!,
135-
'a.substring(2, 4)',
136-
);
137-
138-
expect(
139-
result,
140-
isA<InstanceRef>().having(
141-
(instance) => instance.valueAsString,
142-
'valueAsString',
143-
'll',
144-
),
145-
);
146-
});
147-
});
142+
final result = await context.service.evaluateInFrame(
143+
isolateId,
144+
event.topFrame!.index!,
145+
'a + b + 37',
146+
);
148147

149-
test('evaluate expression in part1', () async {
150-
await onBreakPoint(isolateId, part1Script, 'Concatenate2', () async {
151-
final event = await stream.firstWhere(
152-
(event) => event.kind == EventKind.kPauseBreakpoint,
153-
);
154-
155-
final result = await context.service.evaluateInFrame(
156-
isolateId,
157-
event.topFrame!.index!,
158-
'a + b + 37',
159-
);
160-
161-
expect(
162-
result,
163-
isA<InstanceRef>().having(
164-
(instance) => instance.valueAsString,
165-
'valueAsString',
166-
'42',
167-
),
168-
);
169-
});
148+
expect(
149+
result,
150+
isA<InstanceRef>().having(
151+
(instance) => instance.valueAsString,
152+
'valueAsString',
153+
'42',
154+
),
155+
);
170156
});
157+
});
158+
159+
test('evaluate expression in part2', () async {
160+
await onBreakPoint(isolateId, part2Script, 'Concatenate3', () async {
161+
final event = await stream.firstWhere(
162+
(event) => event.kind == EventKind.kPauseBreakpoint,
163+
);
164+
165+
final result = await context.service.evaluateInFrame(
166+
isolateId,
167+
event.topFrame!.index!,
168+
'a.length + b + 1',
169+
);
171170

172-
test('evaluate expression in part2', () async {
173-
await onBreakPoint(isolateId, part2Script, 'Concatenate3', () async {
174-
final event = await stream.firstWhere(
175-
(event) => event.kind == EventKind.kPauseBreakpoint,
176-
);
177-
178-
final result = await context.service.evaluateInFrame(
179-
isolateId,
180-
event.topFrame!.index!,
181-
'a.length + b + 1',
182-
);
183-
184-
expect(
185-
result,
186-
isA<InstanceRef>().having(
187-
(instance) => instance.valueAsString,
188-
'valueAsString',
189-
'42.42',
190-
),
191-
);
192-
});
171+
expect(
172+
result,
173+
isA<InstanceRef>().having(
174+
(instance) => instance.valueAsString,
175+
'valueAsString',
176+
'42.42',
177+
),
178+
);
193179
});
180+
});
181+
182+
test('evaluate expression in part3', () async {
183+
await onBreakPoint(isolateId, part3Script, 'Concatenate4', () async {
184+
final event = await stream.firstWhere(
185+
(event) => event.kind == EventKind.kPauseBreakpoint,
186+
);
194187

195-
test('evaluate expression in part3', () async {
196-
await onBreakPoint(isolateId, part3Script, 'Concatenate4', () async {
197-
final event = await stream.firstWhere(
198-
(event) => event.kind == EventKind.kPauseBreakpoint,
199-
);
200-
201-
final result = await context.service.evaluateInFrame(
202-
isolateId,
203-
event.topFrame!.index!,
204-
'(List.of(a)..add(b.keys.first)).toString()',
205-
);
206-
207-
expect(
208-
result,
209-
isA<InstanceRef>().having(
210-
(instance) => instance.valueAsString,
211-
'valueAsString',
212-
'[hello, world, foo]',
213-
),
214-
);
215-
});
188+
final result = await context.service.evaluateInFrame(
189+
isolateId,
190+
event.topFrame!.index!,
191+
'(List.of(a)..add(b.keys.first)).toString()',
192+
);
193+
194+
expect(
195+
result,
196+
isA<InstanceRef>().having(
197+
(instance) => instance.valueAsString,
198+
'valueAsString',
199+
'[hello, world, foo]',
200+
),
201+
);
216202
});
217203
});
218204
});

0 commit comments

Comments
 (0)