Add more icalendar tests (for the isodatetime parser)

* test/lisp/calendar/icalendar-tests.el
(icalendar-tests--decode-isodatetime): Test
`icalendar--decode-isodatetime'.
This commit is contained in:
Lars Ingebrigtsen 2019-07-31 21:04:50 +02:00
parent c8f1e17e6b
commit a79e96f0f9

View file

@ -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