tests/: Add basic iCal import tests

Tests ical-002.sh and ical-003.sh currently fail due to bugs in duration
and exception parsing.

Reported-by: Håkan Jerning <jerning@home.se>
Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
Lukas Fleischer 2014-07-28 12:24:21 +02:00
parent 132cf86a6f
commit 81894cbbd8
7 changed files with 267 additions and 0 deletions

View File

@ -41,6 +41,9 @@ TESTS = \
event-004.sh \ event-004.sh \
event-005.sh \ event-005.sh \
event-006.sh \ event-006.sh \
ical-001.sh \
ical-002.sh \
ical-003.sh \
next-001.sh \ next-001.sh \
search-001.sh \ search-001.sh \
bug-002.sh \ bug-002.sh \
@ -97,4 +100,7 @@ EXTRA_DIST = \
data/apts-event-006 \ data/apts-event-006 \
data/apts-recur \ data/apts-recur \
data/conf \ data/conf \
data/ical-001.ical \
data/ical-002.ical \
data/ical-003.ical \
data/todo data/todo

12
test/data/ical-001.ical Normal file
View File

@ -0,0 +1,12 @@
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART:19020101T000100
DURATION:P1DT9H17M0S
SUMMARY:Calibrator's
END:VEVENT
BEGIN:VTODO
PRIORITY:1
SUMMARY:Nary parabled Louvre's fleetest mered
END:VTODO
END:VCALENDAR

28
test/data/ical-002.ical Normal file
View File

@ -0,0 +1,28 @@
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART:20000101T000000
DURATION:P1DT0H0M0S
SUMMARY:One day
END:VEVENT
BEGIN:VEVENT
DTSTART:20000101T000000
DURATION:P1DT1H1M1S
SUMMARY:One day, one hour, one minute and one second
END:VEVENT
BEGIN:VEVENT
DTSTART:20000101T000000
DURATION:PT1H1M1S
SUMMARY:One hour, one minute and one second
END:VEVENT
BEGIN:VEVENT
DTSTART:20000101T000000
DURATION:PT1M1S
SUMMARY:One minute and one second
END:VEVENT
BEGIN:VEVENT
DTSTART:20000101T000000
DURATION:PT1S
SUMMARY:One second
END:VEVENT
END:VCALENDAR

25
test/data/ical-003.ical Normal file
View File

@ -0,0 +1,25 @@
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
DTSTART:20000101T000000
DURATION:PT1H30M0S
RRULE:FREQ=DAILY;INTERVAL=2;UNTIL=20000201T000000;WKST=SU
EXDATE:20000115T000000,20000123T000000
SUMMARY:Recurring appointment
END:VEVENT
BEGIN:VEVENT
DTSTART:20000101T000000
DURATION:PT1H30M0S
RRULE:FREQ=WEEKLY;INTERVAL=1;UNTIL=20000201T000000;WKST=SU
EXDATE:20000122T000000
SUMMARY:Weekly appointment
END:VEVENT
BEGIN:VEVENT
DTSTART:20000201T000000
DURATION:PT1H30M0S
RRULE:FREQ=DAILY;INTERVAL=2;UNTIL=20000301T000000;WKST=SU
EXDATE:20000215T000000
EXDATE:20000223T000000
SUMMARY:Recurring appointment
END:VEVENT
END:VCALENDAR

28
test/ical-001.sh Executable file
View File

@ -0,0 +1,28 @@
#!/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-001.ical"
"$CALCURSE" -D "$PWD/.calcurse" -s01/01/1902 -r2
"$CALCURSE" -D "$PWD/.calcurse" -t
rm -rf .calcurse || exit 1
elif [ "$1" = 'expected' ]; then
cat <<EOD
Import process report: 0017 lines read
1 app / 0 events / 1 todo / 0 skipped
01/01/02:
- 00:01 -> ..:..
Calibrator's
01/02/02:
- ..:.. -> 09:18
Calibrator's
to do:
9. Nary parabled Louvre's fleetest mered
EOD
else
./run-test "$0"
fi

31
test/ical-002.sh Executable file
View File

@ -0,0 +1,31 @@
#!/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-002.ical"
"$CALCURSE" -D "$PWD/.calcurse" -s01/01/2000 -r2
rm -rf .calcurse || exit 1
elif [ "$1" = 'expected' ]; then
cat <<EOD
Import process report: 0036 lines read
5 apps / 0 events / 0 todos / 0 skipped
01/01/00:
- 00:00 -> 00:00
One day
- 00:00 -> ..:..
One day, one hour, one minute and one second
- 00:00 -> 01:01
One hour, one minute and one second
- 00:00 -> 00:01
One minute and one second
01/02/00:
- ..:.. -> 01:01
One day, one hour, one minute and one second
EOD
else
./run-test "$0"
fi

137
test/ical-003.sh Executable file
View File

@ -0,0 +1,137 @@
#!/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-003.ical"
"$CALCURSE" -D "$PWD/.calcurse" -s01/01/2000 -r365
rm -rf .calcurse || exit 1
elif [ "$1" = 'expected' ]; then
cat <<EOD
Import process report: 0031 lines read
3 apps / 0 events / 0 todos / 0 skipped
01/01/00:
- 00:00 -> 01:30
Recurring appointment
- 00:00 -> 01:30
Weekly appointment
01/03/00:
- 00:00 -> 01:30
Recurring appointment
01/05/00:
- 00:00 -> 01:30
Recurring appointment
01/07/00:
- 00:00 -> 01:30
Recurring appointment
01/08/00:
- 00:00 -> 01:30
Weekly appointment
01/09/00:
- 00:00 -> 01:30
Recurring appointment
01/11/00:
- 00:00 -> 01:30
Recurring appointment
01/13/00:
- 00:00 -> 01:30
Recurring appointment
01/15/00:
- 00:00 -> 01:30
Weekly appointment
01/17/00:
- 00:00 -> 01:30
Recurring appointment
01/19/00:
- 00:00 -> 01:30
Recurring appointment
01/21/00:
- 00:00 -> 01:30
Recurring appointment
01/25/00:
- 00:00 -> 01:30
Recurring appointment
01/27/00:
- 00:00 -> 01:30
Recurring appointment
01/29/00:
- 00:00 -> 01:30
Recurring appointment
- 00:00 -> 01:30
Weekly appointment
01/31/00:
- 00:00 -> 01:30
Recurring appointment
02/01/00:
- 00:00 -> 01:30
Recurring appointment
02/03/00:
- 00:00 -> 01:30
Recurring appointment
02/05/00:
- 00:00 -> 01:30
Recurring appointment
02/07/00:
- 00:00 -> 01:30
Recurring appointment
02/09/00:
- 00:00 -> 01:30
Recurring appointment
02/11/00:
- 00:00 -> 01:30
Recurring appointment
02/13/00:
- 00:00 -> 01:30
Recurring appointment
02/17/00:
- 00:00 -> 01:30
Recurring appointment
02/19/00:
- 00:00 -> 01:30
Recurring appointment
02/21/00:
- 00:00 -> 01:30
Recurring appointment
02/25/00:
- 00:00 -> 01:30
Recurring appointment
02/27/00:
- 00:00 -> 01:30
Recurring appointment
02/29/00:
- 00:00 -> 01:30
Recurring appointment
EOD
else
./run-test "$0"
fi