summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/mu4e-attachments.el2
-rw-r--r--tests/test-mu4e-attachments.el12
2 files changed, 7 insertions, 7 deletions
diff --git a/modules/mu4e-attachments.el b/modules/mu4e-attachments.el
index 87392681..8f711000 100644
--- a/modules/mu4e-attachments.el
+++ b/modules/mu4e-attachments.el
@@ -87,11 +87,11 @@ The result is an alist of display labels to MIME part plists."
(defun cj/mu4e--save-attachment-part (part directory)
"Save attachment PART to DIRECTORY and return the final path."
- (cj/mu4e--ensure-attachment-save-functions)
(let ((handle (plist-get part :handle)))
(unless handle
(user-error "Attachment has no MIME handle: %s"
(or (plist-get part :filename) "<unnamed>")))
+ (cj/mu4e--ensure-attachment-save-functions)
(let* ((path (funcall mu4e-uniquify-save-file-name-function
(mu4e-join-paths directory
(plist-get part :filename)))))
diff --git a/tests/test-mu4e-attachments.el b/tests/test-mu4e-attachments.el
index 86a42916..3105d710 100644
--- a/tests/test-mu4e-attachments.el
+++ b/tests/test-mu4e-attachments.el
@@ -67,13 +67,13 @@
(should (equal saved '("handle" "/downloads/invoice.pdf.unique"))))))
(ert-deftest test-mu4e-attachments-save-part-errors-without-handle ()
- "Error: a malformed part without a MIME handle fails clearly."
- (let ((part (test-mu4e-attachments--part "invoice.pdf" 3 nil))
- (mu4e-uniquify-save-file-name-function #'identity))
+ "Error: a malformed part without a MIME handle fails clearly.
+The handle check runs before `cj/mu4e--ensure-attachment-save-functions',
+so this fails the same way whether or not mu4e's MIME support is loadable."
+ (let ((part (test-mu4e-attachments--part "invoice.pdf" 3 nil)))
(setq part (plist-put part :handle nil))
- (cl-letf (((symbol-function 'mu4e-join-paths) #'list))
- (should-error (cj/mu4e--save-attachment-part part "/downloads")
- :type 'user-error))))
+ (should-error (cj/mu4e--save-attachment-part part "/downloads")
+ :type 'user-error)))
(ert-deftest test-mu4e-attachments-save-all-prompts-once ()
"Normal: the save-all command prompts for a directory once and saves all parts."