diff options
author | Lukas Fleischer <calcurse@cryptocrack.de> | 2014-08-18 15:13:46 +0200 |
---|---|---|
committer | Lukas Fleischer <calcurse@cryptocrack.de> | 2014-08-18 15:18:11 +0200 |
commit | 76f151ff375f2985026f4d5d738c8e2c769a1bce (patch) | |
tree | 5a6a852fc23190f2037e3c9a6afaf52c3dfa02e0 /test | |
parent | 0a2c4d20fe49c504b5bbb383afc97db340814bba (diff) | |
download | calcurse-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.am | 2 | ||||
-rw-r--r-- | test/data/ical-006.ical | 63 | ||||
-rwxr-xr-x | test/ical-006.sh | 43 |
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 |