mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08: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…
x
Reference in New Issue
Block a user