From c59c4a0c5c2c018eafaf739f32ee607a9fc08074 Mon Sep 17 00:00:00 2001 From: Mehmet Fidanboylu Date: Fri, 18 Dec 2020 16:37:33 -0800 Subject: [PATCH 1/4] [image_picker] Do not copy a static field into a nother static field --- packages/image_picker/image_picker/lib/image_picker.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/image_picker/image_picker/lib/image_picker.dart b/packages/image_picker/image_picker/lib/image_picker.dart index 82c199e007f4..5c0683c3f29f 100755 --- a/packages/image_picker/image_picker/lib/image_picker.dart +++ b/packages/image_picker/image_picker/lib/image_picker.dart @@ -27,7 +27,7 @@ export 'package:image_picker_platform_interface/image_picker_platform_interface. class ImagePicker { /// The platform interface that drives this plugin @visibleForTesting - static ImagePickerPlatform platform = ImagePickerPlatform.instance; + static ImagePickerPlatform get platform => ImagePickerPlatform.instance; /// Returns a [File] object pointing to the image that was picked. /// From 535cd00a718cf7cca486d5ee2197c6c069aefb49 Mon Sep 17 00:00:00 2001 From: Mehmet Fidanboylu Date: Fri, 18 Dec 2020 16:51:14 -0800 Subject: [PATCH 2/4] Add tests --- packages/image_picker/image_picker/pubspec.yaml | 2 ++ .../image_picker/test/image_picker_test.dart | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/packages/image_picker/image_picker/pubspec.yaml b/packages/image_picker/image_picker/pubspec.yaml index 29baaa0de5d5..c3e42b630413 100755 --- a/packages/image_picker/image_picker/pubspec.yaml +++ b/packages/image_picker/image_picker/pubspec.yaml @@ -25,7 +25,9 @@ dev_dependencies: sdk: flutter integration_test: path: ../../integration_test + mockito: ^4.1.3 pedantic: ^1.8.0 + plugin_platform_interface: ^1.0.3 environment: sdk: ">=2.1.0 <3.0.0" diff --git a/packages/image_picker/image_picker/test/image_picker_test.dart b/packages/image_picker/image_picker/test/image_picker_test.dart index 0ada1b261363..535c598db063 100644 --- a/packages/image_picker/image_picker/test/image_picker_test.dart +++ b/packages/image_picker/image_picker/test/image_picker_test.dart @@ -5,6 +5,9 @@ import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:image_picker/image_picker.dart'; +import 'package:image_picker_platform_interface/image_picker_platform_interface.dart'; +import 'package:mockito/mockito.dart'; +import 'package:plugin_platform_interface/plugin_platform_interface.dart'; void main() { TestWidgetsFlutterBinding.ensureInitialized(); @@ -26,6 +29,14 @@ void main() { log.clear(); }); + test('ImagePicker platform instance overrides the actual platform used', () { + final ImagePickerPlatform savedPlatform = ImagePickerPlatform.instance; + final MockPlatform mockPlatform = MockPlatform(); + ImagePickerPlatform.instance = mockPlatform; + expect(ImagePicker.platform, mockPlatform); + ImagePickerPlatform.instance = savedPlatform; + }); + group('#pickImage', () { test('passes the image source argument correctly', () async { await picker.getImage(source: ImageSource.camera); @@ -336,3 +347,6 @@ void main() { }); }); } + +class MockPlatform extends Mock with MockPlatformInterfaceMixin + implements ImagePickerPlatform {} From ab8fc3221e96b180963fbeb9c948117bb4a18a1d Mon Sep 17 00:00:00 2001 From: Mehmet Fidanboylu Date: Fri, 18 Dec 2020 17:06:48 -0800 Subject: [PATCH 3/4] Make formatter happy --- .../image_picker/image_picker/test/image_picker_test.dart | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/image_picker/image_picker/test/image_picker_test.dart b/packages/image_picker/image_picker/test/image_picker_test.dart index 535c598db063..7172975ded5d 100644 --- a/packages/image_picker/image_picker/test/image_picker_test.dart +++ b/packages/image_picker/image_picker/test/image_picker_test.dart @@ -29,7 +29,8 @@ void main() { log.clear(); }); - test('ImagePicker platform instance overrides the actual platform used', () { + test('ImagePicker platform instance overrides the actual platform used', + () { final ImagePickerPlatform savedPlatform = ImagePickerPlatform.instance; final MockPlatform mockPlatform = MockPlatform(); ImagePickerPlatform.instance = mockPlatform; @@ -348,5 +349,6 @@ void main() { }); } -class MockPlatform extends Mock with MockPlatformInterfaceMixin +class MockPlatform extends Mock + with MockPlatformInterfaceMixin implements ImagePickerPlatform {} From fb02521364f2d2827f0f6a99a76a5b1aa6d5f62b Mon Sep 17 00:00:00 2001 From: Mehmet Fidanboylu Date: Mon, 21 Dec 2020 14:32:27 -0800 Subject: [PATCH 4/4] version bump --- packages/image_picker/image_picker/CHANGELOG.md | 4 ++++ packages/image_picker/image_picker/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/image_picker/image_picker/CHANGELOG.md b/packages/image_picker/image_picker/CHANGELOG.md index 4c1553a8ccaf..32d61cc79607 100644 --- a/packages/image_picker/image_picker/CHANGELOG.md +++ b/packages/image_picker/image_picker/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.6.7+19 + +* Do not copy static field to another static field. + ## 0.6.7+18 * Fix outdated links across a number of markdown files ([#3276](https://github.com/flutter/plugins/pull/3276)) diff --git a/packages/image_picker/image_picker/pubspec.yaml b/packages/image_picker/image_picker/pubspec.yaml index c3e42b630413..377c3840c2d1 100755 --- a/packages/image_picker/image_picker/pubspec.yaml +++ b/packages/image_picker/image_picker/pubspec.yaml @@ -2,7 +2,7 @@ name: image_picker description: Flutter plugin for selecting images from the Android and iOS image library, and taking new pictures with the camera. homepage: https://github.com/flutter/plugins/tree/master/packages/image_picker/image_picker -version: 0.6.7+18 +version: 0.6.7+19 flutter: plugin: