From a79e96f0f9133b0577e709f805179ab59b09fe33 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Wed, 31 Jul 2019 21:04:50 +0200 Subject: [PATCH] Add more icalendar tests (for the isodatetime parser) * test/lisp/calendar/icalendar-tests.el (icalendar-tests--decode-isodatetime): Test `icalendar--decode-isodatetime'. --- test/lisp/calendar/icalendar-tests.el | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/test/lisp/calendar/icalendar-tests.el b/test/lisp/calendar/icalendar-tests.el index af617e677f1..baea4804045 100644 --- a/test/lisp/calendar/icalendar-tests.el +++ b/test/lisp/calendar/icalendar-tests.el @@ -2325,5 +2325,31 @@ END:VCALENDAR ) ) +(defun icalendar-test--format (string &optional day zone) + (let ((time (icalendar--decode-isodatetime string day zone))) + (format-time-string "%FT%T%z" (encode-time time) 0))) + +(defun icalendar-tests--decode-isodatetime (ical-string) + (should (equal (icalendar-test--format "20040917T050910-0200") + "2004-09-17T03:09:10+0000")) + (should (equal (icalendar-test--format "20040917T050910") + "2004-09-17T03:09:10+0000")) + (should (equal (icalendar-test--format "20040917T050910Z") + "2004-09-17T05:09:10+0000")) + (should (equal (icalendar-test--format "20040917T0509") + "2004-09-17T03:09:00+0000")) + (should (equal (icalendar-test--format "20040917") + "2004-09-16T22:00:00+0000")) + (should (equal (icalendar-test--format "20040917T050910" 1) + "2004-09-18T03:09:10+0000")) + (should (equal (icalendar-test--format "20040917T050910" 30) + "2004-10-17T03:09:10+0000")) + (should (equal (icalendar-test--format "20040917T050910" -1) + "2004-09-16T03:09:10+0000")) + + (should (equal (icalendar-test--format "20040917T050910" nil -3600) + "2004-09-17T06:09:10+0000"))) + + (provide 'icalendar-tests) ;;; icalendar-tests.el ends here -- 2.39.5