summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--email/email.scm2
-rw-r--r--tests/email.scm11
2 files changed, 12 insertions, 1 deletions
diff --git a/email/email.scm b/email/email.scm
index 7aea2d3..71f0718 100644
--- a/email/email.scm
+++ b/email/email.scm
@@ -1043,7 +1043,7 @@ list of header keys and values."
(peg:tree
(match-pattern fields headers))
`((received . ,(match-lambda*
- (`(received ,tokens ,timestamp)
+ (('received tokens (? date? timestamp))
(list 'received (string-join tokens) timestamp))
(('received tokens ...)
(list 'received (string-join tokens)))))
diff --git a/tests/email.scm b/tests/email.scm
index f283e71..a6d2b46 100644
--- a/tests/email.scm
+++ b/tests/email.scm
@@ -547,6 +547,17 @@ Content-Type: text/plain; charset=utf-8
(charset . "utf-8"))
(content-transfer-encoding . 7bit)))
+;; TODO: Fix this test once previous test is addressed.
+(test-alist= "Parse Received header with two tokens but no timestamp"
+ (parse-email-headers
+ "Received: from foo
+")
+ `((trace received "from foo")
+ (content-type (type . text)
+ (subtype . plain)
+ (charset . "utf-8"))
+ (content-transfer-encoding . 7bit)))
+
;;;
;;; Email addresses