1 ;; -*- lexical-binding: t -*-
5 (unless (and (fboundp 'find-coding-system) (find-coding-system 'utf-16))
6 (ignore-errors (require 'un-define)))
10 (when (fboundp 'utf-translate-cjk-mode)
11 (utf-translate-cjk-mode 1))
13 (luna-define-class test-utf7 (lunit-test-case))
15 (luna-define-method test-utf7-encode-string-nihongo ((case test-utf7))
20 (string (make-char 'japanese-jisx0208 70 124)
21 (make-char 'japanese-jisx0208 75 92)
22 (make-char 'japanese-jisx0208 56 108))))))
24 (luna-define-method test-utf7-encode-string-smiling-face ((case test-utf7))
30 (string (make-char 'mule-unicode-2500-33ff 35 58))
33 (luna-define-method test-utf7-encode-string-alpha ((case test-utf7))
39 (string (make-char 'mule-unicode-0100-24ff 121 34)
40 (make-char 'mule-unicode-0100-24ff 38 113))
43 (luna-define-method test-utf7-encode-string-plus ((case test-utf7))
45 (string= "+-" (utf7-encode-string "+"))))
47 (luna-define-method test-utf7-encode-string-noconv ((case test-utf7))
49 (string= "" (utf7-encode-string "")))
51 (string= "a" (utf7-encode-string "a")))
53 (string= "-" (utf7-encode-string "-")))
55 (string= "=" (utf7-encode-string "="))))
58 (luna-define-method test-utf7-decode-string-nihongo ((case test-utf7))
61 (string (make-char 'japanese-jisx0208 70 124)
62 (make-char 'japanese-jisx0208 75 92)
63 (make-char 'japanese-jisx0208 56 108))
64 (utf7-decode-string "+ZeVnLIqe-"))))
66 (luna-define-method test-utf7-decode-string-smiling-face ((case test-utf7))
70 (string (make-char 'mule-unicode-2500-33ff 35 58))
72 (utf7-decode-string "Hi Mom -+Jjo--!"))))
74 (luna-define-method test-utf7-decode-string-alpha ((case test-utf7))
78 (string (make-char 'mule-unicode-0100-24ff 121 34)
79 (make-char 'mule-unicode-0100-24ff 38 113))
81 (utf7-decode-string "A+ImIDkQ."))) ; omit `-'
86 (string (make-char 'mule-unicode-0100-24ff 121 34)
87 (make-char 'mule-unicode-0100-24ff 38 113))
89 (utf7-decode-string "A+ImIDkQ-."))))
91 (luna-define-method test-utf7-decode-string-plus ((case test-utf7))
93 (string= "+" (utf7-decode-string "+-")))
95 (string= "++" (utf7-decode-string "+-+-")))
97 (string= "+++" (utf7-decode-string "+-+-+-")))
99 (string= "++++" (utf7-decode-string "+-+-+-+-"))))
101 (luna-define-method test-utf7-decode-string-noconv ((case test-utf7))
103 (string= "" (utf7-decode-string "")))
105 (string= "a" (utf7-decode-string "a")))
107 (string= "-" (utf7-decode-string "-")))
109 (string= "=" (utf7-encode-string "="))))