* elmo-pop3.el (elmo-folder-open-internal): Don't load location map if
[elisp/wanderlust.git] / tests / test-utf7.el
1 (require 'lunit)
2
3 ;; Emacs 21
4 (unless (and (fboundp 'find-coding-system) (find-coding-system 'utf-16))
5   (ignore-errors (require 'un-define)))
6 (require 'utf7)
7
8 ;; Emacs 21.3.50 to 22
9 (when (fboundp 'utf-translate-cjk-mode)
10   (utf-translate-cjk-mode 1))
11
12 (luna-define-class test-utf7 (lunit-test-case))
13
14 (luna-define-method test-utf7-encode-string-nihongo ((case test-utf7))
15   (lunit-assert
16    (string=
17     "+ZeVnLIqe-"
18     (utf7-encode-string
19      (string (make-char 'japanese-jisx0208 70 124)
20              (make-char 'japanese-jisx0208 75 92)
21              (make-char 'japanese-jisx0208 56 108))))))
22
23 (luna-define-method test-utf7-encode-string-smiling-face ((case test-utf7))
24   (lunit-assert
25    (string=
26     "Hi Mom -+Jjo--!"
27     (utf7-encode-string
28      (concat "Hi Mom -"
29              (string (make-char 'mule-unicode-2500-33ff 35 58))
30              "-!")))))
31
32 (luna-define-method test-utf7-encode-string-alpha ((case test-utf7))
33   (lunit-assert
34    (string=
35     "A+ImIDkQ-."
36     (utf7-encode-string
37      (concat "A"
38              (string (make-char 'mule-unicode-0100-24ff 121 34)
39                      (make-char 'mule-unicode-0100-24ff 38 113))
40              ".")))))
41
42 (luna-define-method test-utf7-encode-string-plus ((case test-utf7))
43   (lunit-assert
44    (string= "+-" (utf7-encode-string "+"))))
45
46 (luna-define-method test-utf7-encode-string-noconv ((case test-utf7))
47   (lunit-assert
48    (string= "" (utf7-encode-string "")))
49   (lunit-assert
50    (string= "a" (utf7-encode-string "a")))
51   (lunit-assert
52    (string= "-" (utf7-encode-string "-")))
53   (lunit-assert
54    (string= "=" (utf7-encode-string "="))))
55
56
57 (luna-define-method test-utf7-decode-string-nihongo ((case test-utf7))
58   (lunit-assert
59    (string=
60     (string (make-char 'japanese-jisx0208 70 124)
61             (make-char 'japanese-jisx0208 75 92)
62             (make-char 'japanese-jisx0208 56 108))
63     (utf7-decode-string "+ZeVnLIqe-"))))
64
65 (luna-define-method test-utf7-decode-string-smiling-face ((case test-utf7))
66   (lunit-assert
67    (string=
68     (concat "Hi Mom -"
69             (string (make-char 'mule-unicode-2500-33ff 35 58))
70             "-!")
71     (utf7-decode-string "Hi Mom -+Jjo--!"))))
72
73 (luna-define-method test-utf7-decode-string-alpha ((case test-utf7))
74   (lunit-assert
75    (string=
76     (concat "A"
77             (string (make-char 'mule-unicode-0100-24ff 121 34)
78                     (make-char 'mule-unicode-0100-24ff 38 113))
79             ".")
80     (utf7-decode-string "A+ImIDkQ.")))  ; omit `-'
81   ;;
82   (lunit-assert
83    (string=
84     (concat "A"
85             (string (make-char 'mule-unicode-0100-24ff 121 34)
86                     (make-char 'mule-unicode-0100-24ff 38 113))
87             ".")
88     (utf7-decode-string "A+ImIDkQ-."))))
89
90 (luna-define-method test-utf7-decode-string-plus ((case test-utf7))
91   (lunit-assert
92    (string= "+" (utf7-decode-string "+-")))
93   (lunit-assert
94    (string= "++" (utf7-decode-string "+-+-")))
95   (lunit-assert
96    (string= "+++" (utf7-decode-string "+-+-+-")))
97   (lunit-assert
98    (string= "++++" (utf7-decode-string "+-+-+-+-"))))
99
100 (luna-define-method test-utf7-decode-string-noconv ((case test-utf7))
101   (lunit-assert
102    (string= "" (utf7-decode-string "")))
103   (lunit-assert
104    (string= "a" (utf7-decode-string "a")))
105   (lunit-assert
106    (string= "-" (utf7-decode-string "-")))
107   (lunit-assert
108    (string= "=" (utf7-encode-string "="))))