3 (luna-define-class test-riece-log (lunit-test-case))
5 (defun test-riece-log-delete-directory (directory)
7 ;; delete-directory has an optional parameter RECURSIVE, since
9 (delete-directory directory t)
10 (wrong-number-of-arguments
11 ;; FIXME: we could use this portable version always, but it
12 ;; doesn't work well with Emacs 23.
13 (let* ((file-name-coding-system 'no-conversion)
14 (files (directory-files directory t nil t)))
16 (if (file-directory-p (car files))
17 (unless (member (file-name-nondirectory (car files)) '("." ".."))
18 (test-riece-log-delete-directory (car files)))
19 (delete-file (car files)))
20 (setq files (cdr files)))
21 (delete-directory directory)))))
23 (luna-define-method lunit-test-case-setup ((case test-riece-log))
24 (setq riece-log-directory
25 (expand-file-name (make-temp-name "test-riece-log")
26 (if (featurep 'xemacs)
28 temporary-file-directory))
29 test-riece-log-directory
30 (expand-file-name "=23riece" riece-log-directory))
31 (make-directory riece-log-directory)
32 (make-directory test-riece-log-directory)
33 (write-region "03:14 <test> a b c\n03:15 <test> a b c\n" nil
34 (expand-file-name "19700102.txt" test-riece-log-directory)
36 (write-region "03:14 <test> 1 2 3\n" nil
37 (expand-file-name "19700101.txt" test-riece-log-directory)
40 (luna-define-method lunit-test-case-teardown ((case test-riece-log))
41 (test-riece-log-delete-directory riece-log-directory))
43 (luna-define-method test-riece-log-insert-1 ((case test-riece-log))
44 (let (riece-log-directory-map)
48 (concat "03:14 <test> 1 2 3 (1970/01/01)\n"
49 "03:14 <test> a b c (1970/01/02)\n"
50 "03:15 <test> a b c (1970/01/02)\n")
52 (riece-log-insert (riece-make-identity "#riece" "") 3)
55 (luna-define-method test-riece-log-insert-2 ((case test-riece-log))
56 (let (riece-log-directory-map)
61 (riece-log-insert (riece-make-identity "#riece" "") t)
64 (luna-define-method test-riece-log-encode-file-name ((case test-riece-log))
65 (let (riece-log-file-name-coding-system)
69 (riece-log-encode-file-name "#riece")))
72 (equal "=23riece=3A=2A=2Ejp"
73 (riece-log-encode-file-name "#riece:*.jp")))
77 (riece-log-encode-file-name "#riece=")))))
79 (luna-define-method test-riece-log-encode-file-name-mule
80 ((case test-riece-log))
81 (let ((riece-log-file-name-coding-system 'iso-8859-1))
84 (equal "=23\xABriece\xBB"
85 (riece-log-encode-file-name
87 (make-char 'latin-iso8859-1 43)
88 (make-char 'latin-iso8859-1 59))))))
89 (let ((riece-log-file-name-coding-system 'iso-2022-jp))
92 (equal "=23=1B=24B=24j=21=3C=249=1B=28B"
93 (riece-log-encode-file-name
95 (make-char 'japanese-jisx0208 36 106)
96 (make-char 'japanese-jisx0208 33 60)
97 (make-char 'japanese-jisx0208 36 57)))))))
99 (luna-define-method test-riece-log-decode-file-name ((case test-riece-log))
100 (let (riece-log-file-name-coding-system)
104 (riece-log-decode-file-name "=23riece")))
108 (riece-log-decode-file-name "=23riece=3A=2A=2Ejp")))
112 (riece-log-decode-file-name "=23riece==")))))
114 (luna-define-method test-riece-log-decode-file-name-mule
115 ((case test-riece-log))
116 (let ((riece-log-file-name-coding-system 'iso-8859-1))
119 (equal (format "#%criece%c"
120 (make-char 'latin-iso8859-1 43)
121 (make-char 'latin-iso8859-1 59))
122 (riece-log-decode-file-name
123 "=23\xABriece\xBB"))))
124 (let ((riece-log-file-name-coding-system 'iso-2022-jp))
127 (equal (format "#%c%c%c"
128 (make-char 'japanese-jisx0208 36 106)
129 (make-char 'japanese-jisx0208 33 60)
130 (make-char 'japanese-jisx0208 36 57))
131 (riece-log-decode-file-name
132 "=23=1B=24B=24j=21=3C=249=1B=28B")))))
134 (luna-define-method test-riece-log-display-message-function
135 ((case test-riece-log))
136 (let ((riece-log-file-name-coding-system 'euc-jp)
137 (riece-log-enabled t)
138 riece-log-directory-map
139 (riece-server-process-alist
140 (list (cons "" (start-process "" (current-buffer) "true")))))
141 (put 'riece-log 'riece-addon-enabled t)
142 (riece-log-display-message-function
144 (riece-make-identity "ueno" "")
145 (riece-make-identity (format "#%c%c%c"
146 (make-char 'japanese-jisx0208 36 106)
147 (make-char 'japanese-jisx0208 33 60)
148 (make-char 'japanese-jisx0208 36 57))
151 (put 'riece-log 'riece-addon-enabled nil))
152 (let ((file-name-coding-system 'no-conversion))
157 (encode-coding-string
159 (make-char 'japanese-jisx0208 36 106)
160 (make-char 'japanese-jisx0208 33 60)
161 (make-char 'japanese-jisx0208 36 57))
163 riece-log-directory)))))