@@ -36,54 +36,61 @@ public static function hashedExpressionProvider(): array
36
36
if (class_exists (Randomizer::class)) {
37
37
return [
38
38
['# * * * * ' , '30 * * * * ' ],
39
- ['# # * * * ' , '30 6 * * * ' ],
40
- ['# # # * * ' , '30 6 3 * * ' ],
41
- ['# # # # * ' , '30 6 3 7 * ' ],
42
- ['# # # # # ' , '30 6 3 7 2 ' ],
43
- ['# # 1,15 1-11 * ' , '30 6 1,15 1-11 * ' ],
44
- ['# # 1,15 * * ' , '30 6 1,15 * * ' ],
39
+ ['# # * * * ' , '30 0 * * * ' ],
40
+ ['# # # * * ' , '30 0 25 * * ' ],
41
+ ['# # # # * ' , '30 0 25 10 * ' ],
42
+ ['# # # # # ' , '30 0 25 10 5 ' ],
43
+ ['# # 1,15 1-11 * ' , '30 0 1,15 1-11 * ' ],
44
+ ['# # 1,15 * * ' , '30 0 1,15 * * ' ],
45
45
['#hourly ' , '30 * * * * ' ],
46
- ['#daily ' , '30 6 * * * ' ],
47
- ['#weekly ' , '30 6 * * 2 ' ],
48
- ['#weekly@midnight ' , '30 0 * * 2 ' ],
49
- ['#monthly ' , '30 6 3 * * ' ],
50
- ['#monthly@midnight ' , '30 0 3 * * ' ],
51
- ['#yearly ' , '30 6 3 7 * ' ],
52
- ['#yearly@midnight ' , '30 0 3 7 * ' ],
53
- ['#annually ' , '30 6 3 7 * ' ],
54
- ['#annually@midnight ' , '30 0 3 7 * ' ],
46
+ ['#daily ' , '30 0 * * * ' ],
47
+ ['#weekly ' , '30 0 * * 3 ' ],
48
+ ['#weekly@midnight ' , '30 0 * * 3 ' ],
49
+ ['#monthly ' , '30 0 25 * * ' ],
50
+ ['#monthly@midnight ' , '30 0 25 * * ' ],
51
+ ['#yearly ' , '30 0 25 10 * ' ],
52
+ ['#yearly@midnight ' , '30 0 25 10 * ' ],
53
+ ['#annually ' , '30 0 25 10 * ' ],
54
+ ['#annually@midnight ' , '30 0 25 10 * ' ],
55
55
['#midnight ' , '30 0 * * * ' ],
56
56
['#(1-15) * * * * ' , '1 * * * * ' ],
57
57
['#(1-15) * * * #(3-5) ' , '1 * * * 3 ' ],
58
- ['#(1-15) * # * #(3-5) ' , '1 * 3 * 3 ' ],
58
+ ['#(1-15) * # * #(3-5) ' , '1 * 17 * 5 ' ],
59
59
];
60
60
}
61
61
62
62
return [
63
- ['# * * * * ' , '56 * * * * ' ],
64
- ['# # * * * ' , '56 20 * * * ' ],
65
- ['# # # * * ' , '56 20 1 * * ' ],
66
- ['# # # # * ' , '56 20 1 9 * ' ],
67
- ['# # # # # ' , '56 20 1 9 0 ' ],
68
- ['# # 1,15 1-11 * ' , '56 20 1,15 1-11 * ' ],
69
- ['# # 1,15 * * ' , '56 20 1,15 * * ' ],
70
- ['#hourly ' , '56 * * * * ' ],
71
- ['#daily ' , '56 20 * * * ' ],
72
- ['#weekly ' , '56 20 * * 0 ' ],
73
- ['#weekly@midnight ' , '56 2 * * 0 ' ],
74
- ['#monthly ' , '56 20 1 * * ' ],
75
- ['#monthly@midnight ' , '56 2 1 * * ' ],
76
- ['#yearly ' , '56 20 1 9 * ' ],
77
- ['#yearly@midnight ' , '56 2 1 9 * ' ],
78
- ['#annually ' , '56 20 1 9 * ' ],
79
- ['#annually@midnight ' , '56 2 1 9 * ' ],
80
- ['#midnight ' , '56 2 * * * ' ],
81
- ['#(1-15) * * * * ' , '12 * * * * ' ],
82
- ['#(1-15) * * * #(3-5) ' , '12 * * * 5 ' ],
83
- ['#(1-15) * # * #(3-5) ' , '12 * 1 * 5 ' ],
63
+ ['# * * * * ' , '36 * * * * ' ],
64
+ ['# # * * * ' , '36 0 * * * ' ],
65
+ ['# # # * * ' , '36 0 14 * * ' ],
66
+ ['# # # # * ' , '36 0 14 3 * ' ],
67
+ ['# # # # # ' , '36 0 14 3 5 ' ],
68
+ ['# # 1,15 1-11 * ' , '36 0 1,15 1-11 * ' ],
69
+ ['# # 1,15 * * ' , '36 0 1,15 * * ' ],
70
+ ['#hourly ' , '36 * * * * ' ],
71
+ ['#daily ' , '36 0 * * * ' ],
72
+ ['#weekly ' , '36 0 * * 6 ' ],
73
+ ['#weekly@midnight ' , '36 0 * * 6 ' ],
74
+ ['#monthly ' , '36 0 14 * * ' ],
75
+ ['#monthly@midnight ' , '36 0 14 * * ' ],
76
+ ['#yearly ' , '36 0 14 3 * ' ],
77
+ ['#yearly@midnight ' , '36 0 14 3 * ' ],
78
+ ['#annually ' , '36 0 14 3 * ' ],
79
+ ['#annually@midnight ' , '36 0 14 3 * ' ],
80
+ ['#midnight ' , '36 0 * * * ' ],
81
+ ['#(1-15) * * * * ' , '7 * * * * ' ],
82
+ ['#(1-15) * * * #(3-5) ' , '7 * * * 3 ' ],
83
+ ['#(1-15) * # * #(3-5) ' , '7 * 1 * 5 ' ],
84
84
];
85
85
}
86
86
87
+ public function testHashFieldsAreRandomizedIndependently ()
88
+ {
89
+ $ parts = \explode (' ' , (string ) CronExpressionTrigger::fromSpec ('#(1-6) #(1-6) #(1-6) #(1-6) #(1-6) ' , 'some context ' ));
90
+
91
+ $ this ->assertNotCount (1 , array_unique ($ parts ));
92
+ }
93
+
87
94
public function testFromHashWithStandardExpression ()
88
95
{
89
96
$ this ->assertSame ('56 20 1 9 0 ' , (string ) CronExpressionTrigger::fromSpec ('56 20 1 9 0 ' , 'some context ' ));
0 commit comments