aboutsummaryrefslogtreecommitdiff
path: root/tests/email.scm
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/email.scm
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/email.scm')
-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))