|  | // Copyright 2019 The Flutter Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | import 'package:flutter/services.dart'; | 
|  | import 'package:flutter_test/flutter_test.dart'; | 
|  | import 'package:package_info/package_info.dart'; | 
|  |  | 
|  | void main() { | 
|  | TestWidgetsFlutterBinding.ensureInitialized(); | 
|  |  | 
|  | const MethodChannel channel = | 
|  | MethodChannel('plugins.flutter.io/package_info'); | 
|  | List<MethodCall> log; | 
|  |  | 
|  | channel.setMockMethodCallHandler((MethodCall methodCall) async { | 
|  | log.add(methodCall); | 
|  | switch (methodCall.method) { | 
|  | case 'getAll': | 
|  | return <String, dynamic>{ | 
|  | 'appName': 'package_info_example', | 
|  | 'buildNumber': '1', | 
|  | 'packageName': 'io.flutter.plugins.packageinfoexample', | 
|  | 'version': '1.0', | 
|  | }; | 
|  | default: | 
|  | assert(false); | 
|  | return null; | 
|  | } | 
|  | }); | 
|  |  | 
|  | setUp(() { | 
|  | log = <MethodCall>[]; | 
|  | }); | 
|  |  | 
|  | test('fromPlatform', () async { | 
|  | final PackageInfo info = await PackageInfo.fromPlatform(); | 
|  | expect(info.appName, 'package_info_example'); | 
|  | expect(info.buildNumber, '1'); | 
|  | expect(info.packageName, 'io.flutter.plugins.packageinfoexample'); | 
|  | expect(info.version, '1.0'); | 
|  | expect( | 
|  | log, | 
|  | <Matcher>[ | 
|  | isMethodCall('getAll', arguments: null), | 
|  | ], | 
|  | ); | 
|  | }); | 
|  | } |