(test-spamfilter): Check `spamf-corpus-name'.
[elisp/wanderlust.git] / tests / check-modules.el
1 (require 'lunit)
2 (require 'wl)
3
4 (luna-define-class check-modules (lunit-test-case))
5
6 ;;;
7 ;;; environment test for user (not for developer)
8 ;;;
9
10 ;; APEL
11 (luna-define-method test-apel-version ((case check-modules))
12   (require 'apel-ver)
13   (lunit-assert
14    (product-version>= (product-find 'apel-ver) '(10 3))))
15
16 (luna-define-method test-modules-charsets-mime-charset-alist ((case check-modules))
17   (require 'mcharset)
18   (lunit-assert
19    (not (memq nil charsets-mime-charset-alist))))
20
21 ;; X-Face on XEmacs
22 (luna-define-method test-x-face-xmas ((case check-modules))
23   (when (and (locate-library "x-face") (featurep 'xemacs))
24     (lunit-assert
25      (check-modules-x-face-xmas-wl-display-x-face-was-argument-required))))
26
27 (defun check-modules-x-face-xmas-wl-display-x-face-was-argument-required ()
28   "When `x-face-xmas-wl-display-x-face' has non-optional argument, return nil."
29   (require 'x-face-xmas)
30   (condition-case nil
31       (with-temp-buffer
32         (x-face-xmas-wl-display-x-face)
33         t)
34     (wrong-number-of-arguments)))
35
36 ;; x-face-mule
37 (luna-define-method test-x-face-mule ((case check-modules))
38   (when (and (locate-library "x-face-mule")
39              (not (featurep 'xemacs))
40              (not (locate-library "x-face-e21")))
41     (require 'x-face-mule)
42     (lunit-assert (fboundp 'x-face-decode-message-header))
43     (lunit-assert (check-modules-x-face-decode-message-header))))
44
45 (defun check-modules-x-face-decode-message-header ()
46   "When `x-face-decode-message-header' has non-optional argument, return nil."
47   (require 'x-face-mule)
48   (condition-case nil
49       (with-temp-buffer
50         (x-face-decode-message-header)
51         t)
52     (wrong-number-of-arguments)))
53
54 ;; MIME entity (FLIM API Version 1.14 Draft Release 3)
55 (luna-define-method test-flim-mime-entity ((case check-modules))
56   (require 'mime)
57   (lunit-assert (fboundp 'mime-open-entity)) ; [Required]<Suggest>
58   (lunit-assert (fboundp 'mime-entity-children)) ; [Required]<Suggest>
59   (lunit-assert (fboundp 'mime-entity-fetch-field)) ; [Required]<Suggest>
60   (lunit-assert (fboundp 'mime-insert-text-content)) ; [Required]
61   (lunit-assert (boundp 'default-mime-charset)) ; [Required]
62   (lunit-assert (fboundp 'mime-entity-content)) ; [Required]
63   (lunit-assert (fboundp 'mime-write-entity-content)) ; [Required]
64   (lunit-assert (fboundp 'mime-insert-entity)) ; [Required]
65   (lunit-assert (fboundp 'mime-write-entity)) ; [Required]
66   (lunit-assert (fboundp 'mime-insert-entity-body)) ; [Required]
67   (lunit-assert (fboundp 'mime-write-entity-body))) ; [Required]
68
69 ;; MIME content information (FLIM API Version 1.14 Draft Release 3)
70 (luna-define-method test-flim-mime-content-information ((case check-modules))
71   (require 'mime)
72   (lunit-assert (fboundp 'mime-content-type-primary-type)) ; [Required]
73   (lunit-assert (fboundp 'mime-content-type-subtype)) ; [Required]
74   (lunit-assert (fboundp 'mime-content-type-parameter)) ; [Required]
75   (lunit-assert (fboundp 'mime-content-disposition-type)) ; [Required]
76   (lunit-assert (fboundp 'mime-content-disposition-parameter))) ; [Required]
77
78 ;; encoded-word (FLIM API Version 1.14 Draft Release 3)
79 (luna-define-method test-flim-encoded-word ((case check-modules))
80   (require 'mime)
81   (lunit-assert (fboundp 'mime-decode-field-body)) ; [Required]<Suggest>
82   (lunit-assert (fboundp 'mime-encode-field-body))) ; [Required]<Suggest>
83
84 ;; Content-Transfer-Encoding (FLIM API Version 1.14 Draft Release 3)
85 (luna-define-method test-flim-content-transfer-encoding ((case check-modules))
86   (require 'mel)
87   ;; mime-decode-string (string encoding) [Required]<Suggest>
88   (lunit-assert (fboundp 'mime-decode-string))
89   (lunit-assert (fboundp (mel-find-function 'mime-decode-string "base64")))
90   ;; mime-encode-string (string encoding)  [Required]<Suggest>
91   (lunit-assert (fboundp (mel-find-function 'mime-encode-string "base64")))
92
93   (lunit-assert (fboundp 'base64-decode-string)) ; [Required]
94   (lunit-assert (fboundp 'base64-encode-string)) ; [Required]
95   (lunit-assert (fboundp 'mime-write-decoded-region)) ; [Required]<Suggest>
96   (lunit-assert (fboundp 'mime-insert-encoded-file)) ; [Required]<Suggest>
97   (lunit-assert (fboundp 'binary-write-decoded-region)) ; [Required]
98   (lunit-assert (fboundp 'binary-insert-encoded-file))) ; [Required]
99
100 ;; Mailcap (FLIM API Version 1.14 Draft Release 3)
101 (luna-define-method test-flim-mailcap ((case check-modules))
102   (require 'mime-conf)
103   (lunit-assert (fboundp 'mime-parse-mailcap-buffer)) ; [Required]<Suggest>
104   (lunit-assert (boundp 'mime-mailcap-file)) ; [Required]<Suggest>
105   (lunit-assert (fboundp 'mime-parse-mailcap-file)) ; [Required]<Suggest>
106   (lunit-assert (fboundp 'mime-format-mailcap-command))) ; [Required]<Suggest>
107
108 ;; STD 11 (FLIM API Version 1.14 Draft Release 3)
109 (luna-define-method test-flim-std11 ((case check-modules))
110   (require 'std11)
111   (lunit-assert (fboundp 'std11-narrow-to-header)) ; [Required]
112   (lunit-assert (fboundp 'std11-fetch-field)) ; [Required]
113   (lunit-assert (fboundp 'std11-field-body)) ; [Required]
114   (lunit-assert (fboundp 'std11-unfold-string))) ; [Required]
115
116 ;; SMTP (FLIM API Version 1.14 Draft Release 3)
117 (luna-define-method test-flim-smtp ((case check-modules))
118   (require 'smtp)
119   (lunit-assert (fboundp 'smtp-send-buffer))) ; [Suggest]
120
121
122 ;; SEMI
123 (luna-define-method test-semi-mime-edit ((case check-modules))
124   (require 'mime-edit)
125   (lunit-assert (fboundp 'mime-find-file-type))
126   (lunit-assert (fboundp 'mime-edit-content-beginning))
127   (lunit-assert (fboundp 'mime-edit-content-end))
128   (lunit-assert (fboundp 'mime-edit-preview-message))
129   (lunit-assert (fboundp 'mime-create-tag))
130   (lunit-assert (fboundp 'mime-make-text-tag)))
131
132 (luna-define-method test-semi-mime-view ((case check-modules))
133   (require 'mime-view)
134   (lunit-assert (fboundp 'mime-display-message))
135   (lunit-assert (fboundp 'mime-maybe-hide-echo-buffer))
136   (lunit-assert (fboundp 'mime-preview-original-major-mode))
137   (lunit-assert (fboundp 'mime-preview-follow-current-entity))
138   (lunit-assert (fboundp 'mime-view-mode))
139   (lunit-assert (fboundp 'mime-display-text/plain))
140   (lunit-assert (fboundp 'mime-entity-situation)))
141
142 (luna-define-method test-semi-mime-play ((case check-modules))
143   (require 'mime-play)
144   (lunit-assert (fboundp 'mime-store-message/partial-piece)))
145
146 ;; emacs-w3m >= 1.3.4
147 (luna-define-method test-shimbun ((case check-modules))
148   (when (locate-library "shimbun")
149     (require 'shimbun)
150     (lunit-assert (fboundp 'shimbun-server))))
151
152 ;; spamfilter.el >= 0.10
153 (luna-define-method test-spamfilter ((case check-modules))
154   (when (locate-library "spamfilter")
155     (require 'spamfilter)
156     (lunit-assert (fboundp 'spamf-corpus-name))))