]>
git.proxmox.com Git - pve-common.git/blob - test/calendar_event_test.pl
10 use PVE
::CalendarEvent
;
12 my $alldays = [0,1,2,3,4,5,6];
16 { h
=> '*', m
=> '*', dow
=> $alldays },
26 { h
=> '*', m
=> [0, 10, 20, 30, 40, 50], dow
=> $alldays },
36 { h
=> [0, 12], m
=> [0], dow
=> $alldays },
44 { h
=> [1, 13], m
=> [0, 15, 30, 45], dow
=> $alldays },
48 [3600+16*60, 3600+30*60 ],
49 [3600+30*60, 3600+45*60 ],
50 [3600+45*60, 3600+12*3600],
51 [13*3600 + 1, 13*3600+15*60],
52 [13*3600 + 15*60, 13*3600+30*60],
53 [13*3600 + 30*60, 13*3600+45*60],
54 [13*3600 + 45*60, 25*3600],
59 { h
=> '*', m
=> [1, 4, 6], dow
=> $alldays},
69 { h
=> '*', m
=> [ 0, 1, 2, 3 ], dow
=> $alldays },
73 { h
=> [ 23 ], m
=> [ 0, 1, 2, 3 ], dow
=> $alldays },
77 { h
=> [0], m
=> [0], dow
=> [1] },
79 [0, 4*86400], # Note: Epoch 0 is Thursday, 1. January 1970
86 { h
=> [0], m
=> [0], dow
=> [0, 6] },
95 { h
=> [0], m
=> [0], dow
=> $alldays },
99 { error
=> "wrong order in range 'Fri..Mon'" },
103 { h
=> [0], m
=> [0], dow
=> [ 1, 2, 3, 5] },
107 { h
=> '*', m
=> [0, 15, 30, 45], dow
=> [1]},
111 foreach my $test (@$tests) {
112 my ($t, $expect, $nextsync) = @$test;
115 eval { $timespec = PVE
::CalendarEvent
::parse_calendar_event
($t); };
118 if ($expect->{error
}) {
120 $timespec = { error
=> $err } if $err;
121 is_deeply
($timespec, $expect, "expect parse error on '$t' - $expect->{error}");
122 die "unable to execute nextsync tests" if $nextsync;
124 is_deeply
($timespec, $expect, "parse '$t'");
129 foreach my $nt (@$nextsync) {
130 my ($last, $expect_next) = @$nt;
132 my $msg = "next event '$t' $last => ${expect_next}";
133 my $next = PVE
::CalendarEvent
::compute_next_event
($timespec, $last, 1);
134 is($next, $expect_next, $msg);