@@ -417,6 +417,23 @@ TEST_CASE("next", "[std]")
417
417
check_next (" 0 30 23 30 1/3 ?" , " 2010-12-30 00:00:00" , " 2011-01-30 23:30:00" );
418
418
check_next (" 0 30 23 30 1/3 ?" , " 2011-01-30 23:30:00" , " 2011-04-30 23:30:00" );
419
419
check_next (" 0 30 23 30 1/3 ?" , " 2011-04-30 23:30:00" , " 2011-07-30 23:30:00" );
420
+
421
+ // Last day of month in and out of DST
422
+ check_next (" 0 25 23 31 12 ?" , " 2011-09-22 14:20:00" , " 2011-12-31 23:25:00" );
423
+ check_next (" 0 25 23 31 12 ?" , " 2011-12-31 23:30:00" , " 2012-12-31 23:25:00" );
424
+ check_next (" 0 25 23 30 11 ?" , " 2011-09-22 14:20:00" , " 2011-11-30 23:25:00" );
425
+ check_next (" 0 25 23 30 11 ?" , " 2011-10-22 14:20:00" , " 2011-11-30 23:25:00" );
426
+ check_next (" 0 25 23 30 11 ?" , " 2011-11-22 14:20:00" , " 2011-11-30 23:25:00" );
427
+ check_next (" 0 25 23 30 11 ?" , " 2011-12-22 14:20:00" , " 2012-11-30 23:25:00" );
428
+ check_next (" 0 25 23 31 10 ?" , " 2011-09-22 14:20:00" , " 2011-10-31 23:25:00" );
429
+ check_next (" 0 25 23 31 10 ?" , " 2011-10-22 14:20:00" , " 2011-10-31 23:25:00" );
430
+ check_next (" 0 25 23 31 10 ?" , " 2011-10-31 23:30:00" , " 2012-10-31 23:25:00" );
431
+ check_next (" 0 25 23 31 10 ?" , " 2011-11-22 14:20:00" , " 2012-10-31 23:25:00" );
432
+ check_next (" 0 25 23 31 8 ?" , " 2011-09-22 14:20:00" , " 2012-08-31 23:25:00" );
433
+ check_next (" 0 25 23 31 7 ?" , " 2011-09-22 14:20:00" , " 2012-07-31 23:25:00" );
434
+ check_next (" 0 25 23 30 6 ?" , " 2011-09-22 14:20:00" , " 2012-06-30 23:25:00" );
435
+ check_next (" 0 25 23 31 5 ?" , " 2011-09-22 14:20:00" , " 2012-05-31 23:25:00" );
436
+ check_next (" 0 25 23 30 4 ?" , " 2011-09-22 14:20:00" , " 2012-04-30 23:25:00" );
420
437
}
421
438
422
439
TEST_CASE (" cronexpr" , " [std]" )
0 commit comments