diff options
author | Arun Isaac | 2019-10-09 02:04:38 +0530 |
---|---|---|
committer | Arun Isaac | 2019-10-09 02:04:38 +0530 |
commit | 121073cb725aef9baecaac0cfb6cf3f5a287c4e7 (patch) | |
tree | f8870bbb9ebc839b8b6df45a42321e65e1e1d4ca | |
parent | e0849c498564b4d23df503a34c22fb237551bbc8 (diff) | |
download | guile-email-121073cb725aef9baecaac0cfb6cf3f5a287c4e7.tar.gz guile-email-121073cb725aef9baecaac0cfb6cf3f5a287c4e7.tar.lz guile-email-121073cb725aef9baecaac0cfb6cf3f5a287c4e7.zip |
email: Return keywords header as a list.
* email/email.scm (parse-email-headers): Return keywords header as a
list of strings.
* tests/email.scm ("keywords header must be a list"): New test.
-rw-r--r-- | email/email.scm | 2 | ||||
-rw-r--r-- | tests/email.scm | 11 |
2 files changed, 13 insertions, 0 deletions
diff --git a/email/email.scm b/email/email.scm index 8cb9757..fdd8031 100644 --- a/email/email.scm +++ b/email/email.scm @@ -873,6 +873,8 @@ list of header keys and values." (disposition . ,post-process-content-disposition) (subject . ,(match-lambda* (`(subject ,subject) `(subject ,(decode-mime-encoded-word subject))))) + (keywords . ,(lambda (_ value) + (cons 'keywords (string-split value #\,)))) (fields . ,(lambda (_ . fields) (add-default-headers (post-process-fields fields)))) (*text* . ,(lambda (_ value) value)) diff --git a/tests/email.scm b/tests/email.scm index c82f567..03c3b70 100644 --- a/tests/email.scm +++ b/tests/email.scm @@ -365,6 +365,17 @@ copyright =A9") (content-transfer-encoding . quoted-printable)) "copyright �")) +(test-alist= "keywords header must be a list" + (parse-email-headers + "Keywords: foo, bar +") + + `((keywords " foo" " bar") + (content-type (type . text) + (subtype . plain) + (charset . "utf-8")) + (content-transfer-encoding . 7bit))) + (test-equal "parse name-addr email address" (parse-email-address "Foo <foo@example.org>") '((name . "Foo") (address . "foo@example.org"))) |