-
Notifications
You must be signed in to change notification settings - Fork 3.5k
[shared_preferences] Remove use of Pigeon's Dart test generator #10325
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[shared_preferences] Remove use of Pigeon's Dart test generator #10325
Conversation
|
CHANGELOG/version overrides: While technically there is production code change here, it's just adding an optional, visibible-only-for-tests parameter, and moving one ivar initialization from the declaration to the constructor, so it's pretty clearly a no-op. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request refactors the testing approach for shared_preferences_foundation by removing the dependency on Pigeon's Dart test generator. Instead, it introduces dependency injection (DI) to provide a mock implementation of the Pigeon API for tests. This aligns the legacy code with the newer async implementation and improves test isolation. The changes also include removing unused dartHostTestHandler configurations from the Android implementation's Pigeon files. My review focuses on improving the test code's maintainability and efficiency.
...hared_preferences/shared_preferences_foundation/test/shared_preferences_foundation_test.dart
Show resolved
Hide resolved
flutter/packages@4cec230...7063d75 2025-11-11 [email protected] [video_player_avfoundation] removes unnecessary duration and size check before sending the initialized event (flutter/packages#9534) 2025-11-11 [email protected] Update Android package CODEOWNERS (flutter/packages#10386) 2025-11-11 [email protected] [url_launcher] Remove unused dartHostTestHandler (flutter/packages#10324) 2025-11-11 [email protected] [path_provider] Remove use of Pigeon's Dart test generator (flutter/packages#10323) 2025-11-11 [email protected] [image_picker] Remove use of Pigeon's Dart test generator (flutter/packages#10320) 2025-11-11 [email protected] [shared_preferences] Remove use of Pigeon's Dart test generator (flutter/packages#10325) 2025-11-10 [email protected] [camera_android_camerax] Fixes crash with unsupported operation exception (flutter/packages#10342) 2025-11-10 [email protected] [file_selector] Remove unused web code (flutter/packages#10376) 2025-11-10 [email protected] Manual roll Flutter from c5e809a to 31a8481 (9 revisions) (flutter/packages#10392) 2025-11-10 [email protected] [file_selector] Add canCreateDirectories to FileDialogOptions (flutter/packages#10317) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages-flutter-autoroll Please CC [email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Updates
shared_preferences_foundation's legacy implementation to use DI to inject the fake Pigeon API implementation, instead of the Dart test generator, matching the newer async code.Also updates
shared_preferences_androidto removedartHostTestHandlerentries that were unused.Part of flutter/flutter#159886
Pre-Review Checklist
[shared_preferences]pubspec.yamlwith an appropriate new version according to the pub versioning philosophy, or I have commented below to indicate which version change exemption this PR falls under1.CHANGELOG.mdto add a description of the change, following repository CHANGELOG style, or I have commented below to indicate which CHANGELOG exemption this PR falls under1.///).Footnotes
Regular contributors who have demonstrated familiarity with the repository guidelines only need to comment if the PR is not auto-exempted by repo tooling. ↩ ↩2 ↩3