mirror of
https://github.com/flutter/flutter
synced 2024-10-14 04:02:56 +00:00
cache sdkNameAndVersion logic for web devices (#45145)
This commit is contained in:
parent
399aebc4b7
commit
e236196037
|
@ -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,
|
||||
|
|
Loading…
Reference in a new issue