* test-dist.el (test-refcard-version): Check version.tex.
[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 check-modules-apel-version ((case check-modules))
12   (require 'apel-ver)
13   (lunit-assert
14    (product-version>= (product-find 'apel-ver) '(10 3))))
15
16 ;; X-Face on XEmacs
17 (luna-define-method check-modules-x-face-xmas ((case check-modules))
18   (when (and (locate-library "x-face") (featurep 'xemacs))
19     (lunit-assert
20      (check-modules-x-face-xmas-wl-display-x-face-was-argument-required))))
21
22 (defun check-modules-x-face-xmas-wl-display-x-face-was-argument-required ()
23   "When `x-face-xmas-wl-display-x-face' has non-optional argument, return nil."
24   (require 'x-face-xmas)
25   (condition-case nil
26       (with-temp-buffer
27         (x-face-xmas-wl-display-x-face)
28         t)
29     (wrong-number-of-arguments)))
30
31 ;; MIME entity (FLIM API Version 1.14 Draft Release 3)
32 (luna-define-method check-modules-flim-mime-entity ((case check-modules))
33   (require 'mime)
34   (lunit-assert (fboundp 'mime-open-entity)) ; [Required]<Suggest>
35   (lunit-assert (fboundp 'mime-entity-children)) ; [Required]<Suggest>
36   (lunit-assert (fboundp 'mime-entity-fetch-field)) ; [Required]<Suggest>
37   (lunit-assert (fboundp 'mime-insert-text-content)) ; [Required]
38   (lunit-assert (boundp 'default-mime-charset)) ; [Required]
39   (lunit-assert (fboundp 'mime-entity-content)) ; [Required]
40   (lunit-assert (fboundp 'mime-write-entity-content)) ; [Required]
41   (lunit-assert (fboundp 'mime-insert-entity)) ; [Required]
42   (lunit-assert (fboundp 'mime-write-entity)) ; [Required]
43   (lunit-assert (fboundp 'mime-insert-entity-body)) ; [Required]
44   (lunit-assert (fboundp 'mime-write-entity-body))) ; [Required]
45
46 ;; MIME content information (FLIM API Version 1.14 Draft Release 3)
47 (luna-define-method check-modules-flim-mime-content-information ((case check-modules))
48   (require 'mime)
49   (lunit-assert (fboundp 'mime-content-type-primary-type)) ; [Required]
50   (lunit-assert (fboundp 'mime-content-type-subtype)) ; [Required]
51   (lunit-assert (fboundp 'mime-content-type-parameter)) ; [Required]
52   (lunit-assert (fboundp 'mime-content-disposition-type)) ; [Required]
53   (lunit-assert (fboundp 'mime-content-disposition-parameter))) ; [Required]
54
55 ;; encoded-word (FLIM API Version 1.14 Draft Release 3)
56 (luna-define-method check-modules-flim-encoded-word ((case check-modules))
57   (require 'mime)
58   (lunit-assert (fboundp 'mime-decode-field-body)) ; [Required]<Suggest>
59   (lunit-assert (fboundp 'mime-encode-field-body))) ; [Required]<Suggest>
60
61 ;; Content-Transfer-Encoding (FLIM API Version 1.14 Draft Release 3)
62 (luna-define-method check-modules-flim-content-transfer-encoding ((case check-modules))
63   (require 'mel)
64   (lunit-assert (fboundp 'mime-decode-string)) ; [Required]<Suggest>
65 ;;; document only?
66 ;;;  (lunit-assert (fboundp 'mime-encode-string)) ; [Required]<Suggest>
67   (lunit-assert (fboundp 'base64-decode-string)) ; [Required]
68   (lunit-assert (fboundp 'base64-encode-string)) ; [Required]
69   (lunit-assert (fboundp 'mime-write-decoded-region)) ; [Required]<Suggest>
70   (lunit-assert (fboundp 'mime-insert-encoded-file)) ; [Required]<Suggest>
71   (lunit-assert (fboundp 'binary-write-decoded-region)) ; [Required]
72   (lunit-assert (fboundp 'binary-insert-encoded-file))) ; [Required]
73
74 ;; Mailcap (FLIM API Version 1.14 Draft Release 3)
75 (luna-define-method check-modules-flim-mailcap ((case check-modules))
76   (require 'mime-conf)
77   (lunit-assert (fboundp 'mime-parse-mailcap-buffer)) ; [Required]<Suggest>
78   (lunit-assert (boundp 'mime-mailcap-file)) ; [Required]<Suggest>
79   (lunit-assert (fboundp 'mime-parse-mailcap-file)) ; [Required]<Suggest>
80   (lunit-assert (fboundp 'mime-format-mailcap-command))) ; [Required]<Suggest>
81
82 ;; STD 11 (FLIM API Version 1.14 Draft Release 3)
83 (luna-define-method check-modules-flim-std11 ((case check-modules))
84   (require 'std11)
85   (lunit-assert (fboundp 'std11-narrow-to-header)) ; [Required]
86   (lunit-assert (fboundp 'std11-fetch-field)) ; [Required]
87   (lunit-assert (fboundp 'std11-field-body)) ; [Required]
88   (lunit-assert (fboundp 'std11-unfold-string))) ; [Required]
89
90 ;; SMTP (FLIM API Version 1.14 Draft Release 3)
91 (luna-define-method check-modules-flim-smtp ((case check-modules))
92   (require 'smtp)
93   (lunit-assert (fboundp 'smtp-send-buffer))) ; [Suggest]
94
95
96 ;; SEMI
97 (luna-define-method check-modules-semi-mime-edit ((case check-modules))
98   (require 'mime-edit)
99   (lunit-assert (fboundp 'mime-find-file-type))
100   (lunit-assert (fboundp 'mime-edit-content-beginning))
101   (lunit-assert (fboundp 'mime-edit-content-end))
102   (lunit-assert (fboundp 'mime-edit-preview-message)))
103
104 (luna-define-method check-modules-semi-mime-view ((case check-modules))
105   (require 'mime-view)
106   (lunit-assert (fboundp 'mime-display-message))
107   (lunit-assert (fboundp 'mime-maybe-hide-echo-buffer))
108   (lunit-assert (fboundp 'mime-preview-original-major-mode))
109   (lunit-assert (fboundp 'mime-preview-follow-current-entity))
110   (lunit-assert (fboundp 'mime-view-mode))
111   (lunit-assert (fboundp 'mime-display-text/plain))
112   (lunit-assert (fboundp 'mime-entity-situation)))
113
114 (luna-define-method check-modules-semi-mime-play ((case check-modules))
115   (require 'mime-play)
116   (lunit-assert (fboundp 'mime-store-message/partial-piece)))