Add new hot reload case string (#130008)
This change is for an internal IDE client to send a custom hot reload request, as custom requests from the client must start with `$/`. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. (this PR is linked internally) - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [Features we expect every widget to implement]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat
This commit is contained in:
parent
553593741a
commit
0b44577f16
@ -185,6 +185,8 @@ class FlutterDebugAdapter extends FlutterBaseDebugAdapter with VmServiceInfoFile
|
||||
switch (request.command) {
|
||||
case 'hotRestart':
|
||||
case 'hotReload':
|
||||
// This convention is for the internal IDE client.
|
||||
case r'$/hotReload':
|
||||
final bool isFullRestart = request.command == 'hotRestart';
|
||||
await _performRestart(isFullRestart, args?.args['reason'] as String?);
|
||||
sendResponse(null);
|
||||
|
@ -256,6 +256,24 @@ void main() {
|
||||
allowExtras: true,
|
||||
);
|
||||
|
||||
// Repeat the test for hot reload with custom syntax.
|
||||
final Future<List<String>> customOutputEventsFuture = dap.client.stdoutOutput
|
||||
// But skip any topLevelFunctions that come before the reload.
|
||||
.skipWhile((String output) => output.startsWith('topLevelFunction'))
|
||||
.take(2)
|
||||
.toList();
|
||||
|
||||
await dap.client.customSyntaxHotReload();
|
||||
|
||||
expectLines(
|
||||
(await customOutputEventsFuture).join(),
|
||||
<Object>[
|
||||
startsWith('Reloaded'),
|
||||
'topLevelFunction',
|
||||
],
|
||||
allowExtras: true,
|
||||
);
|
||||
|
||||
await dap.client.terminate();
|
||||
});
|
||||
|
||||
|
@ -111,6 +111,11 @@ class DapTestClient {
|
||||
return custom('hotReload');
|
||||
}
|
||||
|
||||
/// Sends a custom request with custom syntax convention to the debug adapter to trigger a Hot Reload.
|
||||
Future<Response> customSyntaxHotReload() {
|
||||
return custom(r'$/hotReload');
|
||||
}
|
||||
|
||||
/// Sends a custom request to the debug adapter to trigger a Hot Restart.
|
||||
Future<Response> hotRestart() {
|
||||
return custom('hotRestart');
|
||||
|
Loading…
x
Reference in New Issue
Block a user