4 (unless (and (fboundp 'find-coding-system) (find-coding-system 'utf-16))
5 (ignore-errors (require 'un-define)))
9 (when (fboundp 'utf-translate-cjk-mode)
10 (utf-translate-cjk-mode 1))
12 (luna-define-class test-utf7 (lunit-test-case))
14 (luna-define-method test-utf7-encode-string-nihongo ((case test-utf7))
19 (string (make-char 'japanese-jisx0208 70 124)
20 (make-char 'japanese-jisx0208 75 92)
21 (make-char 'japanese-jisx0208 56 108))))))
23 (luna-define-method test-utf7-encode-string-smiling-face ((case test-utf7))
29 (string (make-char 'mule-unicode-2500-33ff 35 58))
32 (luna-define-method test-utf7-encode-string-alpha ((case test-utf7))
38 (string (make-char 'mule-unicode-0100-24ff 121 34)
39 (make-char 'mule-unicode-0100-24ff 38 113))
42 (luna-define-method test-utf7-encode-string-plus ((case test-utf7))
44 (string= "+-" (utf7-encode-string "+"))))
46 (luna-define-method test-utf7-encode-string-noconv ((case test-utf7))
48 (string= "" (utf7-encode-string "")))
50 (string= "a" (utf7-encode-string "a")))
52 (string= "-" (utf7-encode-string "-")))
54 (string= "=" (utf7-encode-string "="))))
57 (luna-define-method test-utf7-decode-string-nihongo ((case test-utf7))
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-"))))
65 (luna-define-method test-utf7-decode-string-smiling-face ((case test-utf7))
69 (string (make-char 'mule-unicode-2500-33ff 35 58))
71 (utf7-decode-string "Hi Mom -+Jjo--!"))))
73 (luna-define-method test-utf7-decode-string-alpha ((case test-utf7))
77 (string (make-char 'mule-unicode-0100-24ff 121 34)
78 (make-char 'mule-unicode-0100-24ff 38 113))
80 (utf7-decode-string "A+ImIDkQ."))) ; omit `-'
85 (string (make-char 'mule-unicode-0100-24ff 121 34)
86 (make-char 'mule-unicode-0100-24ff 38 113))
88 (utf7-decode-string "A+ImIDkQ-."))))
90 (luna-define-method test-utf7-decode-string-plus ((case test-utf7))
92 (string= "+" (utf7-decode-string "+-")))
94 (string= "++" (utf7-decode-string "+-+-")))
96 (string= "+++" (utf7-decode-string "+-+-+-")))
98 (string= "++++" (utf7-decode-string "+-+-+-+-"))))
100 (luna-define-method test-utf7-decode-string-noconv ((case test-utf7))
102 (string= "" (utf7-decode-string "")))
104 (string= "a" (utf7-decode-string "a")))
106 (string= "-" (utf7-decode-string "-")))
108 (string= "=" (utf7-encode-string "="))))