summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorArun Isaac2019-07-27 20:25:29 +0530
committerArun Isaac2019-07-28 12:13:43 +0530
commit9ac10570fca04800f04a439e484f41421864b99f (patch)
tree030144163601ddf43b72df64d84530f2f5871587 /tests
parentac83c2a00c13702bc365cd0f3074239fa63d743f (diff)
downloadguile-email-9ac10570fca04800f04a439e484f41421864b99f.tar.gz
guile-email-9ac10570fca04800f04a439e484f41421864b99f.tar.lz
guile-email-9ac10570fca04800f04a439e484f41421864b99f.zip
email: Decode MIME entities without headers.
* email/email.scm (email->headers+body): If there are no headers,
return "" as headers not an eof-object.
(parse-email-body): Parse headers of parent entity or email to
parse-mime-entity.
(add-default-mime-entity-headers): New function.
(parse-mime-entity): Use add-default-mime-entity-headers instead of
add-default-headers. Handle MIME entities without headers.
* tests/email.scm ("decode MIME entity without headers"): New test.
Diffstat (limited to 'tests')
-rw-r--r--tests/email.scm17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/email.scm b/tests/email.scm
index 856a5b9..177391e 100644
--- a/tests/email.scm
+++ b/tests/email.scm
@@ -102,6 +102,23 @@ Content-Length: 4349
     (x-mailer . "FooMail 4.0 4.03 (SMT460B92F)")
     (content-length . "4349")))
 
+(test-equal "decode MIME entity without headers"
+  ((module-ref (resolve-module '(email email))
+               'parse-mime-entity)
+   '((content-type (type . multipart)
+                   (subtype . mixed)))
+   (string->bytevector
+    "
+This is implicitly typed plain US-ASCII text.
+It does NOT end with a linebreak.
+" "utf-8"))
+  (make-mime-entity '((content-type (type . text)
+                                    (subtype . plain)
+                                    (charset . "utf-8"))
+                      (content-transfer-encoding . 7bit))
+                    "This is implicitly typed plain US-ASCII text.
+It does NOT end with a linebreak."))
+
 (test-equal "email with 8 bit encoding and non UTF-8 charset"
   (call-with-input-file "tests/email-with-8bit-encoding-and-non-utf8-charset"
     (compose parse-email get-bytevector-all))