@@ -527,6 +527,58 @@ void main() {
527
527
expect (later.isUtc, isTrue);
528
528
});
529
529
});
530
+
531
+ group ('can get first/last days' , () {
532
+ test ('first day of week' , () {
533
+ final initial = DateTime (2022 , 5 , 20 );
534
+ final expected = DateTime (2022 , 5 , 16 );
535
+ expect (initial.firstDayOfWeek, expected);
536
+ });
537
+
538
+ test ('last day of week' , () {
539
+ final initial = DateTime (2022 , 5 , 20 );
540
+ final expected = DateTime (2022 , 5 , 22 );
541
+ expect (initial.lastDayOfWeek, expected);
542
+ });
543
+
544
+ test ('first day of month' , () {
545
+ final initial = DateTime (2022 , 5 , 20 );
546
+ final expected = DateTime (2022 , 5 , 1 );
547
+ expect (initial.firstDayOfMonth, expected);
548
+ });
549
+
550
+ group ('last day of month' , (){
551
+ test ('last day of month' , () {
552
+ final initial = DateTime (2022 , 5 , 20 );
553
+ final expected = DateTime (2022 , 5 , 31 );
554
+ expect (initial.lastDayOfMonth, expected);
555
+ });
556
+ test ('february not leap year' , () {
557
+ final initial = DateTime (2022 , 2 , 20 );
558
+ final expected = DateTime (2022 , 2 , 28 );
559
+ expect (initial.lastDayOfMonth, expected);
560
+ });
561
+
562
+ test ('february leap year' , () {
563
+ final initial = DateTime (2020 , 2 , 20 );
564
+ final expected = DateTime (2020 , 2 , 29 );
565
+ expect (initial.lastDayOfMonth, expected);
566
+ });
567
+
568
+ });
569
+
570
+ test ('first day of year' , () {
571
+ final initial = DateTime (2022 , 5 , 20 );
572
+ final expected = DateTime (2022 , 1 , 1 );
573
+ expect (initial.firstDayOfYear, expected);
574
+ });
575
+
576
+ test ('last day of year' , () {
577
+ final initial = DateTime (2022 , 5 , 20 );
578
+ final expected = DateTime (2022 , 12 , 31 );
579
+ expect (initial.lastDayOfYear, expected);
580
+ });
581
+ });
530
582
});
531
583
});
532
584
@@ -564,4 +616,4 @@ void main() {
564
616
expect (extraTime >= 0 , true );
565
617
});
566
618
});
567
- }
619
+ }
0 commit comments