* test-elmo-util.el (lunit-test-case-setup): Set `print-length',
[elisp/wanderlust.git] / tests / test-elmo-util.el
1 (require 'lunit)
2 (require 'elmo-util)
3
4
5 (luna-define-class test-elmo-util (lunit-test-case))
6
7 ;; setup & teardown
8 (defvar test-elmo-temoporary-file)
9
10 (luna-define-method lunit-test-case-setup ((case test-elmo-util))
11   (setq print-length 1
12         print-level 1)
13   (setq case-fold-search nil)
14   (setq test-elmo-temoporary-file
15         (make-temp-file temporary-file-directory)))
16
17 (luna-define-method lunit-test-case-teardown ((case test-elmo-util))
18   (when (file-exists-p test-elmo-temoporary-file)
19     (delete-file test-elmo-temoporary-file)))
20
21
22 (luna-define-method test-elmo-replace-string-as-filename-1 ((case test-elmo-util))
23   (lunit-assert
24    (let ((str "/foo//./../bar/"))
25      (string= str
26               (elmo-recover-string-from-filename
27                (elmo-replace-string-as-filename str))))))
28
29
30 ;; object save & load
31 (luna-define-method test-elmo-object-save-1 ((case test-elmo-util))
32   (let ((list '(1 2 3 4 5 6 7 8 9 10 11 12)))
33     (elmo-object-save test-elmo-temoporary-file list)
34     (lunit-assert
35      (equal list
36             (elmo-object-load test-elmo-temoporary-file)))))
37
38 (luna-define-method test-elmo-object-save-2 ((case test-elmo-util))
39   (let ((list '(1 (2 :foo (nil . :bar)))))
40     (elmo-object-save test-elmo-temoporary-file list)
41     (lunit-assert
42      (equal list
43             (elmo-object-load test-elmo-temoporary-file)))))
44
45 (luna-define-method test-elmo-save-string-1 ((case test-elmo-util))
46   )
47
48 ;; list functions
49 (luna-define-method test-elmo-uniq-list-1 ((case test-elmo-util))
50   (lunit-assert
51    (eq nil (elmo-uniq-list nil)))
52   (lunit-assert
53    (equal '(1) (elmo-uniq-list '(1))))
54   (lunit-assert
55    (equal '(1) (elmo-uniq-list '(1 1))))
56   (lunit-assert
57    (equal '(1) (elmo-uniq-list '(1 1 1)))))
58
59 (luna-define-method test-elmo-uniq-list-2 ((case test-elmo-util))
60   (lunit-assert
61    (equal '(1 2 3 4 5 6 nil)
62           (elmo-uniq-list '(1 2 3 4 1 5 6 nil nil 1 1 2))))
63   (lunit-assert
64    (equal '("foo") (elmo-uniq-list '("foo" "foo")))))
65
66 (luna-define-method test-elmo-uniq-list-delq ((case test-elmo-util))
67   (lunit-assert
68    (equal '("foo" "foo") (elmo-uniq-list '("foo" "foo") #'delq)))
69   (lunit-assert
70    (equal '(:foo) (elmo-uniq-list '(:foo :foo) #'delq))))
71
72 (luna-define-method test-elmo-list-insert-1 ((case test-elmo-util))
73   (lunit-assert
74    (equal '(1 2 3 4 5)
75           (elmo-list-insert '(1 2 3 5) 4 3)))
76   (lunit-assert
77    (equal '(1 2 3 5 9)
78           (elmo-list-insert '(1 2 3 5) 9 :notfound)))
79 ;;; memq vs. member
80 ;;;   (equal '(1 2 "3" 5 4)
81 ;;;       (elmo-list-insert '(1 2 "3" 5) 4 "3"))
82    )
83
84 (luna-define-method test-elmo-list-insert-2 ((case test-elmo-util))
85   (let* ((list1 '(1 2 3 4 5))
86          (list2 list1))
87     (elmo-list-insert list1 4 3)
88     (lunit-assert
89      (eq list1 list2))))
90 ;;; memq vs. member
91 ;;;   (equal '(1 2 "3" 5 4)
92 ;;;       (elmo-list-insert '(1 2 "3" 5) 4 "3"))
93
94 (luna-define-method test-elmo-delete-char-1 ((case test-elmo-util))
95   (lunit-assert
96    (string= "f" (elmo-delete-char ?o "foo")))
97   (lunit-assert
98    (string= "f\nf" (elmo-delete-char ?o "foo\nfoo")))
99   (lunit-assert
100    (string= "" (elmo-delete-char ?o  "oo")))
101   (lunit-assert
102    (string= "" (elmo-delete-char ?o  ""))))
103
104 (luna-define-method test-elmo-concat-path-1 ((case test-elmo-util))
105   (lunit-assert
106    (string=
107     "/home/foo"
108     (elmo-concat-path "/home" "foo")))
109   (lunit-assert
110    (string=
111     (elmo-concat-path "/home/" "foo")
112     (elmo-concat-path "/home//" "foo"))))
113
114
115 (luna-define-method test-elmo-remove-passwd-1 ((case test-elmo-util))
116   (let* ((password "cGFzc3dk")
117          (elmo-passwd-alist (list (cons "key" password))))
118     (elmo-remove-passwd "key")
119     (lunit-assert
120      (string= "\0\0\0\0\0\0\0\0" password))
121     (lunit-assert
122      (null elmo-passwd-alist))))