@@ -121,7 +121,7 @@ void main() {
121121 await adapter.terminateRequest (MockRequest (), TerminateArguments (restart: false ), terminateCompleter.complete);
122122 await terminateCompleter.future;
123123
124- expect (adapter.flutterRequests , contains ('app.stop' ));
124+ expect (adapter.dapToFlutterRequests , contains ('app.stop' ));
125125 });
126126
127127 test ('does not call "app.stop" on terminateRequest if app was not started' , () async {
@@ -145,7 +145,7 @@ void main() {
145145 await adapter.terminateRequest (MockRequest (), TerminateArguments (restart: false ), terminateCompleter.complete);
146146 await terminateCompleter.future;
147147
148- expect (adapter.flutterRequests , isNot (contains ('app.stop' )));
148+ expect (adapter.dapToFlutterRequests , isNot (contains ('app.stop' )));
149149 });
150150 });
151151
@@ -210,7 +210,39 @@ void main() {
210210 await adapter.terminateRequest (MockRequest (), TerminateArguments (restart: false ), terminateCompleter.complete);
211211 await terminateCompleter.future;
212212
213- expect (adapter.flutterRequests, contains ('app.detach' ));
213+ expect (adapter.dapToFlutterRequests, contains ('app.detach' ));
214+ });
215+ });
216+
217+ group ('forwards events' , () {
218+ test ('app.webLaunchUrl' , () async {
219+ final MockFlutterDebugAdapter adapter = MockFlutterDebugAdapter (
220+ fileSystem: MemoryFileSystem .test (style: fsStyle),
221+ platform: platform,
222+ );
223+
224+ // Simulate Flutter asking for a URL to be launched.
225+ adapter.simulateStdoutMessage (< String , Object ? > {
226+ 'event' : 'app.webLaunchUrl' ,
227+ 'params' : < String , Object ? > {
228+ 'url' : 'http://localhost:123/' ,
229+ 'launched' : false ,
230+ }
231+ });
232+
233+ // Allow the handler to be processed.
234+ await pumpEventQueue (times: 5000 );
235+
236+ // Find the forwarded event.
237+ final Map <String , Object ?> message = adapter.dapToClientMessages.singleWhere ((Map <String , Object ?> data) => data['event' ] == 'flutter.forwardedEvent' );
238+ // Ensure the body of the event matches the original event sent by Flutter.
239+ expect (message['body' ], < String , Object ? > {
240+ 'event' : 'app.webLaunchUrl' ,
241+ 'params' : < String , Object ? > {
242+ 'url' : 'http://localhost:123/' ,
243+ 'launched' : false ,
244+ }
245+ });
214246 });
215247 });
216248
@@ -238,7 +270,7 @@ void main() {
238270 // Allow the handler to be processed.
239271 await pumpEventQueue (times: 5000 );
240272
241- final Map <String , Object ?> message = adapter.flutterMessages .singleWhere ((Map <String , Object ?> data) => data['id' ] == requestId);
273+ final Map <String , Object ?> message = adapter.dapToFlutterMessages .singleWhere ((Map <String , Object ?> data) => data['id' ] == requestId);
242274 expect (message['result' ], 'http://mapped-host:123/' );
243275 });
244276 });
0 commit comments