* test/test-riece-log.el: New test cases.
[riece] / lisp / test / test-riece-log.el
1 (require 'riece-log)
2
3 (luna-define-class test-riece-log (lunit-test-case))
4
5 (defun test-riece-log-delete-directory (directory)
6   (let ((files (directory-files directory t nil t)))
7     (while files
8       (if (file-directory-p (car files))
9           (unless (member (file-name-nondirectory (car files)) '("." ".."))
10             (test-riece-log-delete-directory (car files)))
11         (delete-file (car files)))
12       (setq files (cdr files)))
13     (delete-directory directory)))
14
15 (luna-define-method test-riece-log-flashback ((case test-riece-log))
16   (let ((riece-log-directory
17          (expand-file-name (make-temp-name "test-riece-log")
18                            (if (featurep 'xemacs)
19                                (temp-directory)
20                              temporary-file-directory)))
21         riece-addons)
22     (unwind-protect
23         (let ((dir (expand-file-name "riece" riece-log-directory))
24               (riece-log-flashback 2)
25               riece-log-directory-map)
26           (make-directory riece-log-directory)
27           (make-directory dir)
28           (write-region "03:14 <test> a b c\n" nil
29                         (expand-file-name "20380119.log" dir) t 0)
30           (write-region "03:14 <test> 1 2 3\n" nil
31                         (expand-file-name "20380118.log" dir) t 0)
32           (lunit-assert-2
33            case
34            (equal
35             "03:14 <test> 1 2 3 (2038/01/18)\n03:14 <test> a b c (2038/01/19)\n"
36             (with-temp-buffer
37               (riece-log-flashback (riece-make-identity "#riece" ""))
38               (buffer-string)))))
39       (test-riece-log-delete-directory riece-log-directory))))
40