Unverified Commit 0c5ae7d6 authored by Mehmet Fidanboylu's avatar Mehmet Fidanboylu Committed by GitHub

Use the FlutterVersion defined in context (#50040)

parent b236465b
...@@ -226,7 +226,7 @@ class VMService { ...@@ -226,7 +226,7 @@ class VMService {
} }
_peer.registerMethod('flutterVersion', (rpc.Parameters params) async { _peer.registerMethod('flutterVersion', (rpc.Parameters params) async {
final FlutterVersion version = FlutterVersion(); final FlutterVersion version = context.get<FlutterVersion>() ?? FlutterVersion();
final Map<String, Object> versionJson = version.toJson(); final Map<String, Object> versionJson = version.toJson();
versionJson['frameworkRevisionShort'] = version.frameworkRevisionShort; versionJson['frameworkRevisionShort'] = version.frameworkRevisionShort;
versionJson['engineRevisionShort'] = version.engineRevisionShort; versionJson['engineRevisionShort'] = version.engineRevisionShort;
......
...@@ -9,6 +9,7 @@ import 'package:flutter_tools/src/base/io.dart'; ...@@ -9,6 +9,7 @@ import 'package:flutter_tools/src/base/io.dart';
import 'package:flutter_tools/src/base/logger.dart'; import 'package:flutter_tools/src/base/logger.dart';
import 'package:flutter_tools/src/base/terminal.dart'; import 'package:flutter_tools/src/base/terminal.dart';
import 'package:flutter_tools/src/device.dart'; import 'package:flutter_tools/src/device.dart';
import 'package:flutter_tools/src/version.dart';
import 'package:flutter_tools/src/vmservice.dart'; import 'package:flutter_tools/src/vmservice.dart';
import 'package:json_rpc_2/json_rpc_2.dart' as rpc; import 'package:json_rpc_2/json_rpc_2.dart' as rpc;
import 'package:mockito/mockito.dart'; import 'package:mockito/mockito.dart';
...@@ -21,6 +22,8 @@ import '../src/mocks.dart'; ...@@ -21,6 +22,8 @@ import '../src/mocks.dart';
class MockPeer implements rpc.Peer { class MockPeer implements rpc.Peer {
Function _versionFn = (dynamic _) => null;
@override @override
rpc.ErrorCallback get onUnhandledError => null; rpc.ErrorCallback get onUnhandledError => null;
...@@ -52,6 +55,9 @@ class MockPeer implements rpc.Peer { ...@@ -52,6 +55,9 @@ class MockPeer implements rpc.Peer {
@override @override
void registerMethod(String name, Function callback) { void registerMethod(String name, Function callback) {
registeredMethods.add(name); registeredMethods.add(name);
if (name == 'flutterVersion') {
_versionFn = callback;
}
} }
@override @override
...@@ -157,6 +163,9 @@ class MockPeer implements rpc.Peer { ...@@ -157,6 +163,9 @@ class MockPeer implements rpc.Peer {
] : <dynamic>[], ] : <dynamic>[],
}; };
} }
if (method == 'flutterVersion') {
return _versionFn(parameters);
}
return null; return null;
} }
...@@ -168,6 +177,7 @@ class MockPeer implements rpc.Peer { ...@@ -168,6 +177,7 @@ class MockPeer implements rpc.Peer {
void main() { void main() {
MockStdio mockStdio; MockStdio mockStdio;
final MockFlutterVersion mockVersion = MockFlutterVersion();
group('VMService', () { group('VMService', () {
setUp(() { setUp(() {
...@@ -316,7 +326,24 @@ void main() { ...@@ -316,7 +326,24 @@ void main() {
platform: FakePlatform(), platform: FakePlatform(),
), ),
}); });
testUsingContext('returns correct FlutterVersion', () {
FakeAsync().run((FakeAsync time) async {
final MockPeer mockPeer = MockPeer();
VMService(mockPeer, null, null, null, null, null, MockDevice(), null);
expect(mockPeer.registeredMethods, contains('flutterVersion'));
expect(await mockPeer.sendRequest('flutterVersion'), equals(mockVersion.toJson()));
});
}, overrides: <Type, Generator>{
FlutterVersion: () => mockVersion,
});
}); });
} }
class MockDevice extends Mock implements Device {} class MockDevice extends Mock implements Device {}
class MockFlutterVersion extends Mock implements FlutterVersion {
@override
Map<String, Object> toJson() => const <String, Object>{'Mock': 'Version'};
}
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