aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorLars Henriksen <LarsHenriksen@get2net.dk>2020-11-03 19:27:09 +0100
committerLukas Fleischer <lfleischer@calcurse.org>2020-11-07 19:50:23 -0500
commitd126696999966ebb2456603b047c3950fa4a4eac (patch)
treeeb5afe44294d736fcf37bf175534d9b1db450496 /test
parent1e243dba907f05f46bc2e528aad7408d8009eff7 (diff)
downloadcalcurse-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.ical12
-rwxr-xr-xtest/ical-009.sh42
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