4 (luna-define-class test-elmo-util (lunit-test-case))
7 (defvar test-elmo-temoporary-file)
9 (luna-define-method lunit-test-case-setup ((case test-elmo-util))
10 (setq test-elmo-temoporary-file
11 (make-temp-file temporary-file-directory)))
13 (luna-define-method lunit-test-case-teardown ((case test-elmo-util))
14 (when (file-exists-p test-elmo-temoporary-file)
15 (delete-file test-elmo-temoporary-file)))
18 (luna-define-method test-elmo-replace-string-as-filename-1 ((case test-elmo-util))
19 "Revert checking replace and recover."
21 (let ((str "/foo//./../bar/"))
23 (elmo-recover-string-from-filename
24 (elmo-replace-string-as-filename str))))))
28 (luna-define-method test-elmo-object-save-1 ((case test-elmo-util))
29 "Check `print-length' let bindings."
30 (let ((list '(1 2 3 4 5 6 7 8 9 10 11 12))
32 (elmo-object-save test-elmo-temoporary-file list)
35 (elmo-object-load test-elmo-temoporary-file)))))
37 (luna-define-method test-elmo-object-save-2 ((case test-elmo-util))
38 "Check `print-level' let bindings."
39 (let ((list '(1 (2 :foo (nil . :bar))))
41 (elmo-object-save test-elmo-temoporary-file list)
44 (elmo-object-load test-elmo-temoporary-file)))))
46 (luna-define-method test-elmo-save-string-1 ((case test-elmo-util))
50 (luna-define-method test-elmo-uniq-list-1 ((case test-elmo-util))
52 (eq nil (elmo-uniq-list nil)))
54 (equal '(1) (elmo-uniq-list '(1))))
56 (equal '(1) (elmo-uniq-list '(1 1))))
58 (equal '(1) (elmo-uniq-list '(1 1 1)))))
60 (luna-define-method test-elmo-uniq-list-2 ((case test-elmo-util))
62 (equal '(1 2 3 4 5 6 nil)
63 (elmo-uniq-list '(1 2 3 4 1 5 6 nil nil 1 1 2))))
65 (equal '("foo") (elmo-uniq-list '("foo" "foo")))))
67 (luna-define-method test-elmo-uniq-list-3 ((case test-elmo-util))
68 "Check using DELETE-FUNCTION"
70 (equal '("foo" "foo") (elmo-uniq-list '("foo" "foo") #'delq)))
72 (equal '(:foo) (elmo-uniq-list '(:foo :foo) #'delq))))
74 (luna-define-method test-elmo-list-insert-1 ((case test-elmo-util))
77 (elmo-list-insert '(1 2 3 5) 4 3)))
80 (elmo-list-insert '(1 2 3 5) 9 :notfound)))
82 ;;; (equal '(1 2 "3" 5 4)
83 ;;; (elmo-list-insert '(1 2 "3" 5) 4 "3"))
86 (luna-define-method test-elmo-list-insert-2 ((case test-elmo-util))
88 (let* ((list1 '(1 2 3 4 5))
90 (elmo-list-insert list1 4 3)
94 ;;; (equal '(1 2 "3" 5 4)
95 ;;; (elmo-list-insert '(1 2 "3" 5) 4 "3"))
97 (luna-define-method test-elmo-delete-char-1 ((case test-elmo-util))
99 (string= "f" (elmo-delete-char ?o "foo")))
101 (string= "f\nf" (elmo-delete-char ?o "foo\nfoo")))
103 (string= "" (elmo-delete-char ?o "oo")))
105 (string= "" (elmo-delete-char ?o ""))))
107 (luna-define-method test-elmo-concat-path-1 ((case test-elmo-util))
111 (elmo-concat-path "/home" "foo")))
114 (elmo-concat-path "/home/" "foo")
115 (elmo-concat-path "/home//" "foo"))))
118 (luna-define-method test-elmo-remove-passwd-1 ((case test-elmo-util))
119 "Check shred password."
120 (let* ((password "cGFzc3dk")
121 (elmo-passwd-alist (list (cons "key" password))))
122 (elmo-remove-passwd "key")
124 (string= "\0\0\0\0\0\0\0\0" password))))
126 (luna-define-method test-elmo-remove-passwd-2 ((case test-elmo-util))
127 "Check remove target pair only. Not rassoc."
128 (let ((password "cGFzc3dk")
129 (elmo-passwd-alist '(("foo" . "key")
132 (elmo-remove-passwd "key")
134 (equal '(("foo" . "key")
136 elmo-passwd-alist))))
138 (luna-define-method test-elmo-remove-passwd-3 ((case test-elmo-util))
140 (let ((password "cGFzc3dk")
141 (elmo-passwd-alist '(("foo" . "key")
145 (elmo-remove-passwd "key")
147 (equal '(("foo" . "key")
149 elmo-passwd-alist))))
151 (luna-define-method test-elmo-passwd-alist-clear-1 ((case test-elmo-util))
152 "Check shred ALL password."
153 (let* ((password1 "cGFzc3dk")
154 (password2 (copy-sequence password1))
155 (elmo-passwd-alist (list (cons "key1" password1)
156 (cons "key2" password2))))
157 (elmo-passwd-alist-clear)
159 (string= "\0\0\0\0\0\0\0\0" password1))
161 (string= "\0\0\0\0\0\0\0\0" password2))))
163 (luna-define-method test-elmo-address-quote-specials-1 ((case test-elmo-util))
166 (string= "\"dot.atom.text\""
167 (elmo-address-quote-specials "dot.atom.text")))
170 (elmo-address-quote-specials "..."))))
172 (luna-define-method test-elmo-address-quote-specials-2 ((case test-elmo-util))
176 "atext!#$%&'*+-/=?^_`{|}~"
177 (elmo-address-quote-specials "atext!#$%&'*+-/=?^_`{|}~"))))
179 (luna-define-method test-elmo-elmo-flatten-1 ((case test-elmo-util))
184 (elmo-flatten '(1 2 (3 4 5))))))
186 (luna-define-method test-elmo-number-set-member-1 ((case test-elmo-util))
190 (elmo-number-set-member 1 '((1 . 99)))))
193 (elmo-number-set-member 99 '((1 . 99))))))
195 (luna-define-method test-elmo-number-set-member-2 ((case test-elmo-util))
198 (null (elmo-number-set-member 0 '((1 . 99)))))
200 (null (elmo-number-set-member 100 '((1 . 99))))))
202 (luna-define-method test-elmo-number-set-append-list-1 ((case test-elmo-util))
206 (elmo-number-set-append-list '((1 . 99)) '(100)))))
208 (luna-define-method test-elmo-number-set-append-1 ((case test-elmo-util))
212 (elmo-number-set-append '((1 . 99)) 100))))
214 (luna-define-method test-elmo-number-set-delete-1 ((case test-elmo-util))
218 (elmo-number-set-delete '(1 2 3) 1))))
220 (luna-define-method test-elmo-number-set-delete-2 ((case test-elmo-util))
224 (elmo-number-set-delete '(1 2 3) 2))))
226 (luna-define-method test-elmo-number-set-delete-3 ((case test-elmo-util))
230 (elmo-number-set-delete '(1 2 3) 3))))
232 (luna-define-method test-elmo-number-set-delete-4 ((case test-elmo-util))
236 (elmo-number-set-delete '((1 . 100)) 1))))
238 (luna-define-method test-elmo-number-set-delete-5 ((case test-elmo-util))
241 (equal '(1 (3 . 100))
242 (elmo-number-set-delete '((1 . 100)) 2))))
244 (luna-define-method test-elmo-number-set-delete-6 ((case test-elmo-util))
247 (equal '((1 . 49) (51 . 100))
248 (elmo-number-set-delete '((1 . 100)) 50))))
250 (luna-define-method test-elmo-number-set-delete-7 ((case test-elmo-util))
253 (equal '((1 . 98) 100)
254 (elmo-number-set-delete '((1 . 100)) 99))))
256 (luna-define-method test-elmo-number-set-delete-8 ((case test-elmo-util))
260 (elmo-number-set-delete '((1 . 100)) 100))))
262 (luna-define-method test-elmo-number-set-delete-list-1 ((case test-elmo-util))
266 (elmo-number-set-delete-list '((1 . 100)) '(100)))))
268 (luna-define-method test-elmo-number-set-to-number-list-1 ((case test-elmo-util))
271 (equal '(1 2 3 4 5 6 7 8 9)
272 (elmo-number-set-to-number-list '((1 . 9)))))
275 (elmo-number-set-to-number-list '(1)))))