2021-08-21 15:29:43 +02:00
|
|
|
;;; mime.lisp --- MIME regression tests
|
|
|
|
|
|
|
|
;;; Copyright (C) 2012 by Walter C. Pelissero
|
2021-08-02 15:15:39 +02:00
|
|
|
;;; Copyright (C) 2021 by the TVL Authors
|
2021-08-21 15:29:43 +02:00
|
|
|
|
|
|
|
;;; Author: Walter C. Pelissero <walter@pelissero.de>
|
|
|
|
;;; Project: mime4cl
|
|
|
|
|
|
|
|
#+cmu (ext:file-comment "$Module: mime.lisp")
|
|
|
|
|
|
|
|
;;; This library is free software; you can redistribute it and/or
|
|
|
|
;;; modify it under the terms of the GNU Lesser General Public License
|
|
|
|
;;; as published by the Free Software Foundation; either version 2.1
|
|
|
|
;;; of the License, or (at your option) any later version.
|
|
|
|
;;; This library is distributed in the hope that it will be useful,
|
|
|
|
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
;;; Lesser General Public License for more details.
|
|
|
|
;;; You should have received a copy of the GNU Lesser General Public
|
|
|
|
;;; License along with this library; if not, write to the Free
|
|
|
|
;;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
|
|
;;; 02111-1307 USA
|
|
|
|
|
|
|
|
(in-package :mime4cl-tests)
|
|
|
|
|
|
|
|
(defvar *samples-directory*
|
|
|
|
(merge-pathnames (make-pathname :directory '(:relative "samples"))
|
2022-01-19 14:39:58 +01:00
|
|
|
#.(or *compile-file-pathname*
|
|
|
|
*load-pathname*
|
|
|
|
#P"")))
|
2021-08-21 15:29:43 +02:00
|
|
|
|
2021-08-02 15:15:39 +02:00
|
|
|
(defvar *sample1-file* (make-pathname :defaults #.(or *compile-file-pathname*
|
|
|
|
*load-pathname*)
|
|
|
|
:name "sample1"
|
|
|
|
:type "msg"))
|
|
|
|
|
2021-08-21 15:29:43 +02:00
|
|
|
(deftest mime.1
|
2021-08-02 15:15:39 +02:00
|
|
|
(let* ((orig (mime-message *sample1-file*))
|
2022-01-19 14:39:58 +01:00
|
|
|
(dup (mime-message (with-output-to-string (out) (encode-mime-part orig out)))))
|
2021-08-21 15:29:43 +02:00
|
|
|
(mime= orig dup))
|
|
|
|
t)
|
|
|
|
|
|
|
|
(deftest mime.2
|
|
|
|
(loop
|
|
|
|
for f in (directory (make-pathname :defaults *samples-directory*
|
2022-01-19 14:39:58 +01:00
|
|
|
:name :wild
|
|
|
|
:type "txt"))
|
2021-08-21 15:29:43 +02:00
|
|
|
do
|
2022-01-19 14:39:58 +01:00
|
|
|
(format t "~A:~%" f)
|
|
|
|
(finish-output)
|
|
|
|
(let* ((orig (mime-message f))
|
|
|
|
(dup (mime-message (with-output-to-string (out) (encode-mime-part orig out)))))
|
|
|
|
(unless (mime= orig dup)
|
|
|
|
(return nil)))
|
2021-08-21 15:29:43 +02:00
|
|
|
finally (return t))
|
|
|
|
t)
|