From cab32786c75ef2805ba0043797f04d6945f32e3e Mon Sep 17 00:00:00 2001 From: Chris Yang Date: Tue, 2 Mar 2021 10:42:43 -0800 Subject: [PATCH 1/2] move test to nullsafety --- packages/android_intent/pubspec.yaml | 3 +- .../test/android_intent_test.dart | 16 +++-- .../test/android_intent_test.mocks.dart | 64 +++++++++++++++++++ 3 files changed, 75 insertions(+), 8 deletions(-) create mode 100644 packages/android_intent/test/android_intent_test.mocks.dart diff --git a/packages/android_intent/pubspec.yaml b/packages/android_intent/pubspec.yaml index e02c7a270344..8a80370a78a3 100644 --- a/packages/android_intent/pubspec.yaml +++ b/packages/android_intent/pubspec.yaml @@ -17,10 +17,11 @@ dependencies: meta: ^1.3.0 dev_dependencies: test: ^1.16.3 - mockito: ^5.0.0-nullsafety.7 + mockito: ^5.0.0 flutter_test: sdk: flutter pedantic: ^1.10.0 + build_runner: ^1.11.1 environment: sdk: ">=2.12.0-259.9.beta <3.0.0" diff --git a/packages/android_intent/test/android_intent_test.dart b/packages/android_intent/test/android_intent_test.dart index ad0eae3b662d..b8a732adc7e6 100644 --- a/packages/android_intent/test/android_intent_test.dart +++ b/packages/android_intent/test/android_intent_test.dart @@ -2,23 +2,27 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.9 - import 'package:android_intent/flag.dart'; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:android_intent/android_intent.dart'; +import 'package:mockito/annotations.dart'; import 'package:mockito/mockito.dart'; import 'package:platform/platform.dart'; +import 'android_intent_test.mocks.dart'; + +@GenerateMocks([MethodChannel]) void main() { - AndroidIntent androidIntent; - MockMethodChannel mockChannel; + late AndroidIntent androidIntent; + late MockMethodChannel mockChannel; setUp(() { mockChannel = MockMethodChannel(); when(mockChannel.invokeMethod('canResolveActivity', any)) - .thenAnswer((realInvocation) async => true); + .thenAnswer((realInvocation) async => true); + when(mockChannel.invokeMethod('launch', any)) + .thenAnswer((realInvocation) async => {}); }); group('AndroidIntent', () { @@ -178,5 +182,3 @@ void main() { }); }); } - -class MockMethodChannel extends Mock implements MethodChannel {} diff --git a/packages/android_intent/test/android_intent_test.mocks.dart b/packages/android_intent/test/android_intent_test.mocks.dart new file mode 100644 index 000000000000..fed1624ad069 --- /dev/null +++ b/packages/android_intent/test/android_intent_test.mocks.dart @@ -0,0 +1,64 @@ +// Mocks generated by Mockito 5.0.0 from annotations +// in android_intent/test/android_intent_test.dart. +// Do not manually edit this file. + +import 'dart:async' as _i5; + +import 'package:flutter/src/services/binary_messenger.dart' as _i3; +import 'package:flutter/src/services/message_codec.dart' as _i2; +import 'package:flutter/src/services/platform_channel.dart' as _i4; +import 'package:mockito/mockito.dart' as _i1; + +// ignore_for_file: comment_references +// ignore_for_file: unnecessary_parenthesis + +class _FakeMethodCodec extends _i1.Fake implements _i2.MethodCodec {} + +class _FakeBinaryMessenger extends _i1.Fake implements _i3.BinaryMessenger {} + +/// A class which mocks [MethodChannel]. +/// +/// See the documentation for Mockito's code generation for more information. +class MockMethodChannel extends _i1.Mock implements _i4.MethodChannel { + MockMethodChannel() { + _i1.throwOnMissingStub(this); + } + + @override + String get name => + (super.noSuchMethod(Invocation.getter(#name), returnValue: '') as String); + @override + _i2.MethodCodec get codec => (super.noSuchMethod(Invocation.getter(#codec), + returnValue: _FakeMethodCodec()) as _i2.MethodCodec); + @override + _i3.BinaryMessenger get binaryMessenger => + (super.noSuchMethod(Invocation.getter(#binaryMessenger), + returnValue: _FakeBinaryMessenger()) as _i3.BinaryMessenger); + @override + _i5.Future invokeMethod(String? method, [dynamic arguments]) => + (super.noSuchMethod(Invocation.method(#invokeMethod, [method, arguments]), + returnValue: Future.value(null)) as _i5.Future); + @override + _i5.Future?> invokeListMethod(String? method, + [dynamic arguments]) => + (super.noSuchMethod( + Invocation.method(#invokeListMethod, [method, arguments]), + returnValue: Future.value([])) as _i5.Future?>); + @override + _i5.Future?> invokeMapMethod(String? method, + [dynamic arguments]) => + (super.noSuchMethod( + Invocation.method(#invokeMapMethod, [method, arguments]), + returnValue: Future.value({})) as _i5.Future?>); + @override + bool checkMethodCallHandler( + _i5.Future Function(_i2.MethodCall)? handler) => + (super.noSuchMethod(Invocation.method(#checkMethodCallHandler, [handler]), + returnValue: false) as bool); + @override + bool checkMockMethodCallHandler( + _i5.Future Function(_i2.MethodCall)? handler) => + (super.noSuchMethod( + Invocation.method(#checkMockMethodCallHandler, [handler]), + returnValue: false) as bool); +} From 5debdb34bf9d7bae2b7249a0e8d116a12057eeed Mon Sep 17 00:00:00 2001 From: Chris Yang Date: Tue, 2 Mar 2021 10:53:16 -0800 Subject: [PATCH 2/2] format --- packages/android_intent/test/android_intent_test.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/android_intent/test/android_intent_test.dart b/packages/android_intent/test/android_intent_test.dart index b8a732adc7e6..95ff345395cf 100644 --- a/packages/android_intent/test/android_intent_test.dart +++ b/packages/android_intent/test/android_intent_test.dart @@ -20,9 +20,9 @@ void main() { setUp(() { mockChannel = MockMethodChannel(); when(mockChannel.invokeMethod('canResolveActivity', any)) - .thenAnswer((realInvocation) async => true); + .thenAnswer((realInvocation) async => true); when(mockChannel.invokeMethod('launch', any)) - .thenAnswer((realInvocation) async => {}); + .thenAnswer((realInvocation) async => {}); }); group('AndroidIntent', () {