diff options
author | Lars Henriksen <LarsHenriksen@get2net.dk> | 2020-11-03 19:27:09 +0100 |
---|---|---|
committer | Lukas Fleischer <lfleischer@calcurse.org> | 2020-11-07 19:50:23 -0500 |
commit | d126696999966ebb2456603b047c3950fa4a4eac (patch) | |
tree | eb5afe44294d736fcf37bf175534d9b1db450496 /test | |
parent | 1e243dba907f05f46bc2e528aad7408d8009eff7 (diff) | |
download | calcurse-d126696999966ebb2456603b047c3950fa4a4eac.tar.gz calcurse-d126696999966ebb2456603b047c3950fa4a4eac.zip |
Make iCal event import independent of property ordering
Refactoring of ical.c: properties DTSTART, DTEND, DURATION, RRULE and EXDATE are
saved and only processed after encountering END:VEVENT.
Adresses Github issue #323, follow-up question.
Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
Diffstat (limited to 'test')
-rw-r--r-- | test/data/ical-009.ical | 12 | ||||
-rwxr-xr-x | test/ical-009.sh | 42 |
2 files changed, 33 insertions, 21 deletions
diff --git a/test/data/ical-009.ical b/test/data/ical-009.ical index 3495223..14bf4eb 100644 --- a/test/data/ical-009.ical +++ b/test/data/ical-009.ical @@ -1,9 +1,9 @@ BEGIN:VCALENDAR VERSION:2.0 BEGIN:VEVENT -DTSTART:20200318T084100 DURATION:PT1H30M0S SUMMARY:A simple appointment +DTSTART:20200318T084100 END:VEVENT BEGIN:VTODO PRIORITY:1 @@ -12,6 +12,10 @@ END:VTODO BEGIN:VEVENT DTSTART: DURATION:PT1H30M0S +SUMMARY:invalid start time +END:VEVENT +BEGIN:VEVENT +DURATION:PT1H30M0S SUMMARY:missing start time END:VEVENT BEGIN:VEVENT @@ -39,6 +43,12 @@ END:VEVENT BEGIN:VEVENT DTSTART:20200318T084100 DURATION:PT1H30M0S +EXDATE:20200324T084100 +SUMMARY:exdate\, missing rrule +END:VEVENT +BEGIN:VEVENT +DTSTART:20200318T084100 +DURATION:PT1H30M0S SUMMARY:Summary with more than\none line END:VEVENT BEGIN:VEVENT diff --git a/test/ical-009.sh b/test/ical-009.sh index 1abb96b..dbd0a30 100755 --- a/test/ical-009.sh +++ b/test/ical-009.sh @@ -17,27 +17,29 @@ if [ "$1" = 'actual' ]; then rm -rf "$tmpdir" || exit 1 elif [ "$1" = 'expected' ]; then cat <<EOD -Import process report: 0121 lines read -2 apps / 0 events / 1 todo / 19 skipped +Import process report: 0131 lines read +2 apps / 0 events / 1 todo / 21 skipped VEVENT [12]: invalid or malformed event start time. -VEVENT [17]: rrule frequency not supported. -VEVENT [23]: malformed summary line. -VTODO [28]: item priority is invalid (must be between 0 and 9). -VEVENT [32]: malformed exceptions line. -VEVENT [39]: line break in summary. -VEVENT [44]: malformed description line. -VEVENT [50]: malformed description. -VTODO [62]: malformed summary. -VEVENT [66]: only one location allowed. -VEVENT [73]: invalid duration. -VEVENT [78]: invalid or malformed event start time. -VEVENT [83]: invalid end time value type. -VEVENT [88]: invalid until format. -VEVENT [94]: invalid exception date value type. -VEVENT [101]: invalid exception. -VEVENT [108]: either end or duration. -VEVENT [114]: end must be later than start. -VTODO [119]: The ical file seems to be malformed. The end of item was not found. +VEVENT [17]: item start date not defined. +VEVENT [21]: rrule frequency not supported. +VEVENT [27]: malformed summary line. +VTODO [32]: item priority is invalid (must be between 0 and 9). +VEVENT [36]: malformed exceptions line. +VEVENT [43]: exception date, but no recurrence rule. +VEVENT [49]: line break in summary. +VEVENT [54]: malformed description line. +VEVENT [60]: malformed description. +VTODO [72]: malformed summary. +VEVENT [76]: only one location allowed. +VEVENT [83]: invalid duration. +VEVENT [88]: invalid or malformed event start time. +VEVENT [93]: invalid end time value type. +VEVENT [98]: invalid until format. +VEVENT [104]: invalid exception date value type. +VEVENT [111]: invalid exception. +VEVENT [118]: either end or duration. +VEVENT [124]: end must be later than start. +VTODO [129]: The ical file seems to be malformed. The end of item was not found. 101 EOD else |