caldav: fix match on open time ranges
Matches on open time ranges (i.e. no end date) were not properly handled, as `end` is simply the zero time, which confuses the `.Before()` and `.After()` logic employed here. This commit fixes that by adding the appropriate `.IsZero()` checks and also adds a test case. The current behavior unfortunately broke compatibility with DAVx5, which by default queries only events less than 90 days ago (by using an open time range).
This commit is contained in:
committed by
Simon Ser
parent
ced348a58f
commit
5b5b542f2f
@@ -209,6 +209,23 @@ END:VCALENDAR`)
|
||||
addrs: []CalendarObject{event1, event2, event3, todo1},
|
||||
want: []CalendarObject{event2, event3},
|
||||
},
|
||||
{
|
||||
// https://datatracker.ietf.org/doc/html/rfc4791#section-7.8.1
|
||||
name: "events in open time range (no end date)",
|
||||
query: &CalendarQuery{
|
||||
CompFilter: CompFilter{
|
||||
Name: "VCALENDAR",
|
||||
Comps: []CompFilter{
|
||||
CompFilter{
|
||||
Name: "VEVENT",
|
||||
Start: toDate(t, "20060104T000000Z"),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
addrs: []CalendarObject{event1, event2, event3, todo1},
|
||||
want: []CalendarObject{event2, event3},
|
||||
},
|
||||
{
|
||||
// https://datatracker.ietf.org/doc/html/rfc4791#section-7.8.6
|
||||
name: "events by UID",
|
||||
|
Reference in New Issue
Block a user