aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorUlf Jasper2014-11-17 21:00:24 +0100
committerUlf Jasper2014-11-17 21:00:24 +0100
commitcc5519db12f554a40591ac8a7f4febe17a3bd53b (patch)
tree27fdb0974ed8c756b17d023d497b1ce69749583a /test
parent62243cb96f133581157f6eafa934b5b7ca4cc065 (diff)
parent16b5f507688b32b78843620417bb2176b3131752 (diff)
downloademacs-cc5519db12f554a40591ac8a7f4febe17a3bd53b.tar.gz
emacs-cc5519db12f554a40591ac8a7f4febe17a3bd53b.zip
Merge branch 'uj-icalendar-bug#5433'
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog8
-rw-r--r--test/automated/icalendar-tests.el100
2 files changed, 105 insertions, 3 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index 47bbfb36a10..6e350cf8ec1 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,5 +1,13 @@
12014-11-17 Ulf Jasper <ulf.jasper@web.de> 12014-11-17 Ulf Jasper <ulf.jasper@web.de>
2 2
3 * automated/icalendar-tests.el (icalendar-tests--test-export): New
4 optional parameter `alarms'.
5 (icalendar-export-alarms): New test for exporting icalendar
6 alarms.
7 (icalendar-tests--test-cycle): Let `icalendar-export-alarms' be nil.
8
92014-11-17 Ulf Jasper <ulf.jasper@web.de>
10
3 * automated/icalendar-tests.el (icalendar-tests--test-import): 11 * automated/icalendar-tests.el (icalendar-tests--test-import):
4 Mention timezone in doc string. Clean up. 12 Mention timezone in doc string. Clean up.
5 (icalendar-real-world): Add another test case for no-dst 13 (icalendar-real-world): Add another test case for no-dst
diff --git a/test/automated/icalendar-tests.el b/test/automated/icalendar-tests.el
index b45806e9777..54546722c8c 100644
--- a/test/automated/icalendar-tests.el
+++ b/test/automated/icalendar-tests.el
@@ -508,18 +508,20 @@ END:VEVENT
508;; ====================================================================== 508;; ======================================================================
509 509
510(defun icalendar-tests--test-export (input-iso input-european input-american 510(defun icalendar-tests--test-export (input-iso input-european input-american
511 expected-output) 511 expected-output &optional alarms)
512 "Perform an export test. 512 "Perform an export test.
513Argument INPUT-ISO iso style diary string. 513Argument INPUT-ISO iso style diary string.
514Argument INPUT-EUROPEAN european style diary string. 514Argument INPUT-EUROPEAN european style diary string.
515Argument INPUT-AMERICAN american style diary string. 515Argument INPUT-AMERICAN american style diary string.
516Argument EXPECTED-OUTPUT expected iCalendar result string. 516Argument EXPECTED-OUTPUT expected iCalendar result string.
517Optional argument ALARMS the value of `icalendar-export-alarms' for this test.
517 518
518European style input data must use german month names. American 519European style input data must use german month names. American
519and ISO style input data must use english month names." 520and ISO style input data must use english month names."
520 (let ((tz (getenv "TZ")) 521 (let ((tz (getenv "TZ"))
521 (calendar-date-style 'iso) 522 (calendar-date-style 'iso)
522 (icalendar-recurring-start-year 2000)) 523 (icalendar-recurring-start-year 2000)
524 (icalendar-export-alarms alarms))
523 (unwind-protect 525 (unwind-protect
524 (progn 526 (progn
525;;; (message "Current time zone: %s" (current-time-zone)) 527;;; (message "Current time zone: %s" (current-time-zone))
@@ -753,6 +755,97 @@ RRULE:FREQ=DAILY;INTERVAL=1;UNTIL=20010706
753SUMMARY:block no end time 755SUMMARY:block no end time
754")) 756"))
755 757
758(ert-deftest icalendar-export-alarms ()
759 "Perform export test with different settings for exporting alarms."
760 ;; no alarm
761 (icalendar-tests--test-export
762 "2014 Nov 17 19:30 no alarm"
763 "17 Nov 2014 19:30 no alarm"
764 "Nov 17 2014 19:30 no alarm"
765 "DTSTART;VALUE=DATE-TIME:20141117T193000
766DTEND;VALUE=DATE-TIME:20141117T203000
767SUMMARY:no alarm
768"
769 nil)
770
771 ;; 10 minutes in advance, audio
772 (icalendar-tests--test-export
773 "2014 Nov 17 19:30 audio alarm"
774 "17 Nov 2014 19:30 audio alarm"
775 "Nov 17 2014 19:30 audio alarm"
776 "DTSTART;VALUE=DATE-TIME:20141117T193000
777DTEND;VALUE=DATE-TIME:20141117T203000
778SUMMARY:audio alarm
779BEGIN:VALARM
780ACTION:AUDIO
781TRIGGER:-PT10M
782END:VALARM
783"
784 '(10 ((audio))))
785
786 ;; 20 minutes in advance, display
787 (icalendar-tests--test-export
788 "2014 Nov 17 19:30 display alarm"
789 "17 Nov 2014 19:30 display alarm"
790 "Nov 17 2014 19:30 display alarm"
791 "DTSTART;VALUE=DATE-TIME:20141117T193000
792DTEND;VALUE=DATE-TIME:20141117T203000
793SUMMARY:display alarm
794BEGIN:VALARM
795ACTION:DISPLAY
796TRIGGER:-PT20M
797DESCRIPTION:display alarm
798END:VALARM
799"
800 '(20 ((display))))
801
802 ;; 66 minutes in advance, email
803 (icalendar-tests--test-export
804 "2014 Nov 17 19:30 email alarm"
805 "17 Nov 2014 19:30 email alarm"
806 "Nov 17 2014 19:30 email alarm"
807 "DTSTART;VALUE=DATE-TIME:20141117T193000
808DTEND;VALUE=DATE-TIME:20141117T203000
809SUMMARY:email alarm
810BEGIN:VALARM
811ACTION:EMAIL
812TRIGGER:-PT66M
813DESCRIPTION:email alarm
814SUMMARY:email alarm
815ATTENDEE:MAILTO:att.one@email.com
816ATTENDEE:MAILTO:att.two@email.com
817END:VALARM
818"
819 '(66 ((email ("att.one@email.com" "att.two@email.com")))))
820
821 ;; 2 minutes in advance, all alarms
822 (icalendar-tests--test-export
823 "2014 Nov 17 19:30 all alarms"
824 "17 Nov 2014 19:30 all alarms"
825 "Nov 17 2014 19:30 all alarms"
826 "DTSTART;VALUE=DATE-TIME:20141117T193000
827DTEND;VALUE=DATE-TIME:20141117T203000
828SUMMARY:all alarms
829BEGIN:VALARM
830ACTION:EMAIL
831TRIGGER:-PT2M
832DESCRIPTION:all alarms
833SUMMARY:all alarms
834ATTENDEE:MAILTO:att.one@email.com
835ATTENDEE:MAILTO:att.two@email.com
836END:VALARM
837BEGIN:VALARM
838ACTION:AUDIO
839TRIGGER:-PT2M
840END:VALARM
841BEGIN:VALARM
842ACTION:DISPLAY
843TRIGGER:-PT2M
844DESCRIPTION:all alarms
845END:VALARM
846"
847 '(2 ((email ("att.one@email.com" "att.two@email.com")) (audio) (display)))))
848
756;; ====================================================================== 849;; ======================================================================
757;; Import tests 850;; Import tests
758;; ====================================================================== 851;; ======================================================================
@@ -1285,7 +1378,8 @@ Argument INPUT icalendar event string."
1285 (icalendar-import-format-status "\n Status: %s") 1378 (icalendar-import-format-status "\n Status: %s")
1286 (icalendar-import-format-url "\n URL: %s") 1379 (icalendar-import-format-url "\n URL: %s")
1287 (icalendar-import-format-class "\n Class: %s") 1380 (icalendar-import-format-class "\n Class: %s")
1288 (icalendar-import-format-class "\n UID: %s")) 1381 (icalendar-import-format-class "\n UID: %s")
1382 (icalendar-export-alarms nil))
1289 (dolist (calendar-date-style '(iso european american)) 1383 (dolist (calendar-date-style '(iso european american))
1290 (icalendar-tests--do-test-cycle))))) 1384 (icalendar-tests--do-test-cycle)))))
1291 1385