aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorLukas Fleischer <calcurse@cryptocrack.de>2014-08-18 15:13:46 +0200
committerLukas Fleischer <calcurse@cryptocrack.de>2014-08-18 15:18:11 +0200
commit76f151ff375f2985026f4d5d738c8e2c769a1bce (patch)
tree5a6a852fc23190f2037e3c9a6afaf52c3dfa02e0 /test
parent0a2c4d20fe49c504b5bbb383afc97db340814bba (diff)
downloadcalcurse-76f151ff375f2985026f4d5d738c8e2c769a1bce.tar.gz
calcurse-76f151ff375f2985026f4d5d738c8e2c769a1bce.zip
Correctly parse all types of iCal durations
This was supposed to be fixed in 6ca2535 (ical.c: Simplify and fix ical_durtime2long(), 2014-07-28) but some cases were not covered. Reported-by: HÃ¥kan Jerning <jerning@home.se> Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am2
-rw-r--r--test/data/ical-006.ical63
-rwxr-xr-xtest/ical-006.sh43
3 files changed, 108 insertions, 0 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index 18513d3..ed64e1a 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -46,6 +46,7 @@ TESTS = \
ical-002.sh \
ical-003.sh \
ical-004.sh \
+ ical-006.sh \
next-001.sh \
search-001.sh \
bug-002.sh \
@@ -107,4 +108,5 @@ EXTRA_DIST = \
data/ical-002.ical \
data/ical-003.ical \
data/ical-004.ical \
+ data/ical-006.ical \
data/todo
diff --git a/test/data/ical-006.ical b/test/data/ical-006.ical
new file mode 100644
index 0000000..7b2e102
--- /dev/null
+++ b/test/data/ical-006.ical
@@ -0,0 +1,63 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+BEGIN:VEVENT
+SUMMARY:5 hours
+DTSTART;TZID=Europe/Stockholm:20120601T150000
+DURATION:PT5H
+END:VEVENT
+BEGIN:VEVENT
+SUMMARY:5 hours
+DTSTART;TZID=Europe/Stockholm:20120601T150000
+DURATION:PT5H0M
+END:VEVENT
+BEGIN:VEVENT
+SUMMARY:5 hours
+DTSTART;TZID=Europe/Stockholm:20120601T150000
+DURATION:PT5H0S
+END:VEVENT
+BEGIN:VEVENT
+SUMMARY:5 hours
+DTSTART;TZID=Europe/Stockholm:20120601T150000
+DURATION:PT5H0M0S
+END:VEVENT
+BEGIN:VEVENT
+SUMMARY:30 minutes
+DTSTART;TZID=Europe/Stockholm:20120601T150000
+DURATION:PT30M
+END:VEVENT
+BEGIN:VEVENT
+SUMMARY:30 minutes
+DTSTART;TZID=Europe/Stockholm:20120601T150000
+DURATION:PT0H30M
+END:VEVENT
+BEGIN:VEVENT
+SUMMARY:30 minutes
+DTSTART;TZID=Europe/Stockholm:20120601T150000
+DURATION:PT30M0S
+END:VEVENT
+BEGIN:VEVENT
+SUMMARY:30 minutes
+DTSTART;TZID=Europe/Stockholm:20120601T150000
+DURATION:PT0H30M0S
+END:VEVENT
+BEGIN:VEVENT
+SUMMARY:5 hours and 30 minutes
+DTSTART;TZID=Europe/Stockholm:20120601T150000
+DURATION:PT5H30M
+END:VEVENT
+BEGIN:VEVENT
+SUMMARY:5 hours and 30 minutes
+DTSTART;TZID=Europe/Stockholm:20120601T150000
+DURATION:PT5H30M0S
+END:VEVENT
+BEGIN:VEVENT
+SUMMARY:5 hours and 10 seconds
+DTSTART;TZID=Europe/Stockholm:20120601T150000
+DURATION:PT5H10S
+END:VEVENT
+BEGIN:VEVENT
+SUMMARY:5 hours, 30 minutes and 10 seconds
+DTSTART;TZID=Europe/Stockholm:20120601T150000
+DURATION:PT5H30M10S
+END:VEVENT
+END:VCALENDAR
diff --git a/test/ical-006.sh b/test/ical-006.sh
new file mode 100755
index 0000000..3a34c24
--- /dev/null
+++ b/test/ical-006.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+. "${TEST_INIT:-./test-init.sh}"
+
+if [ "$1" = 'actual' ]; then
+ mkdir .calcurse || exit 1
+ cp "$DATA_DIR/conf" .calcurse || exit 1
+ "$CALCURSE" -D "$PWD/.calcurse" -i "$DATA_DIR/ical-006.ical"
+ "$CALCURSE" -D "$PWD/.calcurse" -s06/01/2012 -r2
+ rm -rf .calcurse || exit 1
+elif [ "$1" = 'expected' ]; then
+ cat <<EOD
+Import process report: 0078 lines read
+12 apps / 0 events / 0 todos / 0 skipped
+06/01/12:
+ - 15:00 -> 20:00
+ 5 hours
+ - 15:00 -> 20:00
+ 5 hours
+ - 15:00 -> 20:00
+ 5 hours
+ - 15:00 -> 20:00
+ 5 hours
+ - 15:00 -> 15:30
+ 30 minutes
+ - 15:00 -> 15:30
+ 30 minutes
+ - 15:00 -> 15:30
+ 30 minutes
+ - 15:00 -> 15:30
+ 30 minutes
+ - 15:00 -> 20:30
+ 5 hours and 30 minutes
+ - 15:00 -> 20:30
+ 5 hours and 30 minutes
+ - 15:00 -> 20:00
+ 5 hours and 10 seconds
+ - 15:00 -> 20:30
+ 5 hours, 30 minutes and 10 seconds
+EOD
+else
+ ./run-test "$0"
+fi