diff --git a/packages/image_picker/image_picker_platform_interface/CHANGELOG.md b/packages/image_picker/image_picker_platform_interface/CHANGELOG.md index e3007e98fc9..e52ca570efa 100644 --- a/packages/image_picker/image_picker_platform_interface/CHANGELOG.md +++ b/packages/image_picker/image_picker_platform_interface/CHANGELOG.md @@ -1,6 +1,7 @@ -## NEXT +## 2.11.1 * Updates minimum supported SDK version to Flutter 3.29/Dart 3.7. +* Fixes typo in limit parameter validation error messages. ## 2.11.0 diff --git a/packages/image_picker/image_picker_platform_interface/lib/src/types/media_options.dart b/packages/image_picker/image_picker_platform_interface/lib/src/types/media_options.dart index 4ef82992a20..c06b0b0d26d 100644 --- a/packages/image_picker/image_picker_platform_interface/lib/src/types/media_options.dart +++ b/packages/image_picker/image_picker_platform_interface/lib/src/types/media_options.dart @@ -54,7 +54,7 @@ class MediaOptions { } if (limit != null && limit < 2) { - throw ArgumentError.value(limit, 'limit', 'cannot be lower then 2'); + throw ArgumentError.value(limit, 'limit', 'cannot be lower than 2'); } } } diff --git a/packages/image_picker/image_picker_platform_interface/lib/src/types/multi_image_picker_options.dart b/packages/image_picker/image_picker_platform_interface/lib/src/types/multi_image_picker_options.dart index 316398fd5c8..ea9b22e11c9 100644 --- a/packages/image_picker/image_picker_platform_interface/lib/src/types/multi_image_picker_options.dart +++ b/packages/image_picker/image_picker_platform_interface/lib/src/types/multi_image_picker_options.dart @@ -36,7 +36,7 @@ class MultiImagePickerOptions { /// Throws if limit is lower than 2. static void _validate({int? limit}) { if (limit != null && limit < 2) { - throw ArgumentError.value(limit, 'limit', 'cannot be lower then 2'); + throw ArgumentError.value(limit, 'limit', 'cannot be lower than 2'); } } } diff --git a/packages/image_picker/image_picker_platform_interface/pubspec.yaml b/packages/image_picker/image_picker_platform_interface/pubspec.yaml index a5cb4ab500d..6a3c6c07b49 100644 --- a/packages/image_picker/image_picker_platform_interface/pubspec.yaml +++ b/packages/image_picker/image_picker_platform_interface/pubspec.yaml @@ -4,7 +4,7 @@ repository: https://github.com/flutter/packages/tree/main/packages/image_picker/ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+image_picker%22 # NOTE: We strongly prefer non-breaking changes, even at the expense of a # less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes -version: 2.11.0 +version: 2.11.1 environment: sdk: ^3.7.0 diff --git a/packages/image_picker/image_picker_platform_interface/test/media_options_test.dart b/packages/image_picker/image_picker_platform_interface/test/media_options_test.dart index f3b4c91de44..11ecbec7b50 100644 --- a/packages/image_picker/image_picker_platform_interface/test/media_options_test.dart +++ b/packages/image_picker/image_picker_platform_interface/test/media_options_test.dart @@ -27,18 +27,28 @@ void main() { ); }); - test('createAndValidate throw error for to small limit', () { + test('createAndValidate throws error for too small limit', () { + final Matcher throwsLimitArgumentError = throwsA( + isA() + .having((ArgumentError error) => error.name, 'name', 'limit') + .having( + (ArgumentError error) => error.message, + 'message', + 'cannot be lower than 2', + ), + ); + expect( () => MediaOptions.createAndValidate(allowMultiple: true, limit: 1), - throwsArgumentError, + throwsLimitArgumentError, ); expect( () => MediaOptions.createAndValidate(allowMultiple: true, limit: 0), - throwsArgumentError, + throwsLimitArgumentError, ); expect( () => MediaOptions.createAndValidate(allowMultiple: true, limit: -1), - throwsArgumentError, + throwsLimitArgumentError, ); }); diff --git a/packages/image_picker/image_picker_platform_interface/test/method_channel_image_picker_test.dart b/packages/image_picker/image_picker_platform_interface/test/method_channel_image_picker_test.dart index 7a2478eff33..b244e7d256e 100644 --- a/packages/image_picker/image_picker_platform_interface/test/method_channel_image_picker_test.dart +++ b/packages/image_picker/image_picker_platform_interface/test/method_channel_image_picker_test.dart @@ -1073,7 +1073,7 @@ void main() { ); }); - test('does not accept a invalid imageQuality argument', () { + test('does not accept an invalid imageQuality argument', () { returnValue = ['0', '1']; expect( () => picker.getMedia( @@ -1096,8 +1096,18 @@ void main() { ); }); - test('does not accept a invalid limit argument', () { + test('does not accept an invalid limit argument', () { returnValue = ['0', '1']; + final Matcher throwsLimitArgumentError = throwsA( + isA() + .having((ArgumentError error) => error.name, 'name', 'limit') + .having( + (ArgumentError error) => error.message, + 'message', + 'cannot be lower than 2', + ), + ); + expect( () => picker.getMedia( options: MediaOptions.createAndValidate( @@ -1105,7 +1115,7 @@ void main() { limit: -1, ), ), - throwsArgumentError, + throwsLimitArgumentError, ); expect( @@ -1115,7 +1125,17 @@ void main() { limit: 0, ), ), - throwsArgumentError, + throwsLimitArgumentError, + ); + + expect( + () => picker.getMedia( + options: MediaOptions.createAndValidate( + allowMultiple: true, + limit: 1, + ), + ), + throwsLimitArgumentError, ); }); @@ -1816,25 +1836,35 @@ void main() { test('does not accept an invalid limit argument', () { returnValue = ['0', '1']; + final Matcher throwsLimitArgumentError = throwsA( + isA() + .having((ArgumentError error) => error.name, 'name', 'limit') + .having( + (ArgumentError error) => error.message, + 'message', + 'cannot be lower than 2', + ), + ); + expect( () => picker.getMultiImageWithOptions( options: MultiImagePickerOptions.createAndValidate(limit: -1), ), - throwsArgumentError, + throwsLimitArgumentError, ); expect( () => picker.getMultiImageWithOptions( options: MultiImagePickerOptions.createAndValidate(limit: 0), ), - throwsArgumentError, + throwsLimitArgumentError, ); expect( () => picker.getMultiImageWithOptions( options: MultiImagePickerOptions.createAndValidate(limit: 1), ), - throwsArgumentError, + throwsLimitArgumentError, ); }); diff --git a/packages/image_picker/image_picker_platform_interface/test/multi_image_picker_options_test.dart b/packages/image_picker/image_picker_platform_interface/test/multi_image_picker_options_test.dart index 64438115a1a..5ef48cc0620 100644 --- a/packages/image_picker/image_picker_platform_interface/test/multi_image_picker_options_test.dart +++ b/packages/image_picker/image_picker_platform_interface/test/multi_image_picker_options_test.dart @@ -14,18 +14,28 @@ void main() { ); }); - test('createAndValidate throw error for to small limit', () { + test('createAndValidate throws error for too small limit', () { + final Matcher throwsLimitArgumentError = throwsA( + isA() + .having((ArgumentError error) => error.name, 'name', 'limit') + .having( + (ArgumentError error) => error.message, + 'message', + 'cannot be lower than 2', + ), + ); + expect( () => MultiImagePickerOptions.createAndValidate(limit: 1), - throwsArgumentError, + throwsLimitArgumentError, ); expect( () => MultiImagePickerOptions.createAndValidate(limit: 0), - throwsArgumentError, + throwsLimitArgumentError, ); expect( () => MultiImagePickerOptions.createAndValidate(limit: -1), - throwsArgumentError, + throwsLimitArgumentError, ); }); });