X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=TESTPAT;h=d9a81d6e77e27c81965adba5ca4928b1665e3245;hb=6769bf5954ca2bf221dfa9a41e2d47b24a135d79;hp=1290c99078bd6d15ea53e7557c26900badcdd404;hpb=321fe06f7c522588348cee5be193bfe8b578983c;p=elisp%2Fflim.git diff --git a/TESTPAT b/TESTPAT index 1290c99..d9a81d6 100644 --- a/TESTPAT +++ b/TESTPAT @@ -19,71 +19,72 @@ ;;; test driver -;;; FLIM or FLAM -'(progn -(require 'mime) -(require 'ew-line) - -(if (< max-specpdl-size 1000) - (setq max-specpdl-size 1000)) - -(defun decode-test (src dsts &rest opts) - (setq src (ew-crlf-to-lf src)) - (setq eword-lexical-analyze-cache nil) - (setq eword-decode-sticked-encoded-word - (or (memq 'permit-sticked-comment opts) - (memq 'permit-sticked-special opts))) - (setq eword-decode-quoted-encoded-word nil) - (with-temp-buffer - (insert src "\n" mail-header-separator) - (eword-decode-header 'us-ascii mail-header-separator) - (goto-char (point-min)) - (std11-narrow-to-header mail-header-separator) - (std11-field-end) - (let ((result (std11-unfold-string - (buffer-substring (point-min) (point))))) - (if (member result dsts) t result)))) - -(defun encode-test (src dsts &rest opts) - (setq eword-lexical-analyze-cache nil) - (setq eword-decode-sticked-encoded-word nil) - (setq eword-decode-quoted-encoded-word nil) - (with-temp-buffer - (insert src "\n" mail-header-separator) - (goto-char (point-min)) - (eword-encode-header 'us-ascii) - (goto-char (point-min)) - (std11-narrow-to-header mail-header-separator) - (std11-field-end) - (let ((result (buffer-substring (point-min) (point)))) - (if (member result dsts) t result)))) -) - -;;; EW -(progn -(require 'ew-dec) -(require 'ew-line) - -(defun decode-test (src dsts &rest opts) - (setq ew-decode-field-cache-buf nil) - (let ((ew-decode-sticked-encoded-word nil) - (ew-decode-quoted-encoded-word nil) - (ew-ignore-75bytes-limit (memq 'ignore-75bytes-limit opts)) - (ew-ignore-76bytes-limit (memq 'ignore-76bytes-limit opts)) - (ew-permit-sticked-comment (memq 'permit-sticked-comment opts)) - (ew-permit-sticked-special (memq 'permit-sticked-special opts))) - (string-match "\\`[^:]*:" src) - (let* ((field-name (substring src - (match-beginning 0) - (1- (match-end 0)))) - (field-body (substring src (match-end 0))) - (result (ew-crlf-unfold - (concat field-name ":" - (ew-decode-field field-name field-body))))) - (if (member result dsts) t result)))) - -(defun encode-test (src dsts &rest opts) - nil) +(defvar target 'doodle) +(cond + ((eq target 'flim) ; FLIM or FLAM + (require 'mime) + (require 'ew-line) + + (if (< max-specpdl-size 1000) + (setq max-specpdl-size 1000)) + + (defun decode-test (src dsts &rest opts) + (setq src (ew-crlf-to-lf src)) + (setq eword-lexical-analyze-cache nil) + (setq eword-decode-sticked-encoded-word + (or (memq 'permit-sticked-comment opts) + (memq 'permit-sticked-special opts))) + (setq eword-decode-quoted-encoded-word nil) + (with-temp-buffer + (insert src "\n" mail-header-separator) + (eword-decode-header 'us-ascii mail-header-separator) + (goto-char (point-min)) + (std11-narrow-to-header mail-header-separator) + (std11-field-end) + (let ((result (std11-unfold-string + (buffer-substring (point-min) (point))))) + (if (member result dsts) t result)))) + + (defun encode-test (src dsts &rest opts) + (setq eword-lexical-analyze-cache nil) + (setq eword-decode-sticked-encoded-word nil) + (setq eword-decode-quoted-encoded-word nil) + (with-temp-buffer + (insert src "\n" mail-header-separator) + (goto-char (point-min)) + (eword-encode-header 'us-ascii) + (goto-char (point-min)) + (std11-narrow-to-header mail-header-separator) + (std11-field-end) + (let ((result (buffer-substring (point-min) (point)))) + (if (member result dsts) t result))))) + + ((eq target 'doodle) ; DOODLE + (require 'ew-dec) + (require 'ew-line) + + (defun decode-test (src dsts &rest opts) + (setq ew-decode-field-cache-buf nil) + (let ((ew-decode-sticked-encoded-word nil) + (ew-decode-quoted-encoded-word nil) + (ew-ignore-75bytes-limit (memq 'ignore-75bytes-limit opts)) + (ew-ignore-76bytes-limit (memq 'ignore-76bytes-limit opts)) + (ew-permit-sticked-comment (memq 'permit-sticked-comment opts)) + (ew-permit-sticked-special (memq 'permit-sticked-special opts)) + (ew-permit-null-encoded-text nil)) + (string-match "\\`[^:]*:" src) + (let* ((field-name (substring src + (match-beginning 0) + (1- (match-end 0)))) + (field-body (substring src (match-end 0))) + (result (ew-crlf-unfold + (concat field-name ":" + (ew-decode-field field-name field-body))))) + (if (member result dsts) t result)))) + + (defun encode-test (src dsts &rest opts) + nil) + ) ) ;;; @@ -119,12 +120,14 @@ res)) (defun report () - (insert - (format "\n\"Decode: %d/%d Encode: %d/%d Total: %d/%d\"" - decode-succ-count decode-all-count - encode-succ-count encode-all-count - (+ decode-succ-count encode-succ-count) - (+ decode-all-count encode-all-count)))) + (let ((report (format "Decode: %d/%d Encode: %d/%d Total: %d/%d" + decode-succ-count decode-all-count + encode-succ-count encode-all-count + (+ decode-succ-count encode-succ-count) + (+ decode-all-count encode-all-count)))) + (if noninteractive + (princ (concat report "\n")) + (insert "\n\"" report "\"")))) ;;;start-test @@ -986,6 +989,25 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r =?ISO-2022-JP?B?GyRCJCIbKEI=?=)(=?ISO-2022-JP?B?GyRCJCIbKEI=?=)") +(encode +"Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ?$(C$!(B?" +"Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =?EUC-KR?B?P6ShPw==?=") + +(encode +"Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ?$(C$!(B?" +"Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =?EUC-KR?B?P6Sh?=\r + =?US-ASCII?Q?=3F?=") + +(encode +"Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ?$(C$!(B?" +"Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa =?EUC-KR?B?P6Sh?=\r + =?US-ASCII?Q?=3F?=") + +(encode +"Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ?$(C$!(B?" +"Subject: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r + =?EUC-KR?B?P6ShPw==?=") + ;---------------------------------------------------------------------------- ;;; Section 6: Encoding melancholic inputs. @@ -1096,6 +1118,96 @@ =?ISO-2022-JP?B?GyRCJCgbKEI=?= " 'separate-sticked-special) +(encode +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaa " +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6ShPw==?=()aaaaa\r + " +'permit-sticked-comment) + +(encode +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaa " +'("From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r + =?US-ASCII?Q?=3F?=()aaaaa " + "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r + =?EUC-KR?B?pKE/?=()aaaaa ") +'permit-sticked-comment) + +(encode +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaa " +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?= + =?US-ASCII?Q?=3F?=()aaaaa " +'permit-sticked-comment) + +(encode +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +'("From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r + =?US-ASCII?Q?=3F?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " + "From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r + =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ") +'permit-sticked-comment) + +(encode +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r + =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +'permit-sticked-comment) + +(encode +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r + =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +'permit-sticked-comment) + +(encode +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r + =?US-ASCII?Q?=3F?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +'permit-sticked-comment) + +(encode +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r + =?US-ASCII?Q?=3F?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r + " +'permit-sticked-comment) + +(encode +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r + =?US-ASCII?Q?=3F?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r + " +'permit-sticked-comment) + +(encode +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +"From: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r + =?US-ASCII?Q?=3F?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r + " +'permit-sticked-comment) + +(encode +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +"From: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?US-ASCII?Q?=3F?=\r + =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r + " +'permit-sticked-comment) + +(encode +"From: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()?$(C$!(B?()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa " +'("From: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa()=?EUC-KR?B?P6Sh?=\r + =?US-ASCII?Q?=3F?=()=?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?=\r + =?US-ASCII?Q?aaaaaaaaaaaaaaaa?= " + "From: =?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?= + =?US-ASCII?Q?aa?=()=?US-ASCII?Q?=3F?=\r + =?EUC-KR?B?pKE/?=()aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r + ") +'permit-sticked-comment) + +;---------------------------------------------------------------------------- + ;;; Section 7: Using embedded-encoded-words. ;; ;; embedded-encoded-word $BI=8=(B @@ -1137,7 +1249,7 @@ ;; 1/3 ($B>.?tE@0J2<@Zl9g!"4q?tHVL\$N$b$N$KBP$7$F>e5-$N%k!<%k$rE,MQ$9$k!#(B +;; $B$,=E$J$k>l9g!"4q?tHVL\$N$b$N$KBP$7$F>e5-$N%k!<%k$rE,MQ$9$k!#(B ;; ;; NOTE: + $B$r(B embedded-encoded-word $BI=8=$N(B quote $BJ8;z$H8F$V!#(B ;; @@ -1171,9 +1283,10 @@ ;; ;; NOTE: RFC2047 $B$G$O(B encoded-word $B$,6uGr$G6h@Z$i$l$J$1$l$P$J$i$J$$$H$+!"(B ;; encoded-word $B$O(B 75bytes $B0J2<$G$J$1$l$P$J$i$J$$$H$+!"(B -;; encoded-word $B$,4^$^$l$k9T$O(B 76bytes $B0J2<$G$J$1$l$P$J$i$J$$$J$I$H$$$&(B +;; encoded-word $B$,4^$^$l$k9T$O(B 76bytes $B0J2<$G$J$1$l$P$J$i$J$$$H$+!"(B +;; encoded-text $B$,(B 1byte $B0J>e$J$1$l$P$J$i$J$$$J$I$H$$$&(B ;; $B5,Ls$,$"$k$,!"(Bembedded-encoded-word $BI=8=$G$O$=$l$i$O:NMQ$7$J$$!#(B -;; $BC1=c$K(B encoded-word $BFbIt$NJ8K!$@$1$rMxMQ$9$k!#(B +;; $BC1=c$K(B encoded-word $BFbIt$NJ8K!$@$1$r(B($B=$@5$7$F(B)$BMxMQ$9$k!#(B ;; ($BK\$l$=$NJ8;zNs$=$N$b$N$rI=8=$9$k$,!"$=$l$i$rO"7k$7$?J8;zNs(B ;; =?+US-ASCII?Q?abcd?= $B$O(B abcd $B$H$$$&J8;zNs$rI=8=$9$k$3$H$K$J$j!"(B ;; $B$=$l$>$l$NFbMF$NO"7k$H$O$J$i$J$$!#(B +;; $B$3$N>l9g!"(B=?+++US-ASCII?Q?abcd?= $B$H$7$J$1$l$P$J$i$J$$!#(B ;; ;; $B$3$l$O$H$/$K(B Non ASCII $B3HD%(B RFC822 $B$NCf$K(B embedded-encoded-word $BI=8=$r(B ;; $BKd$a9~$`$H$-$K5$$rIU$1$J$1$l$P$J$i$J$$!#(B($BKd$a9~$s$@7k2L$O@5$7$$(B