diff --git a/radicale/tests/static/event7.ics b/radicale/tests/static/event7.ics
index f9f98cd1..8ae61143 100644
--- a/radicale/tests/static/event7.ics
+++ b/radicale/tests/static/event7.ics
@@ -20,12 +20,38 @@ END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:event7
+DTSTART;TZID=Europe/Paris:20170701T080000
+DTEND;TZID=Europe/Paris:20170701T090000
+CREATED:20170601T060000Z
+DTSTAMP:20170601T060000Z
+LAST-MODIFIED:20170601T060000Z
+RRULE:FREQ=DAILY
+SUMMARY:event7
+TRANSP:OPAQUE
+X-MOZ-GENERATION:1
+END:VEVENT
+BEGIN:VEVENT
+UID:event7
+RECURRENCE-ID;TZID=Europe/Paris:20170702T080000
+DTSTART;TZID=Europe/Paris:20170702T080000
+DTEND;TZID=Europe/Paris:20170702T080000
+CREATED:20170601T060000Z
+DTSTAMP:20170601T060000Z
+LAST-MODIFIED:20170601T060000Z
+SEQUENCE:1
+SUMMARY:event7
+TRANSP:OPAQUE
+X-MOZ-GENERATION:1
+END:VEVENT
+BEGIN:VEVENT
+UID:event7
+RECURRENCE-ID;TZID=Europe/Paris:20170703T080000
DTSTART;TZID=Europe/Paris:20170601T080000
DTEND;TZID=Europe/Paris:20170601T090000
CREATED:20170601T060000Z
DTSTAMP:20170601T060000Z
LAST-MODIFIED:20170601T060000Z
-RDATE;TZID=Europe/Paris:20170701T080000
+SEQUENCE:1
SUMMARY:event7
TRANSP:OPAQUE
X-MOZ-GENERATION:1
diff --git a/radicale/tests/static/event8.ics b/radicale/tests/static/event8.ics
new file mode 100644
index 00000000..39136e10
--- /dev/null
+++ b/radicale/tests/static/event8.ics
@@ -0,0 +1,33 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
+BEGIN:VTIMEZONE
+TZID:Europe/Paris
+BEGIN:STANDARD
+DTSTART:19701025T030000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:CET
+TZOFFSETFROM:+0200
+TZOFFSETTO:+0100
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:19700329T020000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
+TZNAME:CEST
+TZOFFSETFROM:+0100
+TZOFFSETTO:+0200
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:event8
+DTSTART;TZID=Europe/Paris:20170601T080000
+DTEND;TZID=Europe/Paris:20170601T090000
+CREATED:20170601T060000Z
+DTSTAMP:20170601T060000Z
+LAST-MODIFIED:20170601T060000Z
+RDATE;TZID=Europe/Paris:20170701T080000
+SUMMARY:event8
+TRANSP:OPAQUE
+X-MOZ-GENERATION:1
+END:VEVENT
+END:VCALENDAR
diff --git a/radicale/tests/test_base.py b/radicale/tests/test_base.py
index d9a5e260..a5031271 100644
--- a/radicale/tests/test_base.py
+++ b/radicale/tests/test_base.py
@@ -687,24 +687,35 @@ class BaseRequestsMixIn:
assert "href>/calendar.ics/event3.ics" not in answer
assert "href>/calendar.ics/event4.ics" not in answer
assert "href>/calendar.ics/event5.ics" not in answer
+ # HACK: VObject doesn't match RECURRENCE-ID to recurrences, the
+ # overwritten recurrence is still used for filtering.
+ answer = self._test_filter(["""
+
+
+
+
+ """], items=(6, 7, 8))
+ assert "href>/calendar.ics/event6.ics" in answer
+ assert "href>/calendar.ics/event7.ics" in answer
+ assert "href>/calendar.ics/event8.ics" in answer
answer = self._test_filter(["""
- """], items=(6, 7))
- # HACK: VObject doesn't match RECURRENCE-ID to recurrences, the
- # overwritten recurrence is still used for filtering.
+ """], items=(6, 7, 8))
assert "href>/calendar.ics/event6.ics" in answer
assert "href>/calendar.ics/event7.ics" in answer
+ assert "href>/calendar.ics/event8.ics" in answer
answer = self._test_filter(["""
- """], items=(6, 7))
+ """], items=(6, 7, 8))
assert "href>/calendar.ics/event6.ics" not in answer
- assert "href>/calendar.ics/event7.ics" not in answer
+ assert "href>/calendar.ics/event7.ics" in answer
+ assert "href>/calendar.ics/event8.ics" not in answer
def test_time_range_filter_events_rrule(self):
"""Report request with time-range filter on events with rrules."""