diff --git a/spring-context/src/test/java/org/springframework/scheduling/support/CronExpressionTests.java b/spring-context/src/test/java/org/springframework/scheduling/support/CronExpressionTests.java index b55c3b7fd0f..0e6fd690765 100644 --- a/spring-context/src/test/java/org/springframework/scheduling/support/CronExpressionTests.java +++ b/spring-context/src/test/java/org/springframework/scheduling/support/CronExpressionTests.java @@ -25,6 +25,7 @@ import java.time.ZonedDateTime; import org.junit.jupiter.api.Test; +import static java.time.DayOfWeek.FRIDAY; import static java.time.DayOfWeek.MONDAY; import static java.time.DayOfWeek.TUESDAY; import static java.time.DayOfWeek.WEDNESDAY; @@ -444,4 +445,21 @@ class CronExpressionTests { assertThat(actual.getDayOfWeek()).isEqualTo(WEDNESDAY); } + @Test + void friday13th() { + CronExpression expression = CronExpression.parse("0 0 0 13 * FRI"); + + LocalDateTime last = LocalDateTime.of(2018, 7, 31, 11, 47, 14); + LocalDateTime actual = expression.next(last); + assertThat(actual).isNotNull(); + assertThat(actual.getDayOfWeek()).isEqualTo(FRIDAY); + assertThat(actual.getDayOfMonth()).isEqualTo(13); + + last = actual; + actual = expression.next(last); + assertThat(actual).isNotNull(); + assertThat(actual.getDayOfWeek()).isEqualTo(FRIDAY); + assertThat(actual.getDayOfMonth()).isEqualTo(13); + } + }