summaryrefslogtreecommitdiffstats
path: root/libkcal/tests/data/RecurrenceRule/LibICal
diff options
context:
space:
mode:
Diffstat (limited to 'libkcal/tests/data/RecurrenceRule/LibICal')
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics.next.ref9
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics.prev.ref9
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics.recurson.ref7
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics.next.ref10
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics.prev.ref10
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics.recurson.ref8
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics.next.ref502
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics.prev.ref15
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics.recurson.ref12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics.next.ref502
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics.prev.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics.recurson.ref10
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics.next.ref6
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics.prev.ref6
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics.recurson.ref4
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics.next.ref12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics.prev.ref12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics.recurson.ref10
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics.next.ref8
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics.prev.ref8
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics.recurson.ref6
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics.next.ref9
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics.prev.ref9
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics.recurson.ref7
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics.next.ref53
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics.prev.ref53
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics.recurson.ref51
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics.next.ref12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics.prev.ref12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics.recurson.ref10
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics.next.ref17
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics.prev.ref17
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics.recurson.ref15
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics.next.ref20
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics.prev.ref20
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics.recurson.ref18
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics.next.ref28
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics.prev.ref28
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics.recurson.ref26
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics.next.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics.prev.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics.recurson.ref9
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics.next.ref7
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics.prev.ref7
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics.recurson.ref5
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics.next.ref9
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics.prev.ref9
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics.recurson.ref7
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics.next.ref23
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics.prev.ref23
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics.recurson.ref21
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics.next.ref14
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics.prev.ref14
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics.recurson.ref12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics.next.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics.recurson.ref5
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics.next.ref6
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics.prev.ref6
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics.recurson.ref4
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics.next.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics.prev.ref13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics.recurson.ref11
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics.next.ref9
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics.prev.ref9
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics.recurson.ref2
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics.next.ref7
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics.prev.ref7
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics.recurson.ref2
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics.next.ref23
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics.prev.ref23
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics.recurson.ref2
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics.next.ref23
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics.prev.ref23
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics.recurson.ref2
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics.next.ref9
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics.prev.ref9
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics.recurson.ref7
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics12
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics.next.ref4
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics.prev.ref4
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics.recurson.ref2
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics13
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics.next.ref3
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics.prev.ref3
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics.recurson.ref1
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics15
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics.next.ref26
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics.prev.ref26
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics.recurson.ref24
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/readme.txt9
-rw-r--r--libkcal/tests/data/RecurrenceRule/LibICal/recur.ics.saved420
206 files changed, 3966 insertions, 0 deletions
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics
new file mode 100644
index 000000000..d0fa324f8
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics
@@ -0,0 +1,13 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+
+X-LibKCal-Testsuite-OutTZ:UTC
+BEGIN:VEVENT
+DESCRIPTION:Repeat every tuesday and wednesday starting Tue 2nd April 2002
+RRULE:FREQ=WEEKLY;INTERVAL=1;COUNT=6;BYDAY=TU,WE
+DTSTART:20020402T114500
+DTEND:20020402T124500
+X-EXPECT-NUMEVENTS: 6
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics.next.ref
new file mode 100644
index 000000000..6ce39a7df
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics.next.ref
@@ -0,0 +1,9 @@
+2002-04-02T11:45:00
+2002-04-03T11:45:00
+2002-04-09T11:45:00
+2002-04-10T11:45:00
+2002-04-16T11:45:00
+2002-04-17T11:45:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics.prev.ref
new file mode 100644
index 000000000..1f5f03e85
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics.prev.ref
@@ -0,0 +1,9 @@
+2002-04-17T11:45:00
+2002-04-16T11:45:00
+2002-04-10T11:45:00
+2002-04-09T11:45:00
+2002-04-03T11:45:00
+2002-04-02T11:45:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics.recurson.ref
new file mode 100644
index 000000000..9b26c166e
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase01.ics.recurson.ref
@@ -0,0 +1,7 @@
+2002-04-02
+2002-04-03
+2002-04-09
+2002-04-10
+2002-04-16
+2002-04-17
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics
new file mode 100644
index 000000000..746685770
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics
@@ -0,0 +1,13 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:UTC
+
+BEGIN:VEVENT
+DESCRIPTION:Repeat every thursday starting Tue 2nd April 2002
+RRULE:FREQ=WEEKLY;INTERVAL=1;COUNT=6;BYDAY=TH
+DTSTART:20020402T114500
+DTEND:20020402T124500
+X-EXPECT-NUMEVENTS: 6
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics.next.ref
new file mode 100644
index 000000000..3895ecca7
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics.next.ref
@@ -0,0 +1,10 @@
+2002-04-02T11:45:00
+2002-04-04T11:45:00
+2002-04-11T11:45:00
+2002-04-18T11:45:00
+2002-04-25T11:45:00
+2002-05-02T11:45:00
+2002-05-09T11:45:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics.prev.ref
new file mode 100644
index 000000000..603d04432
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics.prev.ref
@@ -0,0 +1,10 @@
+2002-05-09T11:45:00
+2002-05-02T11:45:00
+2002-04-25T11:45:00
+2002-04-18T11:45:00
+2002-04-11T11:45:00
+2002-04-04T11:45:00
+2002-04-02T11:45:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics.recurson.ref
new file mode 100644
index 000000000..eb9f81585
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase02.ics.recurson.ref
@@ -0,0 +1,8 @@
+2002-04-02
+2002-04-04
+2002-04-11
+2002-04-18
+2002-04-25
+2002-05-02
+2002-05-09
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics
new file mode 100644
index 000000000..59d50043f
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics
@@ -0,0 +1,13 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+
+X-LibKCal-Testsuite-OutTZ:UTC
+BEGIN:VEVENT
+DESCRIPTION:Every year on the same day\, forever
+RRULE:FREQ=YEARLY;INTERVAL=1
+DTSTART:19990201T172000
+DTEND:19990201T182000
+X-EXPECT-NUMEVENTS: 39
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics.next.ref
new file mode 100644
index 000000000..de2a9fa4a
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics.next.ref
@@ -0,0 +1,502 @@
+1999-02-01T17:20:00
+2000-02-01T17:20:00
+2001-02-01T17:20:00
+2002-02-01T17:20:00
+2003-02-01T17:20:00
+2004-02-01T17:20:00
+2005-02-01T17:20:00
+2006-02-01T17:20:00
+2007-02-01T17:20:00
+2008-02-01T17:20:00
+2009-02-01T17:20:00
+2010-02-01T17:20:00
+2011-02-01T17:20:00
+2012-02-01T17:20:00
+2013-02-01T17:20:00
+2014-02-01T17:20:00
+2015-02-01T17:20:00
+2016-02-01T17:20:00
+2017-02-01T17:20:00
+2018-02-01T17:20:00
+2019-02-01T17:20:00
+2020-02-01T17:20:00
+2021-02-01T17:20:00
+2022-02-01T17:20:00
+2023-02-01T17:20:00
+2024-02-01T17:20:00
+2025-02-01T17:20:00
+2026-02-01T17:20:00
+2027-02-01T17:20:00
+2028-02-01T17:20:00
+2029-02-01T17:20:00
+2030-02-01T17:20:00
+2031-02-01T17:20:00
+2032-02-01T17:20:00
+2033-02-01T17:20:00
+2034-02-01T17:20:00
+2035-02-01T17:20:00
+2036-02-01T17:20:00
+2037-02-01T17:20:00
+2038-02-01T17:20:00
+2039-02-01T17:20:00
+2040-02-01T17:20:00
+2041-02-01T17:20:00
+2042-02-01T17:20:00
+2043-02-01T17:20:00
+2044-02-01T17:20:00
+2045-02-01T17:20:00
+2046-02-01T17:20:00
+2047-02-01T17:20:00
+2048-02-01T17:20:00
+2049-02-01T17:20:00
+2050-02-01T17:20:00
+2051-02-01T17:20:00
+2052-02-01T17:20:00
+2053-02-01T17:20:00
+2054-02-01T17:20:00
+2055-02-01T17:20:00
+2056-02-01T17:20:00
+2057-02-01T17:20:00
+2058-02-01T17:20:00
+2059-02-01T17:20:00
+2060-02-01T17:20:00
+2061-02-01T17:20:00
+2062-02-01T17:20:00
+2063-02-01T17:20:00
+2064-02-01T17:20:00
+2065-02-01T17:20:00
+2066-02-01T17:20:00
+2067-02-01T17:20:00
+2068-02-01T17:20:00
+2069-02-01T17:20:00
+2070-02-01T17:20:00
+2071-02-01T17:20:00
+2072-02-01T17:20:00
+2073-02-01T17:20:00
+2074-02-01T17:20:00
+2075-02-01T17:20:00
+2076-02-01T17:20:00
+2077-02-01T17:20:00
+2078-02-01T17:20:00
+2079-02-01T17:20:00
+2080-02-01T17:20:00
+2081-02-01T17:20:00
+2082-02-01T17:20:00
+2083-02-01T17:20:00
+2084-02-01T17:20:00
+2085-02-01T17:20:00
+2086-02-01T17:20:00
+2087-02-01T17:20:00
+2088-02-01T17:20:00
+2089-02-01T17:20:00
+2090-02-01T17:20:00
+2091-02-01T17:20:00
+2092-02-01T17:20:00
+2093-02-01T17:20:00
+2094-02-01T17:20:00
+2095-02-01T17:20:00
+2096-02-01T17:20:00
+2097-02-01T17:20:00
+2098-02-01T17:20:00
+2099-02-01T17:20:00
+2100-02-01T17:20:00
+2101-02-01T17:20:00
+2102-02-01T17:20:00
+2103-02-01T17:20:00
+2104-02-01T17:20:00
+2105-02-01T17:20:00
+2106-02-01T17:20:00
+2107-02-01T17:20:00
+2108-02-01T17:20:00
+2109-02-01T17:20:00
+2110-02-01T17:20:00
+2111-02-01T17:20:00
+2112-02-01T17:20:00
+2113-02-01T17:20:00
+2114-02-01T17:20:00
+2115-02-01T17:20:00
+2116-02-01T17:20:00
+2117-02-01T17:20:00
+2118-02-01T17:20:00
+2119-02-01T17:20:00
+2120-02-01T17:20:00
+2121-02-01T17:20:00
+2122-02-01T17:20:00
+2123-02-01T17:20:00
+2124-02-01T17:20:00
+2125-02-01T17:20:00
+2126-02-01T17:20:00
+2127-02-01T17:20:00
+2128-02-01T17:20:00
+2129-02-01T17:20:00
+2130-02-01T17:20:00
+2131-02-01T17:20:00
+2132-02-01T17:20:00
+2133-02-01T17:20:00
+2134-02-01T17:20:00
+2135-02-01T17:20:00
+2136-02-01T17:20:00
+2137-02-01T17:20:00
+2138-02-01T17:20:00
+2139-02-01T17:20:00
+2140-02-01T17:20:00
+2141-02-01T17:20:00
+2142-02-01T17:20:00
+2143-02-01T17:20:00
+2144-02-01T17:20:00
+2145-02-01T17:20:00
+2146-02-01T17:20:00
+2147-02-01T17:20:00
+2148-02-01T17:20:00
+2149-02-01T17:20:00
+2150-02-01T17:20:00
+2151-02-01T17:20:00
+2152-02-01T17:20:00
+2153-02-01T17:20:00
+2154-02-01T17:20:00
+2155-02-01T17:20:00
+2156-02-01T17:20:00
+2157-02-01T17:20:00
+2158-02-01T17:20:00
+2159-02-01T17:20:00
+2160-02-01T17:20:00
+2161-02-01T17:20:00
+2162-02-01T17:20:00
+2163-02-01T17:20:00
+2164-02-01T17:20:00
+2165-02-01T17:20:00
+2166-02-01T17:20:00
+2167-02-01T17:20:00
+2168-02-01T17:20:00
+2169-02-01T17:20:00
+2170-02-01T17:20:00
+2171-02-01T17:20:00
+2172-02-01T17:20:00
+2173-02-01T17:20:00
+2174-02-01T17:20:00
+2175-02-01T17:20:00
+2176-02-01T17:20:00
+2177-02-01T17:20:00
+2178-02-01T17:20:00
+2179-02-01T17:20:00
+2180-02-01T17:20:00
+2181-02-01T17:20:00
+2182-02-01T17:20:00
+2183-02-01T17:20:00
+2184-02-01T17:20:00
+2185-02-01T17:20:00
+2186-02-01T17:20:00
+2187-02-01T17:20:00
+2188-02-01T17:20:00
+2189-02-01T17:20:00
+2190-02-01T17:20:00
+2191-02-01T17:20:00
+2192-02-01T17:20:00
+2193-02-01T17:20:00
+2194-02-01T17:20:00
+2195-02-01T17:20:00
+2196-02-01T17:20:00
+2197-02-01T17:20:00
+2198-02-01T17:20:00
+2199-02-01T17:20:00
+2200-02-01T17:20:00
+2201-02-01T17:20:00
+2202-02-01T17:20:00
+2203-02-01T17:20:00
+2204-02-01T17:20:00
+2205-02-01T17:20:00
+2206-02-01T17:20:00
+2207-02-01T17:20:00
+2208-02-01T17:20:00
+2209-02-01T17:20:00
+2210-02-01T17:20:00
+2211-02-01T17:20:00
+2212-02-01T17:20:00
+2213-02-01T17:20:00
+2214-02-01T17:20:00
+2215-02-01T17:20:00
+2216-02-01T17:20:00
+2217-02-01T17:20:00
+2218-02-01T17:20:00
+2219-02-01T17:20:00
+2220-02-01T17:20:00
+2221-02-01T17:20:00
+2222-02-01T17:20:00
+2223-02-01T17:20:00
+2224-02-01T17:20:00
+2225-02-01T17:20:00
+2226-02-01T17:20:00
+2227-02-01T17:20:00
+2228-02-01T17:20:00
+2229-02-01T17:20:00
+2230-02-01T17:20:00
+2231-02-01T17:20:00
+2232-02-01T17:20:00
+2233-02-01T17:20:00
+2234-02-01T17:20:00
+2235-02-01T17:20:00
+2236-02-01T17:20:00
+2237-02-01T17:20:00
+2238-02-01T17:20:00
+2239-02-01T17:20:00
+2240-02-01T17:20:00
+2241-02-01T17:20:00
+2242-02-01T17:20:00
+2243-02-01T17:20:00
+2244-02-01T17:20:00
+2245-02-01T17:20:00
+2246-02-01T17:20:00
+2247-02-01T17:20:00
+2248-02-01T17:20:00
+2249-02-01T17:20:00
+2250-02-01T17:20:00
+2251-02-01T17:20:00
+2252-02-01T17:20:00
+2253-02-01T17:20:00
+2254-02-01T17:20:00
+2255-02-01T17:20:00
+2256-02-01T17:20:00
+2257-02-01T17:20:00
+2258-02-01T17:20:00
+2259-02-01T17:20:00
+2260-02-01T17:20:00
+2261-02-01T17:20:00
+2262-02-01T17:20:00
+2263-02-01T17:20:00
+2264-02-01T17:20:00
+2265-02-01T17:20:00
+2266-02-01T17:20:00
+2267-02-01T17:20:00
+2268-02-01T17:20:00
+2269-02-01T17:20:00
+2270-02-01T17:20:00
+2271-02-01T17:20:00
+2272-02-01T17:20:00
+2273-02-01T17:20:00
+2274-02-01T17:20:00
+2275-02-01T17:20:00
+2276-02-01T17:20:00
+2277-02-01T17:20:00
+2278-02-01T17:20:00
+2279-02-01T17:20:00
+2280-02-01T17:20:00
+2281-02-01T17:20:00
+2282-02-01T17:20:00
+2283-02-01T17:20:00
+2284-02-01T17:20:00
+2285-02-01T17:20:00
+2286-02-01T17:20:00
+2287-02-01T17:20:00
+2288-02-01T17:20:00
+2289-02-01T17:20:00
+2290-02-01T17:20:00
+2291-02-01T17:20:00
+2292-02-01T17:20:00
+2293-02-01T17:20:00
+2294-02-01T17:20:00
+2295-02-01T17:20:00
+2296-02-01T17:20:00
+2297-02-01T17:20:00
+2298-02-01T17:20:00
+2299-02-01T17:20:00
+2300-02-01T17:20:00
+2301-02-01T17:20:00
+2302-02-01T17:20:00
+2303-02-01T17:20:00
+2304-02-01T17:20:00
+2305-02-01T17:20:00
+2306-02-01T17:20:00
+2307-02-01T17:20:00
+2308-02-01T17:20:00
+2309-02-01T17:20:00
+2310-02-01T17:20:00
+2311-02-01T17:20:00
+2312-02-01T17:20:00
+2313-02-01T17:20:00
+2314-02-01T17:20:00
+2315-02-01T17:20:00
+2316-02-01T17:20:00
+2317-02-01T17:20:00
+2318-02-01T17:20:00
+2319-02-01T17:20:00
+2320-02-01T17:20:00
+2321-02-01T17:20:00
+2322-02-01T17:20:00
+2323-02-01T17:20:00
+2324-02-01T17:20:00
+2325-02-01T17:20:00
+2326-02-01T17:20:00
+2327-02-01T17:20:00
+2328-02-01T17:20:00
+2329-02-01T17:20:00
+2330-02-01T17:20:00
+2331-02-01T17:20:00
+2332-02-01T17:20:00
+2333-02-01T17:20:00
+2334-02-01T17:20:00
+2335-02-01T17:20:00
+2336-02-01T17:20:00
+2337-02-01T17:20:00
+2338-02-01T17:20:00
+2339-02-01T17:20:00
+2340-02-01T17:20:00
+2341-02-01T17:20:00
+2342-02-01T17:20:00
+2343-02-01T17:20:00
+2344-02-01T17:20:00
+2345-02-01T17:20:00
+2346-02-01T17:20:00
+2347-02-01T17:20:00
+2348-02-01T17:20:00
+2349-02-01T17:20:00
+2350-02-01T17:20:00
+2351-02-01T17:20:00
+2352-02-01T17:20:00
+2353-02-01T17:20:00
+2354-02-01T17:20:00
+2355-02-01T17:20:00
+2356-02-01T17:20:00
+2357-02-01T17:20:00
+2358-02-01T17:20:00
+2359-02-01T17:20:00
+2360-02-01T17:20:00
+2361-02-01T17:20:00
+2362-02-01T17:20:00
+2363-02-01T17:20:00
+2364-02-01T17:20:00
+2365-02-01T17:20:00
+2366-02-01T17:20:00
+2367-02-01T17:20:00
+2368-02-01T17:20:00
+2369-02-01T17:20:00
+2370-02-01T17:20:00
+2371-02-01T17:20:00
+2372-02-01T17:20:00
+2373-02-01T17:20:00
+2374-02-01T17:20:00
+2375-02-01T17:20:00
+2376-02-01T17:20:00
+2377-02-01T17:20:00
+2378-02-01T17:20:00
+2379-02-01T17:20:00
+2380-02-01T17:20:00
+2381-02-01T17:20:00
+2382-02-01T17:20:00
+2383-02-01T17:20:00
+2384-02-01T17:20:00
+2385-02-01T17:20:00
+2386-02-01T17:20:00
+2387-02-01T17:20:00
+2388-02-01T17:20:00
+2389-02-01T17:20:00
+2390-02-01T17:20:00
+2391-02-01T17:20:00
+2392-02-01T17:20:00
+2393-02-01T17:20:00
+2394-02-01T17:20:00
+2395-02-01T17:20:00
+2396-02-01T17:20:00
+2397-02-01T17:20:00
+2398-02-01T17:20:00
+2399-02-01T17:20:00
+2400-02-01T17:20:00
+2401-02-01T17:20:00
+2402-02-01T17:20:00
+2403-02-01T17:20:00
+2404-02-01T17:20:00
+2405-02-01T17:20:00
+2406-02-01T17:20:00
+2407-02-01T17:20:00
+2408-02-01T17:20:00
+2409-02-01T17:20:00
+2410-02-01T17:20:00
+2411-02-01T17:20:00
+2412-02-01T17:20:00
+2413-02-01T17:20:00
+2414-02-01T17:20:00
+2415-02-01T17:20:00
+2416-02-01T17:20:00
+2417-02-01T17:20:00
+2418-02-01T17:20:00
+2419-02-01T17:20:00
+2420-02-01T17:20:00
+2421-02-01T17:20:00
+2422-02-01T17:20:00
+2423-02-01T17:20:00
+2424-02-01T17:20:00
+2425-02-01T17:20:00
+2426-02-01T17:20:00
+2427-02-01T17:20:00
+2428-02-01T17:20:00
+2429-02-01T17:20:00
+2430-02-01T17:20:00
+2431-02-01T17:20:00
+2432-02-01T17:20:00
+2433-02-01T17:20:00
+2434-02-01T17:20:00
+2435-02-01T17:20:00
+2436-02-01T17:20:00
+2437-02-01T17:20:00
+2438-02-01T17:20:00
+2439-02-01T17:20:00
+2440-02-01T17:20:00
+2441-02-01T17:20:00
+2442-02-01T17:20:00
+2443-02-01T17:20:00
+2444-02-01T17:20:00
+2445-02-01T17:20:00
+2446-02-01T17:20:00
+2447-02-01T17:20:00
+2448-02-01T17:20:00
+2449-02-01T17:20:00
+2450-02-01T17:20:00
+2451-02-01T17:20:00
+2452-02-01T17:20:00
+2453-02-01T17:20:00
+2454-02-01T17:20:00
+2455-02-01T17:20:00
+2456-02-01T17:20:00
+2457-02-01T17:20:00
+2458-02-01T17:20:00
+2459-02-01T17:20:00
+2460-02-01T17:20:00
+2461-02-01T17:20:00
+2462-02-01T17:20:00
+2463-02-01T17:20:00
+2464-02-01T17:20:00
+2465-02-01T17:20:00
+2466-02-01T17:20:00
+2467-02-01T17:20:00
+2468-02-01T17:20:00
+2469-02-01T17:20:00
+2470-02-01T17:20:00
+2471-02-01T17:20:00
+2472-02-01T17:20:00
+2473-02-01T17:20:00
+2474-02-01T17:20:00
+2475-02-01T17:20:00
+2476-02-01T17:20:00
+2477-02-01T17:20:00
+2478-02-01T17:20:00
+2479-02-01T17:20:00
+2480-02-01T17:20:00
+2481-02-01T17:20:00
+2482-02-01T17:20:00
+2483-02-01T17:20:00
+2484-02-01T17:20:00
+2485-02-01T17:20:00
+2486-02-01T17:20:00
+2487-02-01T17:20:00
+2488-02-01T17:20:00
+2489-02-01T17:20:00
+2490-02-01T17:20:00
+2491-02-01T17:20:00
+2492-02-01T17:20:00
+2493-02-01T17:20:00
+2494-02-01T17:20:00
+2495-02-01T17:20:00
+2496-02-01T17:20:00
+2497-02-01T17:20:00
+2498-02-01T17:20:00
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics.prev.ref
new file mode 100644
index 000000000..fa36e552d
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics.prev.ref
@@ -0,0 +1,15 @@
+2010-02-01T17:20:00
+2009-02-01T17:20:00
+2008-02-01T17:20:00
+2007-02-01T17:20:00
+2006-02-01T17:20:00
+2005-02-01T17:20:00
+2004-02-01T17:20:00
+2003-02-01T17:20:00
+2002-02-01T17:20:00
+2001-02-01T17:20:00
+2000-02-01T17:20:00
+1999-02-01T17:20:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics.recurson.ref
new file mode 100644
index 000000000..b683cd9da
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase03.ics.recurson.ref
@@ -0,0 +1,12 @@
+1999-02-01
+2000-02-01
+2001-02-01
+2002-02-01
+2003-02-01
+2004-02-01
+2005-02-01
+2006-02-01
+2007-02-01
+2008-02-01
+2009-02-01
+2010-02-01
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics
new file mode 100644
index 000000000..c69b7aaea
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics
@@ -0,0 +1,13 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Monday of week number 20 (where the default start of the week is Monday)\,
+ forever:
+DTSTART;TZID=America/Los_Angeles:19970512T090000
+RRULE:FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=MO;BYWEEKNO=20
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics.next.ref
new file mode 100644
index 000000000..39486f12a
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics.next.ref
@@ -0,0 +1,13 @@
+1997-05-12T09:00:00
+1998-05-11T09:00:00
+1999-05-17T09:00:00
+2000-05-15T09:00:00
+2001-05-14T09:00:00
+2002-05-13T09:00:00
+2003-05-12T09:00:00
+2004-05-10T09:00:00
+2005-05-16T09:00:00
+2006-05-15T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics.prev.ref
new file mode 100644
index 000000000..e8c7fd748
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics.prev.ref
@@ -0,0 +1,13 @@
+2006-05-15T09:00:00
+2005-05-16T09:00:00
+2004-05-10T09:00:00
+2003-05-12T09:00:00
+2002-05-13T09:00:00
+2001-05-14T09:00:00
+2000-05-15T09:00:00
+1999-05-17T09:00:00
+1998-05-11T09:00:00
+1997-05-12T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics.recurson.ref
new file mode 100644
index 000000000..3959a5094
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase04.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-05-12
+1998-05-11
+1999-05-17
+2000-05-15
+2001-05-14
+2002-05-13
+2003-05-12
+2004-05-10
+2005-05-16
+2006-05-15
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics
new file mode 100644
index 000000000..850c4a772
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION: Once a Year
+DTSTART;TZID=America/Los_Angeles:20010205T090000
+RRULE:FREQ=YEARLY;INTERVAL=1
+X-EXPECT-NUMEVENTS: 37
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics.next.ref
new file mode 100644
index 000000000..52a97be8c
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics.next.ref
@@ -0,0 +1,502 @@
+2001-02-05T09:00:00
+2002-02-05T09:00:00
+2003-02-05T09:00:00
+2004-02-05T09:00:00
+2005-02-05T09:00:00
+2006-02-05T09:00:00
+2007-02-05T09:00:00
+2008-02-05T09:00:00
+2009-02-05T09:00:00
+2010-02-05T09:00:00
+2011-02-05T09:00:00
+2012-02-05T09:00:00
+2013-02-05T09:00:00
+2014-02-05T09:00:00
+2015-02-05T09:00:00
+2016-02-05T09:00:00
+2017-02-05T09:00:00
+2018-02-05T09:00:00
+2019-02-05T09:00:00
+2020-02-05T09:00:00
+2021-02-05T09:00:00
+2022-02-05T09:00:00
+2023-02-05T09:00:00
+2024-02-05T09:00:00
+2025-02-05T09:00:00
+2026-02-05T09:00:00
+2027-02-05T09:00:00
+2028-02-05T09:00:00
+2029-02-05T09:00:00
+2030-02-05T09:00:00
+2031-02-05T09:00:00
+2032-02-05T09:00:00
+2033-02-05T09:00:00
+2034-02-05T09:00:00
+2035-02-05T09:00:00
+2036-02-05T09:00:00
+2037-02-05T09:00:00
+2038-02-05T09:00:00
+2039-02-05T09:00:00
+2040-02-05T09:00:00
+2041-02-05T09:00:00
+2042-02-05T09:00:00
+2043-02-05T09:00:00
+2044-02-05T09:00:00
+2045-02-05T09:00:00
+2046-02-05T09:00:00
+2047-02-05T09:00:00
+2048-02-05T09:00:00
+2049-02-05T09:00:00
+2050-02-05T09:00:00
+2051-02-05T09:00:00
+2052-02-05T09:00:00
+2053-02-05T09:00:00
+2054-02-05T09:00:00
+2055-02-05T09:00:00
+2056-02-05T09:00:00
+2057-02-05T09:00:00
+2058-02-05T09:00:00
+2059-02-05T09:00:00
+2060-02-05T09:00:00
+2061-02-05T09:00:00
+2062-02-05T09:00:00
+2063-02-05T09:00:00
+2064-02-05T09:00:00
+2065-02-05T09:00:00
+2066-02-05T09:00:00
+2067-02-05T09:00:00
+2068-02-05T09:00:00
+2069-02-05T09:00:00
+2070-02-05T09:00:00
+2071-02-05T09:00:00
+2072-02-05T09:00:00
+2073-02-05T09:00:00
+2074-02-05T09:00:00
+2075-02-05T09:00:00
+2076-02-05T09:00:00
+2077-02-05T09:00:00
+2078-02-05T09:00:00
+2079-02-05T09:00:00
+2080-02-05T09:00:00
+2081-02-05T09:00:00
+2082-02-05T09:00:00
+2083-02-05T09:00:00
+2084-02-05T09:00:00
+2085-02-05T09:00:00
+2086-02-05T09:00:00
+2087-02-05T09:00:00
+2088-02-05T09:00:00
+2089-02-05T09:00:00
+2090-02-05T09:00:00
+2091-02-05T09:00:00
+2092-02-05T09:00:00
+2093-02-05T09:00:00
+2094-02-05T09:00:00
+2095-02-05T09:00:00
+2096-02-05T09:00:00
+2097-02-05T09:00:00
+2098-02-05T09:00:00
+2099-02-05T09:00:00
+2100-02-05T09:00:00
+2101-02-05T09:00:00
+2102-02-05T09:00:00
+2103-02-05T09:00:00
+2104-02-05T09:00:00
+2105-02-05T09:00:00
+2106-02-05T09:00:00
+2107-02-05T09:00:00
+2108-02-05T09:00:00
+2109-02-05T09:00:00
+2110-02-05T09:00:00
+2111-02-05T09:00:00
+2112-02-05T09:00:00
+2113-02-05T09:00:00
+2114-02-05T09:00:00
+2115-02-05T09:00:00
+2116-02-05T09:00:00
+2117-02-05T09:00:00
+2118-02-05T09:00:00
+2119-02-05T09:00:00
+2120-02-05T09:00:00
+2121-02-05T09:00:00
+2122-02-05T09:00:00
+2123-02-05T09:00:00
+2124-02-05T09:00:00
+2125-02-05T09:00:00
+2126-02-05T09:00:00
+2127-02-05T09:00:00
+2128-02-05T09:00:00
+2129-02-05T09:00:00
+2130-02-05T09:00:00
+2131-02-05T09:00:00
+2132-02-05T09:00:00
+2133-02-05T09:00:00
+2134-02-05T09:00:00
+2135-02-05T09:00:00
+2136-02-05T09:00:00
+2137-02-05T09:00:00
+2138-02-05T09:00:00
+2139-02-05T09:00:00
+2140-02-05T09:00:00
+2141-02-05T09:00:00
+2142-02-05T09:00:00
+2143-02-05T09:00:00
+2144-02-05T09:00:00
+2145-02-05T09:00:00
+2146-02-05T09:00:00
+2147-02-05T09:00:00
+2148-02-05T09:00:00
+2149-02-05T09:00:00
+2150-02-05T09:00:00
+2151-02-05T09:00:00
+2152-02-05T09:00:00
+2153-02-05T09:00:00
+2154-02-05T09:00:00
+2155-02-05T09:00:00
+2156-02-05T09:00:00
+2157-02-05T09:00:00
+2158-02-05T09:00:00
+2159-02-05T09:00:00
+2160-02-05T09:00:00
+2161-02-05T09:00:00
+2162-02-05T09:00:00
+2163-02-05T09:00:00
+2164-02-05T09:00:00
+2165-02-05T09:00:00
+2166-02-05T09:00:00
+2167-02-05T09:00:00
+2168-02-05T09:00:00
+2169-02-05T09:00:00
+2170-02-05T09:00:00
+2171-02-05T09:00:00
+2172-02-05T09:00:00
+2173-02-05T09:00:00
+2174-02-05T09:00:00
+2175-02-05T09:00:00
+2176-02-05T09:00:00
+2177-02-05T09:00:00
+2178-02-05T09:00:00
+2179-02-05T09:00:00
+2180-02-05T09:00:00
+2181-02-05T09:00:00
+2182-02-05T09:00:00
+2183-02-05T09:00:00
+2184-02-05T09:00:00
+2185-02-05T09:00:00
+2186-02-05T09:00:00
+2187-02-05T09:00:00
+2188-02-05T09:00:00
+2189-02-05T09:00:00
+2190-02-05T09:00:00
+2191-02-05T09:00:00
+2192-02-05T09:00:00
+2193-02-05T09:00:00
+2194-02-05T09:00:00
+2195-02-05T09:00:00
+2196-02-05T09:00:00
+2197-02-05T09:00:00
+2198-02-05T09:00:00
+2199-02-05T09:00:00
+2200-02-05T09:00:00
+2201-02-05T09:00:00
+2202-02-05T09:00:00
+2203-02-05T09:00:00
+2204-02-05T09:00:00
+2205-02-05T09:00:00
+2206-02-05T09:00:00
+2207-02-05T09:00:00
+2208-02-05T09:00:00
+2209-02-05T09:00:00
+2210-02-05T09:00:00
+2211-02-05T09:00:00
+2212-02-05T09:00:00
+2213-02-05T09:00:00
+2214-02-05T09:00:00
+2215-02-05T09:00:00
+2216-02-05T09:00:00
+2217-02-05T09:00:00
+2218-02-05T09:00:00
+2219-02-05T09:00:00
+2220-02-05T09:00:00
+2221-02-05T09:00:00
+2222-02-05T09:00:00
+2223-02-05T09:00:00
+2224-02-05T09:00:00
+2225-02-05T09:00:00
+2226-02-05T09:00:00
+2227-02-05T09:00:00
+2228-02-05T09:00:00
+2229-02-05T09:00:00
+2230-02-05T09:00:00
+2231-02-05T09:00:00
+2232-02-05T09:00:00
+2233-02-05T09:00:00
+2234-02-05T09:00:00
+2235-02-05T09:00:00
+2236-02-05T09:00:00
+2237-02-05T09:00:00
+2238-02-05T09:00:00
+2239-02-05T09:00:00
+2240-02-05T09:00:00
+2241-02-05T09:00:00
+2242-02-05T09:00:00
+2243-02-05T09:00:00
+2244-02-05T09:00:00
+2245-02-05T09:00:00
+2246-02-05T09:00:00
+2247-02-05T09:00:00
+2248-02-05T09:00:00
+2249-02-05T09:00:00
+2250-02-05T09:00:00
+2251-02-05T09:00:00
+2252-02-05T09:00:00
+2253-02-05T09:00:00
+2254-02-05T09:00:00
+2255-02-05T09:00:00
+2256-02-05T09:00:00
+2257-02-05T09:00:00
+2258-02-05T09:00:00
+2259-02-05T09:00:00
+2260-02-05T09:00:00
+2261-02-05T09:00:00
+2262-02-05T09:00:00
+2263-02-05T09:00:00
+2264-02-05T09:00:00
+2265-02-05T09:00:00
+2266-02-05T09:00:00
+2267-02-05T09:00:00
+2268-02-05T09:00:00
+2269-02-05T09:00:00
+2270-02-05T09:00:00
+2271-02-05T09:00:00
+2272-02-05T09:00:00
+2273-02-05T09:00:00
+2274-02-05T09:00:00
+2275-02-05T09:00:00
+2276-02-05T09:00:00
+2277-02-05T09:00:00
+2278-02-05T09:00:00
+2279-02-05T09:00:00
+2280-02-05T09:00:00
+2281-02-05T09:00:00
+2282-02-05T09:00:00
+2283-02-05T09:00:00
+2284-02-05T09:00:00
+2285-02-05T09:00:00
+2286-02-05T09:00:00
+2287-02-05T09:00:00
+2288-02-05T09:00:00
+2289-02-05T09:00:00
+2290-02-05T09:00:00
+2291-02-05T09:00:00
+2292-02-05T09:00:00
+2293-02-05T09:00:00
+2294-02-05T09:00:00
+2295-02-05T09:00:00
+2296-02-05T09:00:00
+2297-02-05T09:00:00
+2298-02-05T09:00:00
+2299-02-05T09:00:00
+2300-02-05T09:00:00
+2301-02-05T09:00:00
+2302-02-05T09:00:00
+2303-02-05T09:00:00
+2304-02-05T09:00:00
+2305-02-05T09:00:00
+2306-02-05T09:00:00
+2307-02-05T09:00:00
+2308-02-05T09:00:00
+2309-02-05T09:00:00
+2310-02-05T09:00:00
+2311-02-05T09:00:00
+2312-02-05T09:00:00
+2313-02-05T09:00:00
+2314-02-05T09:00:00
+2315-02-05T09:00:00
+2316-02-05T09:00:00
+2317-02-05T09:00:00
+2318-02-05T09:00:00
+2319-02-05T09:00:00
+2320-02-05T09:00:00
+2321-02-05T09:00:00
+2322-02-05T09:00:00
+2323-02-05T09:00:00
+2324-02-05T09:00:00
+2325-02-05T09:00:00
+2326-02-05T09:00:00
+2327-02-05T09:00:00
+2328-02-05T09:00:00
+2329-02-05T09:00:00
+2330-02-05T09:00:00
+2331-02-05T09:00:00
+2332-02-05T09:00:00
+2333-02-05T09:00:00
+2334-02-05T09:00:00
+2335-02-05T09:00:00
+2336-02-05T09:00:00
+2337-02-05T09:00:00
+2338-02-05T09:00:00
+2339-02-05T09:00:00
+2340-02-05T09:00:00
+2341-02-05T09:00:00
+2342-02-05T09:00:00
+2343-02-05T09:00:00
+2344-02-05T09:00:00
+2345-02-05T09:00:00
+2346-02-05T09:00:00
+2347-02-05T09:00:00
+2348-02-05T09:00:00
+2349-02-05T09:00:00
+2350-02-05T09:00:00
+2351-02-05T09:00:00
+2352-02-05T09:00:00
+2353-02-05T09:00:00
+2354-02-05T09:00:00
+2355-02-05T09:00:00
+2356-02-05T09:00:00
+2357-02-05T09:00:00
+2358-02-05T09:00:00
+2359-02-05T09:00:00
+2360-02-05T09:00:00
+2361-02-05T09:00:00
+2362-02-05T09:00:00
+2363-02-05T09:00:00
+2364-02-05T09:00:00
+2365-02-05T09:00:00
+2366-02-05T09:00:00
+2367-02-05T09:00:00
+2368-02-05T09:00:00
+2369-02-05T09:00:00
+2370-02-05T09:00:00
+2371-02-05T09:00:00
+2372-02-05T09:00:00
+2373-02-05T09:00:00
+2374-02-05T09:00:00
+2375-02-05T09:00:00
+2376-02-05T09:00:00
+2377-02-05T09:00:00
+2378-02-05T09:00:00
+2379-02-05T09:00:00
+2380-02-05T09:00:00
+2381-02-05T09:00:00
+2382-02-05T09:00:00
+2383-02-05T09:00:00
+2384-02-05T09:00:00
+2385-02-05T09:00:00
+2386-02-05T09:00:00
+2387-02-05T09:00:00
+2388-02-05T09:00:00
+2389-02-05T09:00:00
+2390-02-05T09:00:00
+2391-02-05T09:00:00
+2392-02-05T09:00:00
+2393-02-05T09:00:00
+2394-02-05T09:00:00
+2395-02-05T09:00:00
+2396-02-05T09:00:00
+2397-02-05T09:00:00
+2398-02-05T09:00:00
+2399-02-05T09:00:00
+2400-02-05T09:00:00
+2401-02-05T09:00:00
+2402-02-05T09:00:00
+2403-02-05T09:00:00
+2404-02-05T09:00:00
+2405-02-05T09:00:00
+2406-02-05T09:00:00
+2407-02-05T09:00:00
+2408-02-05T09:00:00
+2409-02-05T09:00:00
+2410-02-05T09:00:00
+2411-02-05T09:00:00
+2412-02-05T09:00:00
+2413-02-05T09:00:00
+2414-02-05T09:00:00
+2415-02-05T09:00:00
+2416-02-05T09:00:00
+2417-02-05T09:00:00
+2418-02-05T09:00:00
+2419-02-05T09:00:00
+2420-02-05T09:00:00
+2421-02-05T09:00:00
+2422-02-05T09:00:00
+2423-02-05T09:00:00
+2424-02-05T09:00:00
+2425-02-05T09:00:00
+2426-02-05T09:00:00
+2427-02-05T09:00:00
+2428-02-05T09:00:00
+2429-02-05T09:00:00
+2430-02-05T09:00:00
+2431-02-05T09:00:00
+2432-02-05T09:00:00
+2433-02-05T09:00:00
+2434-02-05T09:00:00
+2435-02-05T09:00:00
+2436-02-05T09:00:00
+2437-02-05T09:00:00
+2438-02-05T09:00:00
+2439-02-05T09:00:00
+2440-02-05T09:00:00
+2441-02-05T09:00:00
+2442-02-05T09:00:00
+2443-02-05T09:00:00
+2444-02-05T09:00:00
+2445-02-05T09:00:00
+2446-02-05T09:00:00
+2447-02-05T09:00:00
+2448-02-05T09:00:00
+2449-02-05T09:00:00
+2450-02-05T09:00:00
+2451-02-05T09:00:00
+2452-02-05T09:00:00
+2453-02-05T09:00:00
+2454-02-05T09:00:00
+2455-02-05T09:00:00
+2456-02-05T09:00:00
+2457-02-05T09:00:00
+2458-02-05T09:00:00
+2459-02-05T09:00:00
+2460-02-05T09:00:00
+2461-02-05T09:00:00
+2462-02-05T09:00:00
+2463-02-05T09:00:00
+2464-02-05T09:00:00
+2465-02-05T09:00:00
+2466-02-05T09:00:00
+2467-02-05T09:00:00
+2468-02-05T09:00:00
+2469-02-05T09:00:00
+2470-02-05T09:00:00
+2471-02-05T09:00:00
+2472-02-05T09:00:00
+2473-02-05T09:00:00
+2474-02-05T09:00:00
+2475-02-05T09:00:00
+2476-02-05T09:00:00
+2477-02-05T09:00:00
+2478-02-05T09:00:00
+2479-02-05T09:00:00
+2480-02-05T09:00:00
+2481-02-05T09:00:00
+2482-02-05T09:00:00
+2483-02-05T09:00:00
+2484-02-05T09:00:00
+2485-02-05T09:00:00
+2486-02-05T09:00:00
+2487-02-05T09:00:00
+2488-02-05T09:00:00
+2489-02-05T09:00:00
+2490-02-05T09:00:00
+2491-02-05T09:00:00
+2492-02-05T09:00:00
+2493-02-05T09:00:00
+2494-02-05T09:00:00
+2495-02-05T09:00:00
+2496-02-05T09:00:00
+2497-02-05T09:00:00
+2498-02-05T09:00:00
+2499-02-05T09:00:00
+2500-02-05T09:00:00
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics.prev.ref
new file mode 100644
index 000000000..952419130
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics.prev.ref
@@ -0,0 +1,11 @@
+2010-02-05T09:00:00
+2009-02-05T09:00:00
+2008-02-05T09:00:00
+2007-02-05T09:00:00
+2006-02-05T09:00:00
+2005-02-05T09:00:00
+2004-02-05T09:00:00
+2003-02-05T09:00:00
+2002-02-05T09:00:00
+2001-02-05T09:00:00
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics.recurson.ref
new file mode 100644
index 000000000..11f304043
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase05.ics.recurson.ref
@@ -0,0 +1,10 @@
+2001-02-05
+2002-02-05
+2003-02-05
+2004-02-05
+2005-02-05
+2006-02-05
+2007-02-05
+2008-02-05
+2009-02-05
+2010-02-05
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics
new file mode 100644
index 000000000..74d37f60e
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics
@@ -0,0 +1,13 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Recur every sunday and tuesday
+RRULE:FREQ=WEEKLY;COUNT=10;INTERVAL=1;BYDAY=SU,TU
+DTSTART:20011216T192500
+DTEND:20011216T202500
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics.next.ref
new file mode 100644
index 000000000..0abed481e
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics.next.ref
@@ -0,0 +1,13 @@
+2001-12-16T19:25:00
+2001-12-18T19:25:00
+2001-12-23T19:25:00
+2001-12-25T19:25:00
+2001-12-30T19:25:00
+2002-01-01T19:25:00
+2002-01-06T19:25:00
+2002-01-08T19:25:00
+2002-01-13T19:25:00
+2002-01-15T19:25:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics.prev.ref
new file mode 100644
index 000000000..5caf88d3a
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics.prev.ref
@@ -0,0 +1,13 @@
+2002-01-15T19:25:00
+2002-01-13T19:25:00
+2002-01-08T19:25:00
+2002-01-06T19:25:00
+2002-01-01T19:25:00
+2001-12-30T19:25:00
+2001-12-25T19:25:00
+2001-12-23T19:25:00
+2001-12-18T19:25:00
+2001-12-16T19:25:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics.recurson.ref
new file mode 100644
index 000000000..93b20aca9
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase06.ics.recurson.ref
@@ -0,0 +1,11 @@
+2001-12-16
+2001-12-18
+2001-12-23
+2001-12-25
+2001-12-30
+2002-01-01
+2002-01-06
+2002-01-08
+2002-01-13
+2002-01-15
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics
new file mode 100644
index 000000000..15d93705b
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics
@@ -0,0 +1,13 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every first tuesday of the month
+RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=3;BYDAY=1TU
+DTSTART:20011204T153500
+DTEND:20011204T163500
+X-EXPECT-NUMEVENTS: 3
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics.next.ref
new file mode 100644
index 000000000..9a6556470
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics.next.ref
@@ -0,0 +1,6 @@
+2001-12-04T15:35:00
+2002-01-01T15:35:00
+2002-02-05T15:35:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics.prev.ref
new file mode 100644
index 000000000..ba0f10788
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics.prev.ref
@@ -0,0 +1,6 @@
+2002-02-05T15:35:00
+2002-01-01T15:35:00
+2001-12-04T15:35:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics.recurson.ref
new file mode 100644
index 000000000..c848b613e
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase07.ics.recurson.ref
@@ -0,0 +1,4 @@
+2001-12-04
+2002-01-01
+2002-02-05
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics
new file mode 100644
index 000000000..29022df9c
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Daily for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=DAILY;COUNT=10;INTERVAL=1
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics.next.ref
new file mode 100644
index 000000000..cc480a400
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-02T09:00:00
+1997-09-03T09:00:00
+1997-09-04T09:00:00
+1997-09-05T09:00:00
+1997-09-06T09:00:00
+1997-09-07T09:00:00
+1997-09-08T09:00:00
+1997-09-09T09:00:00
+1997-09-10T09:00:00
+1997-09-11T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics.prev.ref
new file mode 100644
index 000000000..1fbaacd52
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics.prev.ref
@@ -0,0 +1,13 @@
+1997-09-11T09:00:00
+1997-09-10T09:00:00
+1997-09-09T09:00:00
+1997-09-08T09:00:00
+1997-09-07T09:00:00
+1997-09-06T09:00:00
+1997-09-05T09:00:00
+1997-09-04T09:00:00
+1997-09-03T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics.recurson.ref
new file mode 100644
index 000000000..00bc34120
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase08.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-02
+1997-09-03
+1997-09-04
+1997-09-05
+1997-09-06
+1997-09-07
+1997-09-08
+1997-09-09
+1997-09-10
+1997-09-11
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics
new file mode 100644
index 000000000..a669a5717
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Daily until December 24\, 1997:
+DTSTART;TZID=America/Los_Angeles:19971215T090000
+RRULE:FREQ=DAILY;UNTIL=19971224T000000Z;INTERVAL=1
+X-EXPECT-NUMEVENTS: 9
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics.next.ref
new file mode 100644
index 000000000..1e488bbc8
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics.next.ref
@@ -0,0 +1,12 @@
+1997-12-15T09:00:00
+1997-12-16T09:00:00
+1997-12-17T09:00:00
+1997-12-18T09:00:00
+1997-12-19T09:00:00
+1997-12-20T09:00:00
+1997-12-21T09:00:00
+1997-12-22T09:00:00
+1997-12-23T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics.prev.ref
new file mode 100644
index 000000000..76491acb9
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics.prev.ref
@@ -0,0 +1,12 @@
+1997-12-23T09:00:00
+1997-12-22T09:00:00
+1997-12-21T09:00:00
+1997-12-20T09:00:00
+1997-12-19T09:00:00
+1997-12-18T09:00:00
+1997-12-17T09:00:00
+1997-12-16T09:00:00
+1997-12-15T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics.recurson.ref
new file mode 100644
index 000000000..cdb2ffa05
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase09.ics.recurson.ref
@@ -0,0 +1,10 @@
+1997-12-15
+1997-12-16
+1997-12-17
+1997-12-18
+1997-12-19
+1997-12-20
+1997-12-21
+1997-12-22
+1997-12-23
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics
new file mode 100644
index 000000000..9608e8f06
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every other day - 10 times:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=DAILY;COUNT=10;INTERVAL=2
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics.next.ref
new file mode 100644
index 000000000..00527f4b6
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-02T09:00:00
+1997-09-04T09:00:00
+1997-09-06T09:00:00
+1997-09-08T09:00:00
+1997-09-10T09:00:00
+1997-09-12T09:00:00
+1997-09-14T09:00:00
+1997-09-16T09:00:00
+1997-09-18T09:00:00
+1997-09-20T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics.prev.ref
new file mode 100644
index 000000000..6216cf400
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics.prev.ref
@@ -0,0 +1,13 @@
+1997-09-20T09:00:00
+1997-09-18T09:00:00
+1997-09-16T09:00:00
+1997-09-14T09:00:00
+1997-09-12T09:00:00
+1997-09-10T09:00:00
+1997-09-08T09:00:00
+1997-09-06T09:00:00
+1997-09-04T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics.recurson.ref
new file mode 100644
index 000000000..68e01d0db
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase10.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-02
+1997-09-04
+1997-09-06
+1997-09-08
+1997-09-10
+1997-09-12
+1997-09-14
+1997-09-16
+1997-09-18
+1997-09-20
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics
new file mode 100644
index 000000000..3f5ac89ee
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every 10 days\, 5 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=DAILY;COUNT=5;INTERVAL=10
+X-EXPECT-NUMEVENTS: 5
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics.next.ref
new file mode 100644
index 000000000..ad315e9fa
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics.next.ref
@@ -0,0 +1,8 @@
+1997-09-02T09:00:00
+1997-09-12T09:00:00
+1997-09-22T09:00:00
+1997-10-02T09:00:00
+1997-10-12T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics.prev.ref
new file mode 100644
index 000000000..6497bb66f
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics.prev.ref
@@ -0,0 +1,8 @@
+1997-10-12T09:00:00
+1997-10-02T09:00:00
+1997-09-22T09:00:00
+1997-09-12T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics.recurson.ref
new file mode 100644
index 000000000..89c9c411f
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase11.ics.recurson.ref
@@ -0,0 +1,6 @@
+1997-09-02
+1997-09-12
+1997-09-22
+1997-10-02
+1997-10-12
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics
new file mode 100644
index 000000000..29022df9c
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Daily for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=DAILY;COUNT=10;INTERVAL=1
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics.next.ref
new file mode 100644
index 000000000..cc480a400
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-02T09:00:00
+1997-09-03T09:00:00
+1997-09-04T09:00:00
+1997-09-05T09:00:00
+1997-09-06T09:00:00
+1997-09-07T09:00:00
+1997-09-08T09:00:00
+1997-09-09T09:00:00
+1997-09-10T09:00:00
+1997-09-11T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics.prev.ref
new file mode 100644
index 000000000..1fbaacd52
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics.prev.ref
@@ -0,0 +1,13 @@
+1997-09-11T09:00:00
+1997-09-10T09:00:00
+1997-09-09T09:00:00
+1997-09-08T09:00:00
+1997-09-07T09:00:00
+1997-09-06T09:00:00
+1997-09-05T09:00:00
+1997-09-04T09:00:00
+1997-09-03T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics.recurson.ref
new file mode 100644
index 000000000..00bc34120
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase12.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-02
+1997-09-03
+1997-09-04
+1997-09-05
+1997-09-06
+1997-09-07
+1997-09-08
+1997-09-09
+1997-09-10
+1997-09-11
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics
new file mode 100644
index 000000000..716cda660
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics
@@ -0,0 +1,13 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Repeat every tuesday and wednesday starting Tue 2nd April 2002
+RRULE:FREQ=WEEKLY;INTERVAL=1;COUNT=6;BYDAY=TU,WE
+DTSTART:20020402T114500
+DTEND:20020402T124500
+X-EXPECT-NUMEVENTS: 6
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics.next.ref
new file mode 100644
index 000000000..6ce39a7df
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics.next.ref
@@ -0,0 +1,9 @@
+2002-04-02T11:45:00
+2002-04-03T11:45:00
+2002-04-09T11:45:00
+2002-04-10T11:45:00
+2002-04-16T11:45:00
+2002-04-17T11:45:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics.prev.ref
new file mode 100644
index 000000000..1f5f03e85
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics.prev.ref
@@ -0,0 +1,9 @@
+2002-04-17T11:45:00
+2002-04-16T11:45:00
+2002-04-10T11:45:00
+2002-04-09T11:45:00
+2002-04-03T11:45:00
+2002-04-02T11:45:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics.recurson.ref
new file mode 100644
index 000000000..9b26c166e
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase15.ics.recurson.ref
@@ -0,0 +1,7 @@
+2002-04-02
+2002-04-03
+2002-04-09
+2002-04-10
+2002-04-16
+2002-04-17
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics
new file mode 100644
index 000000000..d0f0f8375
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:UTC
+
+BEGIN:VEVENT
+DESCRIPTION:Every Day start the first day in January\, except saturday and sunday. This should be up to March.
+RRULE:FREQ=DAILY;COUNT=50;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR
+DTSTART:20020101T090000Z
+X-EXPECT-NUMEVENTS: 50
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics.next.ref
new file mode 100644
index 000000000..88cfbc924
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics.next.ref
@@ -0,0 +1,53 @@
+2002-01-01T09:00:00
+2002-01-02T09:00:00
+2002-01-03T09:00:00
+2002-01-04T09:00:00
+2002-01-07T09:00:00
+2002-01-08T09:00:00
+2002-01-09T09:00:00
+2002-01-10T09:00:00
+2002-01-11T09:00:00
+2002-01-14T09:00:00
+2002-01-15T09:00:00
+2002-01-16T09:00:00
+2002-01-17T09:00:00
+2002-01-18T09:00:00
+2002-01-21T09:00:00
+2002-01-22T09:00:00
+2002-01-23T09:00:00
+2002-01-24T09:00:00
+2002-01-25T09:00:00
+2002-01-28T09:00:00
+2002-01-29T09:00:00
+2002-01-30T09:00:00
+2002-01-31T09:00:00
+2002-02-01T09:00:00
+2002-02-04T09:00:00
+2002-02-05T09:00:00
+2002-02-06T09:00:00
+2002-02-07T09:00:00
+2002-02-08T09:00:00
+2002-02-11T09:00:00
+2002-02-12T09:00:00
+2002-02-13T09:00:00
+2002-02-14T09:00:00
+2002-02-15T09:00:00
+2002-02-18T09:00:00
+2002-02-19T09:00:00
+2002-02-20T09:00:00
+2002-02-21T09:00:00
+2002-02-22T09:00:00
+2002-02-25T09:00:00
+2002-02-26T09:00:00
+2002-02-27T09:00:00
+2002-02-28T09:00:00
+2002-03-01T09:00:00
+2002-03-04T09:00:00
+2002-03-05T09:00:00
+2002-03-06T09:00:00
+2002-03-07T09:00:00
+2002-03-08T09:00:00
+2002-03-11T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics.prev.ref
new file mode 100644
index 000000000..dde6bbf55
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics.prev.ref
@@ -0,0 +1,53 @@
+2002-03-11T09:00:00
+2002-03-08T09:00:00
+2002-03-07T09:00:00
+2002-03-06T09:00:00
+2002-03-05T09:00:00
+2002-03-04T09:00:00
+2002-03-01T09:00:00
+2002-02-28T09:00:00
+2002-02-27T09:00:00
+2002-02-26T09:00:00
+2002-02-25T09:00:00
+2002-02-22T09:00:00
+2002-02-21T09:00:00
+2002-02-20T09:00:00
+2002-02-19T09:00:00
+2002-02-18T09:00:00
+2002-02-15T09:00:00
+2002-02-14T09:00:00
+2002-02-13T09:00:00
+2002-02-12T09:00:00
+2002-02-11T09:00:00
+2002-02-08T09:00:00
+2002-02-07T09:00:00
+2002-02-06T09:00:00
+2002-02-05T09:00:00
+2002-02-04T09:00:00
+2002-02-01T09:00:00
+2002-01-31T09:00:00
+2002-01-30T09:00:00
+2002-01-29T09:00:00
+2002-01-28T09:00:00
+2002-01-25T09:00:00
+2002-01-24T09:00:00
+2002-01-23T09:00:00
+2002-01-22T09:00:00
+2002-01-21T09:00:00
+2002-01-18T09:00:00
+2002-01-17T09:00:00
+2002-01-16T09:00:00
+2002-01-15T09:00:00
+2002-01-14T09:00:00
+2002-01-11T09:00:00
+2002-01-10T09:00:00
+2002-01-09T09:00:00
+2002-01-08T09:00:00
+2002-01-07T09:00:00
+2002-01-04T09:00:00
+2002-01-03T09:00:00
+2002-01-02T09:00:00
+2002-01-01T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics.recurson.ref
new file mode 100644
index 000000000..f4de1ebce
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase16.ics.recurson.ref
@@ -0,0 +1,51 @@
+2002-01-01
+2002-01-02
+2002-01-03
+2002-01-04
+2002-01-07
+2002-01-08
+2002-01-09
+2002-01-10
+2002-01-11
+2002-01-14
+2002-01-15
+2002-01-16
+2002-01-17
+2002-01-18
+2002-01-21
+2002-01-22
+2002-01-23
+2002-01-24
+2002-01-25
+2002-01-28
+2002-01-29
+2002-01-30
+2002-01-31
+2002-02-01
+2002-02-04
+2002-02-05
+2002-02-06
+2002-02-07
+2002-02-08
+2002-02-11
+2002-02-12
+2002-02-13
+2002-02-14
+2002-02-15
+2002-02-18
+2002-02-19
+2002-02-20
+2002-02-21
+2002-02-22
+2002-02-25
+2002-02-26
+2002-02-27
+2002-02-28
+2002-03-01
+2002-03-04
+2002-03-05
+2002-03-06
+2002-03-07
+2002-03-08
+2002-03-11
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics
new file mode 100644
index 000000000..7ff2fba06
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:UTC
+
+BEGIN:VEVENT
+DESCRIPTION:Every Day in January\, but only in Tuesday\, Wednesday and Thursday
+RRULE:FREQ=DAILY;UNTIL=20020120T090000Z;INTERVAL=1;BYDAY=TU,WE,TH
+DTSTART:20020101T090000Z
+X-EXPECT-NUMEVENTS: 9
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics.next.ref
new file mode 100644
index 000000000..9aa7d8923
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics.next.ref
@@ -0,0 +1,12 @@
+2002-01-01T09:00:00
+2002-01-02T09:00:00
+2002-01-03T09:00:00
+2002-01-08T09:00:00
+2002-01-09T09:00:00
+2002-01-10T09:00:00
+2002-01-15T09:00:00
+2002-01-16T09:00:00
+2002-01-17T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics.prev.ref
new file mode 100644
index 000000000..1e49f7b83
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics.prev.ref
@@ -0,0 +1,12 @@
+2002-01-17T09:00:00
+2002-01-16T09:00:00
+2002-01-15T09:00:00
+2002-01-10T09:00:00
+2002-01-09T09:00:00
+2002-01-08T09:00:00
+2002-01-03T09:00:00
+2002-01-02T09:00:00
+2002-01-01T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics.recurson.ref
new file mode 100644
index 000000000..b5d09027d
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase17.ics.recurson.ref
@@ -0,0 +1,10 @@
+2002-01-01
+2002-01-02
+2002-01-03
+2002-01-08
+2002-01-09
+2002-01-10
+2002-01-15
+2002-01-16
+2002-01-17
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics
new file mode 100644
index 000000000..0d31710ab
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:UTC
+
+BEGIN:VEVENT
+DESCRIPTION:Every Day in January\, except saturday and sunday. This is MS Outlook every weekday case.
+RRULE:FREQ=DAILY;UNTIL=20020120T090000Z;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR;WKST=SU
+DTSTART:20020101T090000Z
+X-EXPECT-NUMEVENTS: 14
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics.next.ref
new file mode 100644
index 000000000..b193d0780
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics.next.ref
@@ -0,0 +1,17 @@
+2002-01-01T09:00:00
+2002-01-02T09:00:00
+2002-01-03T09:00:00
+2002-01-04T09:00:00
+2002-01-07T09:00:00
+2002-01-08T09:00:00
+2002-01-09T09:00:00
+2002-01-10T09:00:00
+2002-01-11T09:00:00
+2002-01-14T09:00:00
+2002-01-15T09:00:00
+2002-01-16T09:00:00
+2002-01-17T09:00:00
+2002-01-18T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics.prev.ref
new file mode 100644
index 000000000..ae894c0fb
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics.prev.ref
@@ -0,0 +1,17 @@
+2002-01-18T09:00:00
+2002-01-17T09:00:00
+2002-01-16T09:00:00
+2002-01-15T09:00:00
+2002-01-14T09:00:00
+2002-01-11T09:00:00
+2002-01-10T09:00:00
+2002-01-09T09:00:00
+2002-01-08T09:00:00
+2002-01-07T09:00:00
+2002-01-04T09:00:00
+2002-01-03T09:00:00
+2002-01-02T09:00:00
+2002-01-01T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics.recurson.ref
new file mode 100644
index 000000000..c8c129eb4
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase18.ics.recurson.ref
@@ -0,0 +1,15 @@
+2002-01-01
+2002-01-02
+2002-01-03
+2002-01-04
+2002-01-07
+2002-01-08
+2002-01-09
+2002-01-10
+2002-01-11
+2002-01-14
+2002-01-15
+2002-01-16
+2002-01-17
+2002-01-18
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics
new file mode 100644
index 000000000..ca5b30dcb
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Weekly for 10 occurrences
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;COUNT=10;INTERVAL=1
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics.next.ref
new file mode 100644
index 000000000..8b7bad6e8
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-02T09:00:00
+1997-09-09T09:00:00
+1997-09-16T09:00:00
+1997-09-23T09:00:00
+1997-09-30T09:00:00
+1997-10-07T09:00:00
+1997-10-14T09:00:00
+1997-10-21T09:00:00
+1997-10-28T09:00:00
+1997-11-04T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics.prev.ref
new file mode 100644
index 000000000..d051f0b92
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics.prev.ref
@@ -0,0 +1,13 @@
+1997-11-04T09:00:00
+1997-10-28T09:00:00
+1997-10-21T09:00:00
+1997-10-14T09:00:00
+1997-10-07T09:00:00
+1997-09-30T09:00:00
+1997-09-23T09:00:00
+1997-09-16T09:00:00
+1997-09-09T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics.recurson.ref
new file mode 100644
index 000000000..c72358120
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase19.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-02
+1997-09-09
+1997-09-16
+1997-09-23
+1997-09-30
+1997-10-07
+1997-10-14
+1997-10-21
+1997-10-28
+1997-11-04
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics
new file mode 100644
index 000000000..542ea47cb
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Weekly until December 24\, 1997
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;UNTIL=19971224T000000Z;INTERVAL=1
+X-EXPECT-NUMEVENTS: 17
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics.next.ref
new file mode 100644
index 000000000..c206a9e21
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics.next.ref
@@ -0,0 +1,20 @@
+1997-09-02T09:00:00
+1997-09-09T09:00:00
+1997-09-16T09:00:00
+1997-09-23T09:00:00
+1997-09-30T09:00:00
+1997-10-07T09:00:00
+1997-10-14T09:00:00
+1997-10-21T09:00:00
+1997-10-28T09:00:00
+1997-11-04T09:00:00
+1997-11-11T09:00:00
+1997-11-18T09:00:00
+1997-11-25T09:00:00
+1997-12-02T09:00:00
+1997-12-09T09:00:00
+1997-12-16T09:00:00
+1997-12-23T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics.prev.ref
new file mode 100644
index 000000000..e65c19d31
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics.prev.ref
@@ -0,0 +1,20 @@
+1997-12-23T09:00:00
+1997-12-16T09:00:00
+1997-12-09T09:00:00
+1997-12-02T09:00:00
+1997-11-25T09:00:00
+1997-11-18T09:00:00
+1997-11-11T09:00:00
+1997-11-04T09:00:00
+1997-10-28T09:00:00
+1997-10-21T09:00:00
+1997-10-14T09:00:00
+1997-10-07T09:00:00
+1997-09-30T09:00:00
+1997-09-23T09:00:00
+1997-09-16T09:00:00
+1997-09-09T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics.recurson.ref
new file mode 100644
index 000000000..65a03b29e
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase20.ics.recurson.ref
@@ -0,0 +1,18 @@
+1997-09-02
+1997-09-09
+1997-09-16
+1997-09-23
+1997-09-30
+1997-10-07
+1997-10-14
+1997-10-21
+1997-10-28
+1997-11-04
+1997-11-11
+1997-11-18
+1997-11-25
+1997-12-02
+1997-12-09
+1997-12-16
+1997-12-23
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics
new file mode 100644
index 000000000..648360ecc
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every other week - 10 times:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=10
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics.next.ref
new file mode 100644
index 000000000..f8a9c5a8a
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-02T09:00:00
+1997-09-16T09:00:00
+1997-09-30T09:00:00
+1997-10-14T09:00:00
+1997-10-28T09:00:00
+1997-11-11T09:00:00
+1997-11-25T09:00:00
+1997-12-09T09:00:00
+1997-12-23T09:00:00
+1998-01-06T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics.prev.ref
new file mode 100644
index 000000000..459d9f810
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics.prev.ref
@@ -0,0 +1,13 @@
+1998-01-06T09:00:00
+1997-12-23T09:00:00
+1997-12-09T09:00:00
+1997-11-25T09:00:00
+1997-11-11T09:00:00
+1997-10-28T09:00:00
+1997-10-14T09:00:00
+1997-09-30T09:00:00
+1997-09-16T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics.recurson.ref
new file mode 100644
index 000000000..076499f6c
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase21.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-02
+1997-09-16
+1997-09-30
+1997-10-14
+1997-10-28
+1997-11-11
+1997-11-25
+1997-12-09
+1997-12-23
+1998-01-06
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics
new file mode 100644
index 000000000..e74e6c181
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Weekly on Tuesday and Thursday for 5 weeks:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;COUNT=10;INTERVAL=1;BYDAY=TU,TH
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics.next.ref
new file mode 100644
index 000000000..b05237db4
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-02T09:00:00
+1997-09-04T09:00:00
+1997-09-09T09:00:00
+1997-09-11T09:00:00
+1997-09-16T09:00:00
+1997-09-18T09:00:00
+1997-09-23T09:00:00
+1997-09-25T09:00:00
+1997-09-30T09:00:00
+1997-10-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics.prev.ref
new file mode 100644
index 000000000..f17f5b774
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics.prev.ref
@@ -0,0 +1,13 @@
+1997-10-02T09:00:00
+1997-09-30T09:00:00
+1997-09-25T09:00:00
+1997-09-23T09:00:00
+1997-09-18T09:00:00
+1997-09-16T09:00:00
+1997-09-11T09:00:00
+1997-09-09T09:00:00
+1997-09-04T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics.recurson.ref
new file mode 100644
index 000000000..bf2c06ab8
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase23.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-02
+1997-09-04
+1997-09-09
+1997-09-11
+1997-09-16
+1997-09-18
+1997-09-23
+1997-09-25
+1997-09-30
+1997-10-02
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics
new file mode 100644
index 000000000..8a2c5fdb7
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics
@@ -0,0 +1,13 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every other week on Monday\, Wednesday and Friday until December
+ 24\,1997\, but starting on Tuesday\, September 2\, 1997:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;BYDAY=MO,WE,FR;WKST=SU
+X-EXPECT-NUMEVENTS: 24
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics.next.ref
new file mode 100644
index 000000000..736e1ae9a
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics.next.ref
@@ -0,0 +1,28 @@
+1997-09-02T09:00:00
+1997-09-03T09:00:00
+1997-09-05T09:00:00
+1997-09-15T09:00:00
+1997-09-17T09:00:00
+1997-09-19T09:00:00
+1997-09-29T09:00:00
+1997-10-01T09:00:00
+1997-10-03T09:00:00
+1997-10-13T09:00:00
+1997-10-15T09:00:00
+1997-10-17T09:00:00
+1997-10-27T09:00:00
+1997-10-29T09:00:00
+1997-10-31T09:00:00
+1997-11-10T09:00:00
+1997-11-12T09:00:00
+1997-11-14T09:00:00
+1997-11-24T09:00:00
+1997-11-26T09:00:00
+1997-11-28T09:00:00
+1997-12-08T09:00:00
+1997-12-10T09:00:00
+1997-12-12T09:00:00
+1997-12-22T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics.prev.ref
new file mode 100644
index 000000000..47c0851c9
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics.prev.ref
@@ -0,0 +1,28 @@
+1997-12-22T09:00:00
+1997-12-12T09:00:00
+1997-12-10T09:00:00
+1997-12-08T09:00:00
+1997-11-28T09:00:00
+1997-11-26T09:00:00
+1997-11-24T09:00:00
+1997-11-14T09:00:00
+1997-11-12T09:00:00
+1997-11-10T09:00:00
+1997-10-31T09:00:00
+1997-10-29T09:00:00
+1997-10-27T09:00:00
+1997-10-17T09:00:00
+1997-10-15T09:00:00
+1997-10-13T09:00:00
+1997-10-03T09:00:00
+1997-10-01T09:00:00
+1997-09-29T09:00:00
+1997-09-19T09:00:00
+1997-09-17T09:00:00
+1997-09-15T09:00:00
+1997-09-05T09:00:00
+1997-09-03T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics.recurson.ref
new file mode 100644
index 000000000..7abf1e5ad
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase24.ics.recurson.ref
@@ -0,0 +1,26 @@
+1997-09-02
+1997-09-03
+1997-09-05
+1997-09-15
+1997-09-17
+1997-09-19
+1997-09-29
+1997-10-01
+1997-10-03
+1997-10-13
+1997-10-15
+1997-10-17
+1997-10-27
+1997-10-29
+1997-10-31
+1997-11-10
+1997-11-12
+1997-11-14
+1997-11-24
+1997-11-26
+1997-11-28
+1997-12-08
+1997-12-10
+1997-12-12
+1997-12-22
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics
new file mode 100644
index 000000000..d4c67618a
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every other week on Tuesday and Thursday\, for 8 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;COUNT=8;INTERVAL=2;BYDAY=TU,TH
+X-EXPECT-NUMEVENTS: 8
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics.next.ref
new file mode 100644
index 000000000..42606c542
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics.next.ref
@@ -0,0 +1,11 @@
+1997-09-02T09:00:00
+1997-09-04T09:00:00
+1997-09-16T09:00:00
+1997-09-18T09:00:00
+1997-09-30T09:00:00
+1997-10-02T09:00:00
+1997-10-14T09:00:00
+1997-10-16T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics.prev.ref
new file mode 100644
index 000000000..9d3e4cae8
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics.prev.ref
@@ -0,0 +1,11 @@
+1997-10-16T09:00:00
+1997-10-14T09:00:00
+1997-10-02T09:00:00
+1997-09-30T09:00:00
+1997-09-18T09:00:00
+1997-09-16T09:00:00
+1997-09-04T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics.recurson.ref
new file mode 100644
index 000000000..19dff602c
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase25.ics.recurson.ref
@@ -0,0 +1,9 @@
+1997-09-02
+1997-09-04
+1997-09-16
+1997-09-18
+1997-09-30
+1997-10-02
+1997-10-14
+1997-10-16
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics
new file mode 100644
index 000000000..0f0ce5da4
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Monthly every Friday for ten occurrences:
+DTSTART;TZID=America/Los_Angeles:19970905T090000
+RRULE:FREQ=MONTHLY;COUNT=10;INTERVAL=1;BYDAY=FR
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics.next.ref
new file mode 100644
index 000000000..0f474cf1d
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-05T09:00:00
+1997-09-12T09:00:00
+1997-09-19T09:00:00
+1997-09-26T09:00:00
+1997-10-03T09:00:00
+1997-10-10T09:00:00
+1997-10-17T09:00:00
+1997-10-24T09:00:00
+1997-10-31T09:00:00
+1997-11-07T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics.prev.ref
new file mode 100644
index 000000000..a2da07798
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics.prev.ref
@@ -0,0 +1,13 @@
+1997-11-07T09:00:00
+1997-10-31T09:00:00
+1997-10-24T09:00:00
+1997-10-17T09:00:00
+1997-10-10T09:00:00
+1997-10-03T09:00:00
+1997-09-26T09:00:00
+1997-09-19T09:00:00
+1997-09-12T09:00:00
+1997-09-05T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics.recurson.ref
new file mode 100644
index 000000000..9f4cd063c
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase26.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-05
+1997-09-12
+1997-09-19
+1997-09-26
+1997-10-03
+1997-10-10
+1997-10-17
+1997-10-24
+1997-10-31
+1997-11-07
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics
new file mode 100644
index 000000000..361e89efe
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Monthly on the 1st Friday until December 24\, 1997:
+DTSTART;TZID=America/Los_Angeles:19970905T090000
+RRULE:FREQ=MONTHLY;UNTIL=19971224T000000Z;INTERVAL=1;BYDAY=1FR
+X-EXPECT-NUMEVENTS: 4
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics.next.ref
new file mode 100644
index 000000000..68bd82693
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics.next.ref
@@ -0,0 +1,7 @@
+1997-09-05T09:00:00
+1997-10-03T09:00:00
+1997-11-07T09:00:00
+1997-12-05T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics.prev.ref
new file mode 100644
index 000000000..54e86e6c2
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics.prev.ref
@@ -0,0 +1,7 @@
+1997-12-05T09:00:00
+1997-11-07T09:00:00
+1997-10-03T09:00:00
+1997-09-05T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics.recurson.ref
new file mode 100644
index 000000000..e160f8dcd
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase27.ics.recurson.ref
@@ -0,0 +1,5 @@
+1997-09-05
+1997-10-03
+1997-11-07
+1997-12-05
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics
new file mode 100644
index 000000000..3ff4648c8
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every other month on the 1st and last Sunday of the month for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970907T090000
+RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics.next.ref
new file mode 100644
index 000000000..cc2f2f28f
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-07T09:00:00
+1997-09-28T09:00:00
+1997-11-02T09:00:00
+1997-11-30T09:00:00
+1998-01-04T09:00:00
+1998-01-25T09:00:00
+1998-03-01T09:00:00
+1998-03-29T09:00:00
+1998-05-03T09:00:00
+1998-05-31T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics.prev.ref
new file mode 100644
index 000000000..8b6705b6c
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics.prev.ref
@@ -0,0 +1,13 @@
+1998-05-31T09:00:00
+1998-05-03T09:00:00
+1998-03-29T09:00:00
+1998-03-01T09:00:00
+1998-01-25T09:00:00
+1998-01-04T09:00:00
+1997-11-30T09:00:00
+1997-11-02T09:00:00
+1997-09-28T09:00:00
+1997-09-07T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics.recurson.ref
new file mode 100644
index 000000000..419d31afe
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase28.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-07
+1997-09-28
+1997-11-02
+1997-11-30
+1998-01-04
+1998-01-25
+1998-03-01
+1998-03-29
+1998-05-03
+1998-05-31
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics
new file mode 100644
index 000000000..cb021940c
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Monthly on the second to last Monday of the month for 6 months:
+DTSTART;TZID=America/Los_Angeles:19970922T090000
+RRULE:FREQ=MONTHLY;COUNT=6;INTERVAL=1;BYDAY=-2MO
+X-EXPECT-NUMEVENTS: 6
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics.next.ref
new file mode 100644
index 000000000..843298e20
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics.next.ref
@@ -0,0 +1,9 @@
+1997-09-22T09:00:00
+1997-10-20T09:00:00
+1997-11-17T09:00:00
+1997-12-22T09:00:00
+1998-01-19T09:00:00
+1998-02-16T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics.prev.ref
new file mode 100644
index 000000000..e7e2624de
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics.prev.ref
@@ -0,0 +1,9 @@
+1998-02-16T09:00:00
+1998-01-19T09:00:00
+1997-12-22T09:00:00
+1997-11-17T09:00:00
+1997-10-20T09:00:00
+1997-09-22T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics.recurson.ref
new file mode 100644
index 000000000..dfbc45c39
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase29.ics.recurson.ref
@@ -0,0 +1,7 @@
+1997-09-22
+1997-10-20
+1997-11-17
+1997-12-22
+1998-01-19
+1998-02-16
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics
new file mode 100644
index 000000000..3546a99ed
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Monthly on the third to the last day of the month\, forever:
+DTSTART;TZID=America/Los_Angeles:19970928T090000
+RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYMONTHDAY=-3
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics.next.ref
new file mode 100644
index 000000000..168f7f5d9
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-28T09:00:00
+1997-10-29T09:00:00
+1997-11-28T09:00:00
+1997-12-29T09:00:00
+1998-01-29T09:00:00
+1998-02-26T09:00:00
+1998-03-29T09:00:00
+1998-04-28T09:00:00
+1998-05-29T09:00:00
+1998-06-28T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics.prev.ref
new file mode 100644
index 000000000..ebc777502
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics.prev.ref
@@ -0,0 +1,13 @@
+1998-06-28T09:00:00
+1998-05-29T09:00:00
+1998-04-28T09:00:00
+1998-03-29T09:00:00
+1998-02-26T09:00:00
+1998-01-29T09:00:00
+1997-12-29T09:00:00
+1997-11-28T09:00:00
+1997-10-29T09:00:00
+1997-09-28T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics.recurson.ref
new file mode 100644
index 000000000..039549ce9
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase30.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-28
+1997-10-29
+1997-11-28
+1997-12-29
+1998-01-29
+1998-02-26
+1998-03-29
+1998-04-28
+1998-05-29
+1998-06-28
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics
new file mode 100644
index 000000000..65d155639
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Monthly on the 2nd and 15th of the month for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=MONTHLY;COUNT=10;INTERVAL=1;BYMONTHDAY=2,15
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics.next.ref
new file mode 100644
index 000000000..fa3faf24c
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-02T09:00:00
+1997-09-15T09:00:00
+1997-10-02T09:00:00
+1997-10-15T09:00:00
+1997-11-02T09:00:00
+1997-11-15T09:00:00
+1997-12-02T09:00:00
+1997-12-15T09:00:00
+1998-01-02T09:00:00
+1998-01-15T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics.prev.ref
new file mode 100644
index 000000000..11eebe606
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics.prev.ref
@@ -0,0 +1,13 @@
+1998-01-15T09:00:00
+1998-01-02T09:00:00
+1997-12-15T09:00:00
+1997-12-02T09:00:00
+1997-11-15T09:00:00
+1997-11-02T09:00:00
+1997-10-15T09:00:00
+1997-10-02T09:00:00
+1997-09-15T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics.recurson.ref
new file mode 100644
index 000000000..7b72c389d
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase31.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-02
+1997-09-15
+1997-10-02
+1997-10-15
+1997-11-02
+1997-11-15
+1997-12-02
+1997-12-15
+1998-01-02
+1998-01-15
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics
new file mode 100644
index 000000000..4a2f29b0e
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Monthly on the first and last day of the month for 10 occurrences:\n
+DTSTART;TZID=America/Los_Angeles:19970930T090000
+RRULE:FREQ=MONTHLY;COUNT=10;INTERVAL=1;BYMONTHDAY=1,-1
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics.next.ref
new file mode 100644
index 000000000..2e015f621
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-30T09:00:00
+1997-10-01T09:00:00
+1997-10-31T09:00:00
+1997-11-01T09:00:00
+1997-11-30T09:00:00
+1997-12-01T09:00:00
+1997-12-31T09:00:00
+1998-01-01T09:00:00
+1998-01-31T09:00:00
+1998-02-01T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics.prev.ref
new file mode 100644
index 000000000..c44175749
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics.prev.ref
@@ -0,0 +1,13 @@
+1998-02-01T09:00:00
+1998-01-31T09:00:00
+1998-01-01T09:00:00
+1997-12-31T09:00:00
+1997-12-01T09:00:00
+1997-11-30T09:00:00
+1997-11-01T09:00:00
+1997-10-31T09:00:00
+1997-10-01T09:00:00
+1997-09-30T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics.recurson.ref
new file mode 100644
index 000000000..6601563b6
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase32.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-30
+1997-10-01
+1997-10-31
+1997-11-01
+1997-11-30
+1997-12-01
+1997-12-31
+1998-01-01
+1998-01-31
+1998-02-01
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics
new file mode 100644
index 000000000..56a233560
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every 18 months on the 10th thru 15th of the month for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970910T090000
+RRULE:FREQ=MONTHLY;COUNT=10;INTERVAL=18;BYMONTHDAY=10,11,12,13,14,15
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics.next.ref
new file mode 100644
index 000000000..c159266f2
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-10T09:00:00
+1997-09-11T09:00:00
+1997-09-12T09:00:00
+1997-09-13T09:00:00
+1997-09-14T09:00:00
+1997-09-15T09:00:00
+1999-03-10T09:00:00
+1999-03-11T09:00:00
+1999-03-12T09:00:00
+1999-03-13T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics.prev.ref
new file mode 100644
index 000000000..18cd2d7ce
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics.prev.ref
@@ -0,0 +1,13 @@
+1999-03-13T09:00:00
+1999-03-12T09:00:00
+1999-03-11T09:00:00
+1999-03-10T09:00:00
+1997-09-15T09:00:00
+1997-09-14T09:00:00
+1997-09-13T09:00:00
+1997-09-12T09:00:00
+1997-09-11T09:00:00
+1997-09-10T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics.recurson.ref
new file mode 100644
index 000000000..dcaea76d0
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase33.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-10
+1997-09-11
+1997-09-12
+1997-09-13
+1997-09-14
+1997-09-15
+1999-03-10
+1999-03-11
+1999-03-12
+1999-03-13
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics
new file mode 100644
index 000000000..96a161d7f
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every Tuesday\, every other month:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=TU
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics.next.ref
new file mode 100644
index 000000000..be5b65a26
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-02T09:00:00
+1997-09-09T09:00:00
+1997-09-16T09:00:00
+1997-09-23T09:00:00
+1997-09-30T09:00:00
+1997-11-04T09:00:00
+1997-11-11T09:00:00
+1997-11-18T09:00:00
+1997-11-25T09:00:00
+1998-01-06T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics.prev.ref
new file mode 100644
index 000000000..26ba33a11
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics.prev.ref
@@ -0,0 +1,13 @@
+1998-01-06T09:00:00
+1997-11-25T09:00:00
+1997-11-18T09:00:00
+1997-11-11T09:00:00
+1997-11-04T09:00:00
+1997-09-30T09:00:00
+1997-09-23T09:00:00
+1997-09-16T09:00:00
+1997-09-09T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics.recurson.ref
new file mode 100644
index 000000000..b99bbf20e
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase34.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-02
+1997-09-09
+1997-09-16
+1997-09-23
+1997-09-30
+1997-11-04
+1997-11-11
+1997-11-18
+1997-11-25
+1998-01-06
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics
new file mode 100644
index 000000000..7b6627e01
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Yearly in June and July for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970610T090000
+RRULE:FREQ=YEARLY;COUNT=10;INTERVAL=1;BYMONTH=6,7
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics.next.ref
new file mode 100644
index 000000000..50a1a8972
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics.next.ref
@@ -0,0 +1,13 @@
+1997-06-10T09:00:00
+1997-07-10T09:00:00
+1998-06-10T09:00:00
+1998-07-10T09:00:00
+1999-06-10T09:00:00
+1999-07-10T09:00:00
+2000-06-10T09:00:00
+2000-07-10T09:00:00
+2001-06-10T09:00:00
+2001-07-10T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics.prev.ref
new file mode 100644
index 000000000..9c56828a4
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics.prev.ref
@@ -0,0 +1,13 @@
+2001-07-10T09:00:00
+2001-06-10T09:00:00
+2000-07-10T09:00:00
+2000-06-10T09:00:00
+1999-07-10T09:00:00
+1999-06-10T09:00:00
+1998-07-10T09:00:00
+1998-06-10T09:00:00
+1997-07-10T09:00:00
+1997-06-10T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics.recurson.ref
new file mode 100644
index 000000000..d3ec1d311
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase35.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-06-10
+1997-07-10
+1998-06-10
+1998-07-10
+1999-06-10
+1999-07-10
+2000-06-10
+2000-07-10
+2001-06-10
+2001-07-10
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics
new file mode 100644
index 000000000..2d7b092d3
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every other year on January\, February\, and March for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970310T090000
+RRULE:FREQ=YEARLY;COUNT=10;INTERVAL=2;BYMONTH=1,2,3
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics.next.ref
new file mode 100644
index 000000000..8aef2a794
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics.next.ref
@@ -0,0 +1,13 @@
+1997-03-10T09:00:00
+1999-01-10T09:00:00
+1999-02-10T09:00:00
+1999-03-10T09:00:00
+2001-01-10T09:00:00
+2001-02-10T09:00:00
+2001-03-10T09:00:00
+2003-01-10T09:00:00
+2003-02-10T09:00:00
+2003-03-10T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics.prev.ref
new file mode 100644
index 000000000..dbb1522de
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics.prev.ref
@@ -0,0 +1,13 @@
+2003-03-10T09:00:00
+2003-02-10T09:00:00
+2003-01-10T09:00:00
+2001-03-10T09:00:00
+2001-02-10T09:00:00
+2001-01-10T09:00:00
+1999-03-10T09:00:00
+1999-02-10T09:00:00
+1999-01-10T09:00:00
+1997-03-10T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics.recurson.ref
new file mode 100644
index 000000000..da74b9309
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase36.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-03-10
+1999-01-10
+1999-02-10
+1999-03-10
+2001-01-10
+2001-02-10
+2001-03-10
+2003-01-10
+2003-02-10
+2003-03-10
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics
new file mode 100644
index 000000000..8b6de9b3f
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every 3rd year on the 1st\, 100th and 200th day for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970101T090000
+RRULE:FREQ=YEARLY;COUNT=10;INTERVAL=3;BYYEARDAY=1,100,200
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics.next.ref
new file mode 100644
index 000000000..127bd0874
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics.next.ref
@@ -0,0 +1,13 @@
+1997-01-01T09:00:00
+1997-04-10T09:00:00
+1997-07-19T09:00:00
+2000-01-01T09:00:00
+2000-04-09T09:00:00
+2000-07-18T09:00:00
+2003-01-01T09:00:00
+2003-04-10T09:00:00
+2003-07-19T09:00:00
+2006-01-01T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics.prev.ref
new file mode 100644
index 000000000..3aa770dd5
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics.prev.ref
@@ -0,0 +1,13 @@
+2006-01-01T09:00:00
+2003-07-19T09:00:00
+2003-04-10T09:00:00
+2003-01-01T09:00:00
+2000-07-18T09:00:00
+2000-04-09T09:00:00
+2000-01-01T09:00:00
+1997-07-19T09:00:00
+1997-04-10T09:00:00
+1997-01-01T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics.recurson.ref
new file mode 100644
index 000000000..a4826d50a
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase37.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-01-01
+1997-04-10
+1997-07-19
+2000-01-01
+2000-04-09
+2000-07-18
+2003-01-01
+2003-04-10
+2003-07-19
+2006-01-01
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics
new file mode 100644
index 000000000..443a8e15b
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every 20th Monday of the year\, forever:
+DTSTART;TZID=America/Los_Angeles:19970519T090000
+RRULE:FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=20MO
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics.next.ref
new file mode 100644
index 000000000..b6f28fbcb
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics.next.ref
@@ -0,0 +1,13 @@
+1997-05-19T09:00:00
+1998-05-18T09:00:00
+1999-05-17T09:00:00
+2000-05-15T09:00:00
+2001-05-14T09:00:00
+2002-05-20T09:00:00
+2003-05-19T09:00:00
+2004-05-17T09:00:00
+2005-05-16T09:00:00
+2006-05-15T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics.prev.ref
new file mode 100644
index 000000000..5d7fe8ee2
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics.prev.ref
@@ -0,0 +1,13 @@
+2006-05-15T09:00:00
+2005-05-16T09:00:00
+2004-05-17T09:00:00
+2003-05-19T09:00:00
+2002-05-20T09:00:00
+2001-05-14T09:00:00
+2000-05-15T09:00:00
+1999-05-17T09:00:00
+1998-05-18T09:00:00
+1997-05-19T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics.recurson.ref
new file mode 100644
index 000000000..f9fd18d43
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase38.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-05-19
+1998-05-18
+1999-05-17
+2000-05-15
+2001-05-14
+2002-05-20
+2003-05-19
+2004-05-17
+2005-05-16
+2006-05-15
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics
new file mode 100644
index 000000000..c69b7aaea
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics
@@ -0,0 +1,13 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Monday of week number 20 (where the default start of the week is Monday)\,
+ forever:
+DTSTART;TZID=America/Los_Angeles:19970512T090000
+RRULE:FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=MO;BYWEEKNO=20
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics.next.ref
new file mode 100644
index 000000000..39486f12a
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics.next.ref
@@ -0,0 +1,13 @@
+1997-05-12T09:00:00
+1998-05-11T09:00:00
+1999-05-17T09:00:00
+2000-05-15T09:00:00
+2001-05-14T09:00:00
+2002-05-13T09:00:00
+2003-05-12T09:00:00
+2004-05-10T09:00:00
+2005-05-16T09:00:00
+2006-05-15T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics.prev.ref
new file mode 100644
index 000000000..e8c7fd748
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics.prev.ref
@@ -0,0 +1,13 @@
+2006-05-15T09:00:00
+2005-05-16T09:00:00
+2004-05-10T09:00:00
+2003-05-12T09:00:00
+2002-05-13T09:00:00
+2001-05-14T09:00:00
+2000-05-15T09:00:00
+1999-05-17T09:00:00
+1998-05-11T09:00:00
+1997-05-12T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics.recurson.ref
new file mode 100644
index 000000000..3959a5094
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase39.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-05-12
+1998-05-11
+1999-05-17
+2000-05-15
+2001-05-14
+2002-05-13
+2003-05-12
+2004-05-10
+2005-05-16
+2006-05-15
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics
new file mode 100644
index 000000000..43e0058f5
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every Thursday in March\, 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970313T090000
+RRULE:FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=TH;BYMONTH=3
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics.next.ref
new file mode 100644
index 000000000..e4d1f7e61
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics.next.ref
@@ -0,0 +1,13 @@
+1997-03-13T09:00:00
+1997-03-20T09:00:00
+1997-03-27T09:00:00
+1998-03-05T09:00:00
+1998-03-12T09:00:00
+1998-03-19T09:00:00
+1998-03-26T09:00:00
+1999-03-04T09:00:00
+1999-03-11T09:00:00
+1999-03-18T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics.prev.ref
new file mode 100644
index 000000000..41f549bc0
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics.prev.ref
@@ -0,0 +1,13 @@
+1999-03-18T09:00:00
+1999-03-11T09:00:00
+1999-03-04T09:00:00
+1998-03-26T09:00:00
+1998-03-19T09:00:00
+1998-03-12T09:00:00
+1998-03-05T09:00:00
+1997-03-27T09:00:00
+1997-03-20T09:00:00
+1997-03-13T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics.recurson.ref
new file mode 100644
index 000000000..a39e96f6d
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase40.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-03-13
+1997-03-20
+1997-03-27
+1998-03-05
+1998-03-12
+1998-03-19
+1998-03-26
+1999-03-04
+1999-03-11
+1999-03-18
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics
new file mode 100644
index 000000000..642693a91
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every Thursday\, but only during June\, July\, and August\, forever:
+DTSTART;TZID=America/Los_Angeles:19970605T090000
+RRULE:FREQ=YEARLY;INTERVAL=1;COUNT=20;BYDAY=TH;BYMONTH=6,7,8
+X-EXPECT-NUMEVENTS: 20
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics.next.ref
new file mode 100644
index 000000000..c7f4824df
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics.next.ref
@@ -0,0 +1,23 @@
+1997-06-05T09:00:00
+1997-06-12T09:00:00
+1997-06-19T09:00:00
+1997-06-26T09:00:00
+1997-07-03T09:00:00
+1997-07-10T09:00:00
+1997-07-17T09:00:00
+1997-07-24T09:00:00
+1997-07-31T09:00:00
+1997-08-07T09:00:00
+1997-08-14T09:00:00
+1997-08-21T09:00:00
+1997-08-28T09:00:00
+1998-06-04T09:00:00
+1998-06-11T09:00:00
+1998-06-18T09:00:00
+1998-06-25T09:00:00
+1998-07-02T09:00:00
+1998-07-09T09:00:00
+1998-07-16T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics.prev.ref
new file mode 100644
index 000000000..eb23e73e8
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics.prev.ref
@@ -0,0 +1,23 @@
+1998-07-16T09:00:00
+1998-07-09T09:00:00
+1998-07-02T09:00:00
+1998-06-25T09:00:00
+1998-06-18T09:00:00
+1998-06-11T09:00:00
+1998-06-04T09:00:00
+1997-08-28T09:00:00
+1997-08-21T09:00:00
+1997-08-14T09:00:00
+1997-08-07T09:00:00
+1997-07-31T09:00:00
+1997-07-24T09:00:00
+1997-07-17T09:00:00
+1997-07-10T09:00:00
+1997-07-03T09:00:00
+1997-06-26T09:00:00
+1997-06-19T09:00:00
+1997-06-12T09:00:00
+1997-06-05T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics.recurson.ref
new file mode 100644
index 000000000..44f926a82
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase41.ics.recurson.ref
@@ -0,0 +1,21 @@
+1997-06-05
+1997-06-12
+1997-06-19
+1997-06-26
+1997-07-03
+1997-07-10
+1997-07-17
+1997-07-24
+1997-07-31
+1997-08-07
+1997-08-14
+1997-08-21
+1997-08-28
+1998-06-04
+1998-06-11
+1998-06-18
+1998-06-25
+1998-07-02
+1998-07-09
+1998-07-16
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics
new file mode 100644
index 000000000..eb04473be
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every Friday the 13th\, 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYDAY=FR;BYMONTHDAY=13
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics.next.ref
new file mode 100644
index 000000000..958a3dc2d
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics.next.ref
@@ -0,0 +1,14 @@
+1997-09-02T09:00:00
+1998-02-13T09:00:00
+1998-03-13T09:00:00
+1998-11-13T09:00:00
+1999-08-13T09:00:00
+2000-10-13T09:00:00
+2001-04-13T09:00:00
+2001-07-13T09:00:00
+2002-09-13T09:00:00
+2002-12-13T09:00:00
+2003-06-13T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics.prev.ref
new file mode 100644
index 000000000..1642c34bc
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics.prev.ref
@@ -0,0 +1,14 @@
+2003-06-13T09:00:00
+2002-12-13T09:00:00
+2002-09-13T09:00:00
+2001-07-13T09:00:00
+2001-04-13T09:00:00
+2000-10-13T09:00:00
+1999-08-13T09:00:00
+1998-11-13T09:00:00
+1998-03-13T09:00:00
+1998-02-13T09:00:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics.recurson.ref
new file mode 100644
index 000000000..887df0de5
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase42.ics.recurson.ref
@@ -0,0 +1,12 @@
+1997-09-02
+1998-02-13
+1998-03-13
+1998-11-13
+1999-08-13
+2000-10-13
+2001-04-13
+2001-07-13
+2002-09-13
+2002-12-13
+2003-06-13
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics
new file mode 100644
index 000000000..13c211239
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:The first Saturday that follows the first Sunday of the month\,
+DTSTART;TZID=America/Los_Angeles:19970913T090000
+RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics.next.ref
new file mode 100644
index 000000000..d3a057ec1
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics.next.ref
@@ -0,0 +1,13 @@
+1997-09-13T09:00:00
+1997-10-11T09:00:00
+1997-11-08T09:00:00
+1997-12-13T09:00:00
+1998-01-10T09:00:00
+1998-02-07T09:00:00
+1998-03-07T09:00:00
+1998-04-11T09:00:00
+1998-05-09T09:00:00
+1998-06-13T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics.prev.ref
new file mode 100644
index 000000000..8f1a210f7
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics.prev.ref
@@ -0,0 +1,13 @@
+1998-06-13T09:00:00
+1998-05-09T09:00:00
+1998-04-11T09:00:00
+1998-03-07T09:00:00
+1998-02-07T09:00:00
+1998-01-10T09:00:00
+1997-12-13T09:00:00
+1997-11-08T09:00:00
+1997-10-11T09:00:00
+1997-09-13T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics.recurson.ref
new file mode 100644
index 000000000..fa1acba74
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase43.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-13
+1997-10-11
+1997-11-08
+1997-12-13
+1998-01-10
+1998-02-07
+1998-03-07
+1998-04-11
+1998-05-09
+1998-06-13
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics
new file mode 100644
index 000000000..eea551407
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics
@@ -0,0 +1,13 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every four years\, the first Tuesday after a Monday in November\,
+ 10 times (U.S. Presidential Election day):
+DTSTART;TZID=America/Los_Angeles:19961105T090000
+RRULE:FREQ=YEARLY;INTERVAL=4;COUNT=10;BYDAY=TU;BYMONTHDAY=2,3,4,5,6,7,8;BYMONTH=11
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics.next.ref
new file mode 100644
index 000000000..8f3ca6724
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics.next.ref
@@ -0,0 +1,13 @@
+1996-11-05T09:00:00
+2000-11-07T09:00:00
+2004-11-02T09:00:00
+2008-11-04T09:00:00
+2012-11-06T09:00:00
+2016-11-08T09:00:00
+2020-11-03T09:00:00
+2024-11-05T09:00:00
+2028-11-07T09:00:00
+2032-11-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics.prev.ref
new file mode 100644
index 000000000..8d5466cc1
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics.prev.ref
@@ -0,0 +1,13 @@
+2032-11-02T09:00:00
+2028-11-07T09:00:00
+2024-11-05T09:00:00
+2020-11-03T09:00:00
+2016-11-08T09:00:00
+2012-11-06T09:00:00
+2008-11-04T09:00:00
+2004-11-02T09:00:00
+2000-11-07T09:00:00
+1996-11-05T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics.recurson.ref
new file mode 100644
index 000000000..a77c5088b
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase44.ics.recurson.ref
@@ -0,0 +1,5 @@
+1996-11-05
+2000-11-07
+2004-11-02
+2008-11-04
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics
new file mode 100644
index 000000000..e4fb0e65c
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics
@@ -0,0 +1,13 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:The 3rd instance into the month of one of Tuesday\, Wednesday or
+ Thursday\, for the next 3 months:
+DTSTART;TZID=America/Los_Angeles:19970904T090000
+RRULE:FREQ=MONTHLY;COUNT=3;INTERVAL=1;BYDAY=TU,WE,TH;BYSETPOS=3
+X-EXPECT-NUMEVENTS: 3
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics.next.ref
new file mode 100644
index 000000000..9831f70cc
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics.next.ref
@@ -0,0 +1,6 @@
+1997-09-04T09:00:00
+1997-10-07T09:00:00
+1997-11-06T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics.prev.ref
new file mode 100644
index 000000000..825e21fdc
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics.prev.ref
@@ -0,0 +1,6 @@
+1997-11-06T09:00:00
+1997-10-07T09:00:00
+1997-09-04T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics.recurson.ref
new file mode 100644
index 000000000..49d86222b
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase45.ics.recurson.ref
@@ -0,0 +1,4 @@
+1997-09-04
+1997-10-07
+1997-11-06
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics
new file mode 100644
index 000000000..b9314ed5c
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:The 2nd to last weekday of the month:
+DTSTART;TZID=America/Los_Angeles:19970929T090000
+RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics.next.ref
new file mode 100644
index 000000000..4424fdacc
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics.next.ref
@@ -0,0 +1,11 @@
+1997-09-29T09:00:00
+1997-10-30T09:00:00
+1997-11-27T09:00:00
+1997-12-30T09:00:00
+1998-01-29T09:00:00
+1998-02-26T09:00:00
+1998-03-30T09:00:00
+1998-04-29T09:00:00
+1998-05-28T09:00:00
+1998-06-29T09:00:00
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics.prev.ref
new file mode 100644
index 000000000..8019fb2f5
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics.prev.ref
@@ -0,0 +1,13 @@
+1998-06-29T09:00:00
+1998-05-28T09:00:00
+1998-04-29T09:00:00
+1998-03-30T09:00:00
+1998-02-26T09:00:00
+1998-01-29T09:00:00
+1997-12-30T09:00:00
+1997-11-27T09:00:00
+1997-10-30T09:00:00
+1997-09-29T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics.recurson.ref
new file mode 100644
index 000000000..5d2847ad2
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase46.ics.recurson.ref
@@ -0,0 +1,11 @@
+1997-09-29
+1997-10-30
+1997-11-27
+1997-12-30
+1998-01-29
+1998-02-26
+1998-03-30
+1998-04-29
+1998-05-28
+1998-06-29
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics
new file mode 100644
index 000000000..cd87e76a8
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every 15 minutes for 6 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=MINUTELY;COUNT=6;INTERVAL=15
+X-EXPECT-NUMEVENTS: 6
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics.next.ref
new file mode 100644
index 000000000..a16c74f8b
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics.next.ref
@@ -0,0 +1,9 @@
+1997-09-02T09:00:00
+1997-09-02T09:15:00
+1997-09-02T09:30:00
+1997-09-02T09:45:00
+1997-09-02T10:00:00
+1997-09-02T10:15:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics.prev.ref
new file mode 100644
index 000000000..75cd821e5
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics.prev.ref
@@ -0,0 +1,9 @@
+1997-09-02T10:15:00
+1997-09-02T10:00:00
+1997-09-02T09:45:00
+1997-09-02T09:30:00
+1997-09-02T09:15:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics.recurson.ref
new file mode 100644
index 000000000..6fca0d2fd
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase48.ics.recurson.ref
@@ -0,0 +1,2 @@
+1997-09-02
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics
new file mode 100644
index 000000000..7607a5cbe
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every hour and a half for 4 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=MINUTELY;COUNT=4;INTERVAL=90
+X-EXPECT-NUMEVENTS: 4
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics.next.ref
new file mode 100644
index 000000000..537b2b0db
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics.next.ref
@@ -0,0 +1,7 @@
+1997-09-02T09:00:00
+1997-09-02T10:30:00
+1997-09-02T12:00:00
+1997-09-02T13:30:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics.prev.ref
new file mode 100644
index 000000000..262f43d2c
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics.prev.ref
@@ -0,0 +1,7 @@
+1997-09-02T13:30:00
+1997-09-02T12:00:00
+1997-09-02T10:30:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics.recurson.ref
new file mode 100644
index 000000000..6fca0d2fd
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase49.ics.recurson.ref
@@ -0,0 +1,2 @@
+1997-09-02
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics
new file mode 100644
index 000000000..f201ff311
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every 20 minutes from 9:00 AM to 4:40 PM every day:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=DAILY;COUNT=20;INTERVAL=1;BYMINUTE=0,20,40;BYHOUR=9,10,11,12,13,14,15,16
+X-EXPECT-NUMEVENTS: 20
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics.next.ref
new file mode 100644
index 000000000..038d2d6aa
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics.next.ref
@@ -0,0 +1,23 @@
+1997-09-02T09:00:00
+1997-09-02T09:20:00
+1997-09-02T09:40:00
+1997-09-02T10:00:00
+1997-09-02T10:20:00
+1997-09-02T10:40:00
+1997-09-02T11:00:00
+1997-09-02T11:20:00
+1997-09-02T11:40:00
+1997-09-02T12:00:00
+1997-09-02T12:20:00
+1997-09-02T12:40:00
+1997-09-02T13:00:00
+1997-09-02T13:20:00
+1997-09-02T13:40:00
+1997-09-02T14:00:00
+1997-09-02T14:20:00
+1997-09-02T14:40:00
+1997-09-02T15:00:00
+1997-09-02T15:20:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics.prev.ref
new file mode 100644
index 000000000..bea2bbcd0
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics.prev.ref
@@ -0,0 +1,23 @@
+1997-09-02T15:20:00
+1997-09-02T15:00:00
+1997-09-02T14:40:00
+1997-09-02T14:20:00
+1997-09-02T14:00:00
+1997-09-02T13:40:00
+1997-09-02T13:20:00
+1997-09-02T13:00:00
+1997-09-02T12:40:00
+1997-09-02T12:20:00
+1997-09-02T12:00:00
+1997-09-02T11:40:00
+1997-09-02T11:20:00
+1997-09-02T11:00:00
+1997-09-02T10:40:00
+1997-09-02T10:20:00
+1997-09-02T10:00:00
+1997-09-02T09:40:00
+1997-09-02T09:20:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics.recurson.ref
new file mode 100644
index 000000000..6fca0d2fd
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase50.ics.recurson.ref
@@ -0,0 +1,2 @@
+1997-09-02
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics
new file mode 100644
index 000000000..80d74d4cb
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Every 20 minutes from 9:00 AM to 4:40 PM every day:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=MINUTELY;COUNT=20;INTERVAL=20;BYHOUR=9,10,11,12,13,14,15,16
+X-EXPECT-NUMEVENTS: 20
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics.next.ref
new file mode 100644
index 000000000..038d2d6aa
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics.next.ref
@@ -0,0 +1,23 @@
+1997-09-02T09:00:00
+1997-09-02T09:20:00
+1997-09-02T09:40:00
+1997-09-02T10:00:00
+1997-09-02T10:20:00
+1997-09-02T10:40:00
+1997-09-02T11:00:00
+1997-09-02T11:20:00
+1997-09-02T11:40:00
+1997-09-02T12:00:00
+1997-09-02T12:20:00
+1997-09-02T12:40:00
+1997-09-02T13:00:00
+1997-09-02T13:20:00
+1997-09-02T13:40:00
+1997-09-02T14:00:00
+1997-09-02T14:20:00
+1997-09-02T14:40:00
+1997-09-02T15:00:00
+1997-09-02T15:20:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics.prev.ref
new file mode 100644
index 000000000..bea2bbcd0
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics.prev.ref
@@ -0,0 +1,23 @@
+1997-09-02T15:20:00
+1997-09-02T15:00:00
+1997-09-02T14:40:00
+1997-09-02T14:20:00
+1997-09-02T14:00:00
+1997-09-02T13:40:00
+1997-09-02T13:20:00
+1997-09-02T13:00:00
+1997-09-02T12:40:00
+1997-09-02T12:20:00
+1997-09-02T12:00:00
+1997-09-02T11:40:00
+1997-09-02T11:20:00
+1997-09-02T11:00:00
+1997-09-02T10:40:00
+1997-09-02T10:20:00
+1997-09-02T10:00:00
+1997-09-02T09:40:00
+1997-09-02T09:20:00
+1997-09-02T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics.recurson.ref
new file mode 100644
index 000000000..6fca0d2fd
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase51.ics.recurson.ref
@@ -0,0 +1,2 @@
+1997-09-02
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics
new file mode 100644
index 000000000..2838ac2d2
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Repeat every tuesday and wednesday starting 2 April 2002
+RRULE:FREQ=WEEKLY;INTERVAL=1;COUNT=6;BYDAY=TU,WE
+DTSTART:20020402T114500
+X-EXPECT-NUMEVENTS: 6
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics.next.ref
new file mode 100644
index 000000000..6ce39a7df
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics.next.ref
@@ -0,0 +1,9 @@
+2002-04-02T11:45:00
+2002-04-03T11:45:00
+2002-04-09T11:45:00
+2002-04-10T11:45:00
+2002-04-16T11:45:00
+2002-04-17T11:45:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics.prev.ref
new file mode 100644
index 000000000..1f5f03e85
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics.prev.ref
@@ -0,0 +1,9 @@
+2002-04-17T11:45:00
+2002-04-16T11:45:00
+2002-04-10T11:45:00
+2002-04-09T11:45:00
+2002-04-03T11:45:00
+2002-04-02T11:45:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics.recurson.ref
new file mode 100644
index 000000000..9b26c166e
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase54.ics.recurson.ref
@@ -0,0 +1,7 @@
+2002-04-02
+2002-04-03
+2002-04-09
+2002-04-10
+2002-04-16
+2002-04-17
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics
new file mode 100644
index 000000000..361585bfd
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics
@@ -0,0 +1,12 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Use count=1 to repeat zero times.
+RRULE:FREQ=DAILY;COUNT=1
+DTSTART:20020402T114500
+X-EXPECT-NUMEVENTS: 1
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics.next.ref
new file mode 100644
index 000000000..5be77173a
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics.next.ref
@@ -0,0 +1,4 @@
+2002-04-02T11:45:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics.prev.ref
new file mode 100644
index 000000000..5be77173a
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics.prev.ref
@@ -0,0 +1,4 @@
+2002-04-02T11:45:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics.recurson.ref
new file mode 100644
index 000000000..beece3ac5
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase55.ics.recurson.ref
@@ -0,0 +1,2 @@
+2002-04-02
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics
new file mode 100644
index 000000000..26f264216
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics
@@ -0,0 +1,13 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:America/Los_Angeles
+
+BEGIN:VEVENT
+DESCRIPTION:Use EXDATE to eliminate the base event
+RRULE:FREQ=DAILY;COUNT=1
+DTSTART:20020402T114500Z
+EXDATE:20020402T114500Z
+X-EXPECT-NUMEVENTS: 0
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics.next.ref
new file mode 100644
index 000000000..b28b04f64
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics.next.ref
@@ -0,0 +1,3 @@
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics.prev.ref
new file mode 100644
index 000000000..b28b04f64
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics.prev.ref
@@ -0,0 +1,3 @@
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics.recurson.ref
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase56.ics.recurson.ref
@@ -0,0 +1 @@
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics
new file mode 100644
index 000000000..d3d9351cd
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics
@@ -0,0 +1,15 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//K Desktop Environment (KDE)//LibKCal test cases 1.0//EN
+X-LibKCal-Testsuite-OutTZ:UTC
+
+BEGIN:VEVENT
+DESCRIPTION:Every Day in January\, except saturday and sunday\, using 2 EXRULEs.
+RRULE:FREQ=DAILY;INTERVAL=1;UNTIL=20020201T000000Z
+EXRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20020201T000000Z;BYDAY=SU
+EXRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20020201T000000Z;BYDAY=SA
+DTSTART:20020101T090000Z
+DURATION:PT1H
+X-EXPECT-NUMEVENTS: 23
+END:VEVENT
+END:VCALENDAR
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics.next.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics.next.ref
new file mode 100644
index 000000000..698a56c89
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics.next.ref
@@ -0,0 +1,26 @@
+2002-01-01T09:00:00
+2002-01-02T09:00:00
+2002-01-03T09:00:00
+2002-01-04T09:00:00
+2002-01-07T09:00:00
+2002-01-08T09:00:00
+2002-01-09T09:00:00
+2002-01-10T09:00:00
+2002-01-11T09:00:00
+2002-01-14T09:00:00
+2002-01-15T09:00:00
+2002-01-16T09:00:00
+2002-01-17T09:00:00
+2002-01-18T09:00:00
+2002-01-21T09:00:00
+2002-01-22T09:00:00
+2002-01-23T09:00:00
+2002-01-24T09:00:00
+2002-01-25T09:00:00
+2002-01-28T09:00:00
+2002-01-29T09:00:00
+2002-01-30T09:00:00
+2002-01-31T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics.prev.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics.prev.ref
new file mode 100644
index 000000000..c234fb95f
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics.prev.ref
@@ -0,0 +1,26 @@
+2002-01-31T09:00:00
+2002-01-30T09:00:00
+2002-01-29T09:00:00
+2002-01-28T09:00:00
+2002-01-25T09:00:00
+2002-01-24T09:00:00
+2002-01-23T09:00:00
+2002-01-22T09:00:00
+2002-01-21T09:00:00
+2002-01-18T09:00:00
+2002-01-17T09:00:00
+2002-01-16T09:00:00
+2002-01-15T09:00:00
+2002-01-14T09:00:00
+2002-01-11T09:00:00
+2002-01-10T09:00:00
+2002-01-09T09:00:00
+2002-01-08T09:00:00
+2002-01-07T09:00:00
+2002-01-04T09:00:00
+2002-01-03T09:00:00
+2002-01-02T09:00:00
+2002-01-01T09:00:00
+
+
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics.recurson.ref b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics.recurson.ref
new file mode 100644
index 000000000..902180ecf
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/LibICal_TestCase57.ics.recurson.ref
@@ -0,0 +1,24 @@
+2002-01-01
+2002-01-02
+2002-01-03
+2002-01-04
+2002-01-07
+2002-01-08
+2002-01-09
+2002-01-10
+2002-01-11
+2002-01-14
+2002-01-15
+2002-01-16
+2002-01-17
+2002-01-18
+2002-01-21
+2002-01-22
+2002-01-23
+2002-01-24
+2002-01-25
+2002-01-28
+2002-01-29
+2002-01-30
+2002-01-31
+
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/readme.txt b/libkcal/tests/data/RecurrenceRule/LibICal/readme.txt
new file mode 100644
index 000000000..d18871988
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/readme.txt
@@ -0,0 +1,9 @@
+Some test files that were shipped with libical. They don't have have a
+specific purpose, but server as general tests.
+
+
+Several of the original test cases are moved to other directories of this test suite:
+LibICal_TestCase14.ics: UntilInUTC/Until_TestCase06.ics
+LibICal_TestCase13.ics: UntilInUTC/Until_TestCase05.ics
+LibICal_TestCase47.ics: UntilInUTC/Until_TestCase04.ics
+LibICal_TestCase22.ics: UntilInUTC/Until_TestCase03.ics
diff --git a/libkcal/tests/data/RecurrenceRule/LibICal/recur.ics.saved b/libkcal/tests/data/RecurrenceRule/LibICal/recur.ics.saved
new file mode 100644
index 000000000..723fb3bbb
--- /dev/null
+++ b/libkcal/tests/data/RecurrenceRule/LibICal/recur.ics.saved
@@ -0,0 +1,420 @@
+BEGIN:VEVENT
+DESCRIPTION:Repeat every tuesday and wednesday starting Tue 2nd April 2002
+RRULE:FREQ=WEEKLY;INTERVAL=1;COUNT=6;BYDAY=TU,WE
+DTSTART:20020402T114500
+DTEND:20020402T124500
+X-EXPECT-NUMEVENTS: 6
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Repeat every thursday starting Tue 2nd April 2002
+RRULE:FREQ=WEEKLY;INTERVAL=1;COUNT=6;BYDAY=TH
+DTSTART:20020402T114500
+DTEND:20020402T124500
+X-EXPECT-NUMEVENTS: 6
+END:VEVENT
+
+
+BEGIN:VEVENT
+DESCRIPTION:Every year on the same day\, forever
+RRULE:FREQ=YEARLY;INTERVAL=1
+DTSTART:19990201T172000
+DTEND:19990201T182000
+X-EXPECT-NUMEVENTS: 39
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Monday of week number 20 (where the default start of the week is Monday)\,
+ forever:
+DTSTART;TZID=America/Los_Angeles:19970512T090000
+RRULE:FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=MO;BYWEEKNO=20
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+
+BEGIN:VEVENT
+DESCRIPTION: Once a Year
+DTSTART;TZID=America/Los_Angeles:20010205T090000
+RRULE:FREQ=YEARLY;INTERVAL=1
+X-EXPECT-NUMEVENTS: 37
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Recur every sunday and tuesday
+RRULE:FREQ=WEEKLY;COUNT=10;INTERVAL=1;BYDAY=SU,TU
+DTSTART:20011216T192500
+DTEND:20011216T202500
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every first tuesday of the month
+RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=3;BYDAY=1TU
+DTSTART:20011204T153500
+DTEND:20011204T163500
+X-EXPECT-NUMEVENTS: 3
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Daily for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=DAILY;COUNT=10;INTERVAL=1
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Daily until December 24\, 1997:
+DTSTART;TZID=America/Los_Angeles:19971215T090000
+RRULE:FREQ=DAILY;UNTIL=19971224T000000Z;INTERVAL=1
+X-EXPECT-NUMEVENTS: 9
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every other day - forever:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=DAILY;COUNT=10;INTERVAL=2
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every 10 days\, 5 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=DAILY;COUNT=5;INTERVAL=10
+X-EXPECT-NUMEVENTS: 5
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Daily for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=DAILY;COUNT=10;INTERVAL=1
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every day in January\, for 3 years
+DTSTART;TZID=America/Los_Angeles:19980101T090000
+RRULE:FREQ=YEARLY;UNTIL=20000131T090000Z;INTERVAL=1;BYDAY=SU,MO,TU,WE,TH,FR,SA;BYMONTH=1
+X-EXPECT-NUMEVENTS: 93
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Everyday in January\, for 3 years:
+DTSTART;TZID=America/Los_Angeles:19980101T090000
+RRULE:FREQ=DAILY;UNTIL=20000131T090000Z;INTERVAL=1;BYMONTH=1
+X-EXPECT-NUMEVENTS: 93
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Repeat every tuesday and wednesday starting Tue 2nd April 2002
+RRULE:FREQ=WEEKLY;INTERVAL=1;COUNT=6;BYDAY=TU,WE
+DTSTART:20020402T114500
+DTEND:20020402T124500
+X-EXPECT-NUMEVENTS: 6
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every Day start the first day in January\, except saturday and sunday. This should be up to March.
+RRULE:FREQ=DAILY;COUNT=50;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR
+DTSTART:20020101T090000Z
+X-EXPECT-NUMEVENTS: 50
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every Day in January\, but only in Tuesday\, Wednesday and Thursday
+RRULE:FREQ=DAILY;UNTIL=20020120T090000Z;INTERVAL=1;BYDAY=TU,WE,TH
+DTSTART:20020101T090000Z
+X-EXPECT-NUMEVENTS: 9
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every Day in January\, except saturday and sunday. This is MS Outlook every weekday case.
+RRULE:FREQ=DAILY;UNTIL=20020120T090000Z;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR;WKST=SU
+DTSTART:20020101T090000Z
+X-EXPECT-NUMEVENTS: 14
+END:VEVENT
+
+
+BEGIN:VEVENT
+DESCRIPTION:Weekly for 10 occurrences
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;COUNT=10;INTERVAL=1
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Weekly until December 24\, 1997
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;UNTIL=19971224T000000Z;INTERVAL=1
+X-EXPECT-NUMEVENTS: 17
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every other week - 10 times:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;INTERVAL=2;COUNT=10
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Weekly on Tuesday and Thursday for 5 weeks:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;UNTIL=19971007T000000Z;INTERVAL=1;BYDAY=TU,TH
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Weekly on Tuesday and Thursday for 5 weeks:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;COUNT=10;INTERVAL=1;BYDAY=TU,TH
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every other week on Monday\, Wednesday and Friday until December
+ 24\,1997\, but starting on Tuesday\, September 2\, 1997:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;BYDAY=MO,WE,FR;WKST=SU
+X-EXPECT-NUMEVENTS: 24
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every other week on Tuesday and Thursday\, for 8 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=WEEKLY;COUNT=8;INTERVAL=2;BYDAY=TU,TH
+X-EXPECT-NUMEVENTS: 8
+END:VEVENT
+
+
+BEGIN:VEVENT
+DESCRIPTION:Monthly on the 1st Friday for ten occurrences:
+DTSTART;TZID=America/Los_Angeles:19970905T090000
+RRULE:FREQ=MONTHLY;COUNT=10;INTERVAL=1;BYDAY=FR
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Monthly on the 1st Friday until December 24\, 1997:
+DTSTART;TZID=America/Los_Angeles:19970905T090000
+RRULE:FREQ=MONTHLY;UNTIL=19971224T000000Z;INTERVAL=1;BYDAY=1FR
+X-EXPECT-NUMEVENTS: 4
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every other month on the 1st and last Sunday of the month for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970907T090000
+RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Monthly on the second to last Monday of the month for 6 months:
+DTSTART;TZID=America/Los_Angeles:19970922T090000
+RRULE:FREQ=MONTHLY;COUNT=6;INTERVAL=1;BYDAY=-2MO
+X-EXPECT-NUMEVENTS: 6
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Monthly on the third to the last day of the month\, forever:
+DTSTART;TZID=America/Los_Angeles:19970928T090000
+RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYMONTHDAY=-3
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Monthly on the 2nd and 15th of the month for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=MONTHLY;COUNT=10;INTERVAL=1;BYMONTHDAY=2,15
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Monthly on the first and last day of the month for 10 occurrences:\n
+DTSTART;TZID=America/Los_Angeles:19970930T090000
+RRULE:FREQ=MONTHLY;COUNT=10;INTERVAL=1;BYMONTHDAY=1,-1
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every 18 months on the 10th thru 15th of the month for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970910T090000
+RRULE:FREQ=MONTHLY;COUNT=10;INTERVAL=18;BYMONTHDAY=10,11,12,13,14,15
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every Tuesday\, every other month:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=TU
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Yearly in June and July for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970610T090000
+RRULE:FREQ=YEARLY;COUNT=10;INTERVAL=1;BYMONTH=6,7
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every other year on January\, February\, and March for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970310T090000
+RRULE:FREQ=YEARLY;COUNT=10;INTERVAL=2;BYMONTH=1,2,3
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every 3rd year on the 1st\, 100th and 200th day for 10 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970101T090000
+RRULE:FREQ=YEARLY;COUNT=10;INTERVAL=3;BYYEARDAY=1,100,200
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every 20th Monday of the year\, forever:
+DTSTART;TZID=America/Los_Angeles:19970519T090000
+RRULE:FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=20MO
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Monday of week number 20 (where the default start of the week is Monday)\,
+ forever:
+DTSTART;TZID=America/Los_Angeles:19970512T090000
+RRULE:FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=MO;BYWEEKNO=20
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+
+BEGIN:VEVENT
+DESCRIPTION:Every Thursday in March\, forever:
+DTSTART;TZID=America/Los_Angeles:19970313T090000
+RRULE:FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=TH;BYMONTH=3
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every Thursday\, but only during June\, July\, and August\, forever:
+DTSTART;TZID=America/Los_Angeles:19970605T090000
+RRULE:FREQ=YEARLY;INTERVAL=1;COUNT=10;BYDAY=TH;BYMONTH=6,7,8
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every Friday the 13th\, forever:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYDAY=FR;BYMONTHDAY=13
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:The first Saturday that follows the first Sunday of the month\,
+DTSTART;TZID=America/Los_Angeles:19970913T090000
+RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every four years\, the first Tuesday after a Monday in November\,
+ forever (U.S. Presidential Election day):
+DTSTART;TZID=America/Los_Angeles:19961105T090000
+RRULE:FREQ=YEARLY;INTERVAL=4;COUNT=10;BYDAY=TU;BYMONTHDAY=2,3,4,5,6,7,8;BYMONTH=11
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:The 3rd instance into the month of one of Tuesday\, Wednesday or
+ Thursday\, for the next 3 months:
+DTSTART;TZID=America/Los_Angeles:19970904T090000
+RRULE:FREQ=MONTHLY;COUNT=3;INTERVAL=1;BYDAY=TU,WE,TH;BYSETPOS=3
+X-EXPECT-NUMEVENTS: 3
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:The 2nd to last weekday of the month:
+DTSTART;TZID=America/Los_Angeles:19970929T090000
+RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=10;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2
+X-EXPECT-NUMEVENTS: 10
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every 3 hours from 9:00 AM to 5:00 PM on a specific day:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=HOURLY;UNTIL=19970902T170000Z;INTERVAL=3
+X-EXPECT-NUMEVENTS: 3
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every 15 minutes for 6 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=MINUTELY;COUNT=6;INTERVAL=15
+X-EXPECT-NUMEVENTS: 6
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every hour and a half for 4 occurrences:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=MINUTELY;COUNT=4;INTERVAL=90
+X-EXPECT-NUMEVENTS: 4
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every 20 minutes from 9:00 AM to 4:40 PM every day:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=DAILY;COUNT=20;INTERVAL=1;BYMINUTE=0,20,40;BYHOUR=9,10,11,12,13,14,15,16
+X-EXPECT-NUMEVENTS: 20
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every 20 minutes from 9:00 AM to 4:40 PM every day:
+DTSTART;TZID=America/Los_Angeles:19970902T090000
+RRULE:FREQ=MINUTELY;COUNT=20;INTERVAL=20;BYHOUR=9,10,11,12,13,14,15,16
+X-EXPECT-NUMEVENTS: 20
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:An example where the days generated makes a difference because of
+ WKST:
+DTSTART;TZID=America/Los_Angeles:19970805T090000
+RRULE:FREQ=WEEKLY;COUNT=4;INTERVAL=2;BYDAY=TU,SU
+X-EXPECT-NUMEVENTS: 4
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:An example where the days generated makes a difference because of
+ WKST. Changing only WKST from MO to SU yields different results...
+DTSTART;TZID=America/Los_Angeles:19970805T090000
+RRULE:FREQ=WEEKLY;COUNT=4;INTERVAL=2;BYDAY=TU,SU
+X-EXPECT-NUMEVENTS: 4
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Repeat every tuesday and wednesday starting 2 April 2002
+RRULE:FREQ=WEEKLY;INTERVAL=1;COUNT=6;BYDAY=TU,WE
+DTSTART:20020402T114500
+X-EXPECT-NUMEVENTS: 6
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Use count=1 to repeat zero times.
+RRULE:FREQ=DAILY;COUNT=1
+DTSTART:20020402T114500
+X-EXPECT-NUMEVENTS: 1
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Use EXDATE to eliminate the base event
+RRULE:FREQ=DAILY;COUNT=1
+DTSTART:20020402T114500Z
+EXDATE:20020402T114500Z
+X-EXPECT-NUMEVENTS: 0
+END:VEVENT
+
+BEGIN:VEVENT
+DESCRIPTION:Every Day in January\, except saturday and sunday\, using 2 EXRULEs. (NOT IMPLEMENTED)
+RRULE:FREQ=DAILY;INTERVAL=1;UNTIL=20020201T000000Z
+EXRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20020201T000000Z;BYDAY=SU
+EXRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20020201T000000Z;BYDAY=SA
+DTSTART:20020101T090000Z
+X-EXPECT-NUMEVENTS: 23
+END:VEVENT
+