From f7716ac1a87649cad96242f2d5bf0a987d7f430c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 7 Mar 2022 15:31:00 +0100 Subject: Add new tests. --- tests/test/vcomponent-datetime.scm | 49 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tests/test/vcomponent-datetime.scm (limited to 'tests/test/vcomponent-datetime.scm') diff --git a/tests/test/vcomponent-datetime.scm b/tests/test/vcomponent-datetime.scm new file mode 100644 index 00000000..073a70ae --- /dev/null +++ b/tests/test/vcomponent-datetime.scm @@ -0,0 +1,49 @@ +;;; Commentary: +;; Tests that event-clamping (checking how long part of an event +;; overlaps another time span) works. +;;; Code: + +(define-module (test vcomponent-datetime) + :use-module (srfi srfi-64) + :use-module (srfi srfi-88) + :use-module ((datetime) :select (date time datetime)) + :use-module ((vcomponent datetime) :select (event-length/clamped)) + :use-module ((vcomponent formats ical parse) :select (parse-calendar))) + +(define ev + (call-with-input-string + "BEGIN:VEVENT +DTSTART:20200329T170000 +DTEND:20200401T100000 +END:VEVENT" + parse-calendar)) + + +;; |-----------------| test interval +;; |----------| event interval + +(test-equal + "Correct clamping" + (datetime time: (time hour: 7)) ; 2020-03-29T17:00 - 2020-03-30T00:00 + (event-length/clamped + #2020-03-23 ; a time way before the start of the event + #2020-03-29 ; a time slightly after the end of the event + ev)) + +(define utc-ev + (call-with-input-string + "BEGIN:VEVENT +DTSTART:20200329T150000Z +DTEND:20200401T080000Z +END:VEVENT" + parse-calendar)) + +(test-equal + "Correct clamping UTC" + (datetime time: (time hour: 7)) + (event-length/clamped + #2020-03-23 + #2020-03-29 + ev)) + + -- cgit v1.2.3