diff --git a/pubspec.lock b/pubspec.lock index b039c6d97..ad91657c5 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -208,7 +208,7 @@ packages: sha256: "2056db5241f96cdc0126bd94459fc4cdc13876753768fc7a31c425e50a7177d0" url: "https://pub.dev" source: hosted - version: "6.1.1" + version: "6.0.5" connectivity_plus_platform_interface: dependency: transitive description: @@ -601,10 +601,10 @@ packages: dependency: "direct main" description: name: get_it - sha256: f126a3e286b7f5b578bf436d5592968706c4c1de28a228b870ce375d9f743103 + sha256: c49895c1ecb0ee2a0ec568d39de882e2c299ba26355aa6744ab1001f98cebd15 url: "https://pub.dev" source: hosted - version: "8.0.3" + version: "8.0.2" glob: dependency: transitive description: @@ -1438,26 +1438,26 @@ packages: dependency: "direct main" description: name: syncfusion_flutter_calendar - sha256: "20118a598cf5ae5b7ec84fa364e2b51070800f078466158fcd25864e1b5a2cfd" + sha256: "948934cecada4fd977a1097a3ac6c69857b1838b26438da1b2d58e667fa81f45" url: "https://pub.dev" source: hosted - version: "27.2.5" + version: "27.2.4" syncfusion_flutter_core: dependency: transitive description: name: syncfusion_flutter_core - sha256: "325f519ce4ad8edd81811c21b853d72018529e353584490824da0555156ba076" + sha256: "795530addc930b3b06f4f2fe99a039de276860af505fcf54c4516fbcb838a3cb" url: "https://pub.dev" source: hosted - version: "27.2.5" + version: "27.2.4" syncfusion_flutter_datepicker: dependency: "direct main" description: name: syncfusion_flutter_datepicker - sha256: "2177e49eb8a1c0fce7081e40f5613c986d00e5e63cbeb98a6012f65ca156bfc7" + sha256: eafdcb6084a3c50d482cf846a59dac86bee3cc3511f62f3b69fea14133ab57be url: "https://pub.dev" source: hosted - version: "27.2.5" + version: "27.2.4" synchronized: dependency: transitive description: diff --git a/test/widget_tests/widgets/recurrence_dialog_test.dart b/test/widget_tests/widgets/recurrence_dialog_test.dart index 08b43ff58..f4808ccbc 100644 --- a/test/widget_tests/widgets/recurrence_dialog_test.dart +++ b/test/widget_tests/widgets/recurrence_dialog_test.dart @@ -256,5 +256,48 @@ void main() { }, ); }); + + testWidgets('handles last weekday occurrence for various dates', + (tester) async { + // Test for leap year February + model.recurrenceStartDate = DateTime(2024, 2, 29); // Leap year + await tester.pumpWidget( + MaterialApp( + home: ShowRecurrenceDialog(model: model), + ), + ); + expect( + find.text( + RecurrenceUtils.getRecurrenceRuleText( + Frequency.monthly, + {'THURSDAY'}, + model.interval, + model.count, + -1, + model.recurrenceStartDate, + model.recurrenceEndDate, + ), + ), + findsOneWidget, + ); + + // Test for non-leap year February + model.recurrenceStartDate = DateTime(2023, 2, 28); // Non-leap year + await tester.pump(); + expect( + find.text( + RecurrenceUtils.getRecurrenceRuleText( + Frequency.monthly, + {'TUESDAY'}, + model.interval, + model.count, + -1, + model.recurrenceStartDate, + model.recurrenceEndDate, + ), + ), + findsOneWidget, + ); + }); }); }