summaryrefslogtreecommitdiff
path: root/test/lisp/time-tests.el
diff options
context:
space:
mode:
authorStefan Kangas <stefan@marxist.se>2020-10-21 16:59:50 +0200
committerStefan Kangas <stefan@marxist.se>2020-10-21 16:59:50 +0200
commitb69f363698b15775ddbffe873a1ddbb9eef73ce4 (patch)
treea2b8ebecfe1ce68f624d78682901947c555d02a1 /test/lisp/time-tests.el
parenta497b8e4a41e3223089654da4b36d0fdd51ce555 (diff)
downloademacs-b69f363698b15775ddbffe873a1ddbb9eef73ce4.tar.gz
Add tests for time.el
* lisp/time.el (display-time-update--load) (display-time-update--mail): Extract from... (display-time-update): ...here. * test/lisp/time-tests.el: New file.
Diffstat (limited to 'test/lisp/time-tests.el')
-rw-r--r--test/lisp/time-tests.el74
1 files changed, 74 insertions, 0 deletions
diff --git a/test/lisp/time-tests.el b/test/lisp/time-tests.el
new file mode 100644
index 00000000000..efb3f491468
--- /dev/null
+++ b/test/lisp/time-tests.el
@@ -0,0 +1,74 @@
+;;; time-tests.el --- Tests for time.el -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2020 Free Software Foundation, Inc.
+
+;; Author: Stefan Kangas <stefankangas@gmail.com>
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+(require 'ert)
+(require 'ert-x)
+(require 'time)
+
+(ert-deftest time-tests-display-time-mail-check-directory ()
+ (let ((display-time-mail-directory (ert-resource-directory)))
+ (should (display-time-mail-check-directory))))
+
+(ert-deftest time-tests-display-time-update--load ()
+ (let ((display-time-load-average 1)
+ (display-time-load-average-threshold 0))
+ (display-time-next-load-average)
+ (should (string-match (rx string-start " " (+ digit "."))
+ (display-time-update--load))))
+ (let (display-time-load-average)
+ (should (equal (display-time-update--load) ""))))
+
+(ert-deftest time-tests-display-time-update ()
+ (let ((display-time-load-average 1)
+ (display-time-load-average-threshold 0)
+ display-time-string)
+ (display-time-update)
+ (should (string-match (rx string-start (? digit) digit ":" digit digit
+ (? (| "AM" "PM"))
+ " " (+ digit "."))
+ display-time-string))))
+
+(ert-deftest time-tests-display-time-file-nonempty-p ()
+ (should (display-time-file-nonempty-p (ert-resource-file "non-empty")))
+ (should-not (display-time-file-nonempty-p "/non/existent")))
+
+(ert-deftest time-tests-world-clock ()
+ (save-window-excursion
+ (world-clock)
+ (should (equal (buffer-name) world-clock-buffer-name))
+ (should (string-match "New York" (buffer-string)))))
+
+(ert-deftest time-tests-world-clock/revert-buffer-works ()
+ (save-window-excursion
+ (world-clock)
+ (revert-buffer)
+ (should (string-match "New York" (buffer-string)))))
+
+(ert-deftest time-tests-emacs-uptime ()
+ (should (string-match "^[0-9.]+ seconds?$" (emacs-uptime "%S"))))
+
+(ert-deftest time-tests-emacs-init-time ()
+ (should (string-match "^[0-9.]+ seconds?$" (emacs-init-time))))
+
+(provide 'time-tests)
+;;; time-tests.el ends here