branch: elpa/org-mime
commit 4bd5d55ba9bca84ffd938b477c72d701cf3736df
Author: Chen Bin <[email protected]>
Commit: Chen Bin <[email protected]>

    fixed logic
---
 org-mime.el            | 20 ++++++--------------
 test/org-mime-tests.el | 28 ++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+), 14 deletions(-)

diff --git a/org-mime.el b/org-mime.el
index 0fb34a3954..97c964a9be 100644
--- a/org-mime.el
+++ b/org-mime.el
@@ -482,20 +482,12 @@ If SUBTREEP is t, curret org node is subtree."
 
 (defun org-mime-build-mail-other-headers (cc bcc from)
   "Build mail header from CC, BCC, and FROM."
-  (cond
-   ((and cc bcc from)
-    (list (cons "Cc" cc)
-          (cons "Bcc" bcc)
-          (cons "From" from)
-          ))
-   (cc
-    (list (cons "Cc" cc)))
-   (bcc
-    (list (cons "Bcc" bcc)))
-   (from
-    (list (cons "From" from)))
-   (t
-    nil)))
+  (let* ((arr (list (cons "Cc" cc) (cons "Bcc" bcc)  (cons "From" from )))
+         rlt)
+    (dolist (e arr)
+      (when (cdr e)
+        (push e rlt)))
+    rlt))
 
 ;;;###autoload
 (defun org-mime-org-buffer-htmlize ()
diff --git a/test/org-mime-tests.el b/test/org-mime-tests.el
index 556b3b552a..dea0846277 100644
--- a/test/org-mime-tests.el
+++ b/test/org-mime-tests.el
@@ -86,4 +86,32 @@
       (setq str (buffer-string)))
     (should (string-match "<#multipart" str))))
 
+(ert-deftest test-org-mime-build-mail-other-headers ()
+ (let* ((cc "[email protected]")
+        (bcc "[email protected]")
+        (from "[email protected]")
+        h)
+   ;; CC
+   (setq h (nth 0 (org-mime-build-mail-other-headers cc nil nil)))
+   (should (string= (car h) "Cc"))
+
+   ;; CC and BCC
+   (setq h (nth 0 (org-mime-build-mail-other-headers cc bcc nil)))
+   (should (string= (car h) "Bcc"))
+   (should (string= (cdr h) bcc))
+   (setq h (nth 1 (org-mime-build-mail-other-headers cc bcc nil)))
+   (should (string= (car h) "Cc"))
+   (should (string= (cdr h) cc))
+
+   ;; CC, BCC, and FROM
+   (setq h (nth 0 (org-mime-build-mail-other-headers cc bcc from)))
+   (should (string= (car h) "From"))
+   (should (string= (cdr h) from))
+   (setq h (nth 1 (org-mime-build-mail-other-headers cc bcc from)))
+   (should (string= (car h) "Bcc"))
+   (should (string= (cdr h) bcc))
+   (setq h (nth 2 (org-mime-build-mail-other-headers cc bcc from)))
+   (should (string= (car h) "Cc"))
+   (should (string= (cdr h) cc))))
+
 (ert-run-tests-batch-and-exit)
\ No newline at end of file

Reply via email to