Unverified Commit e2361960 authored by Jonah Williams's avatar Jonah Williams Committed by GitHub

cache sdkNameAndVersion logic for web devices (#45145)

parent 399aebc4
......@@ -89,7 +89,10 @@ class ChromeDevice extends Device {
DevicePortForwarder get portForwarder => const NoOpDevicePortForwarder();
@override
Future<String> get sdkNameAndVersion async {
Future<String> get sdkNameAndVersion async => _sdkNameAndVersion ??= await _computeSdkNameAndVersion();
String _sdkNameAndVersion;
Future<String> _computeSdkNameAndVersion() async {
if (!isSupported()) {
return 'unknown';
}
......
......@@ -101,6 +101,10 @@ void main() {
expect(chromeDevice.isSupported(), true);
expect(await chromeDevice.sdkNameAndVersion, 'ABC');
// Verify caching works correctly.
expect(await chromeDevice.sdkNameAndVersion, 'ABC');
verify(mockProcessManager.run(<String>['chrome.foo', '--version'])).called(1);
}, overrides: <Type, Generator>{
Platform: () => mockPlatform,
ProcessManager: () => mockProcessManager,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment