[PATCH 2/2] test: test format version difference between v2 and v3

Jani Nikula jani at nikula.org
Sat Feb 25 05:31:32 PST 2017


Schemata v3 changed message filename field to a list. Test both
versions 2 and 3.
---
 test/T160-json.sh | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/test/T160-json.sh b/test/T160-json.sh
index 099632b4a286..85b9b41f314c 100755
--- a/test/T160-json.sh
+++ b/test/T160-json.sh
@@ -70,4 +70,71 @@ test_expect_code 20 "Format version: too low" \
 test_expect_code 21 "Format version: too high" \
     "notmuch search --format-version=999 \\*"
 
+test_begin_subtest "Show message: multiple filenames"
+add_message "[id]=message-id at example.com [filename]=copy1"
+add_message "[id]=message-id at example.com [filename]=copy2"
+cat <<EOF > EXPECTED
+[
+    [
+        [
+            {
+                "date_relative": "2001-01-05",
+                "excluded": false,
+                "filename": [
+                    "${MAIL_DIR}/copy1",
+                    "${MAIL_DIR}/copy2"
+                ],
+                "headers": {
+                    "Date": "Fri, 05 Jan 2001 15:43:52 +0000",
+                    "From": "Notmuch Test Suite <test_suite at notmuchmail.org>",
+                    "Subject": "Show message: multiple filenames",
+                    "To": "Notmuch Test Suite <test_suite at notmuchmail.org>"
+                },
+                "id": "message-id at example.com",
+                "match": true,
+                "tags": [
+                    "inbox",
+                    "unread"
+                ],
+                "timestamp": 978709432
+            },
+            []
+        ]
+    ]
+]
+EOF
+output=$(notmuch show --format=json --body=false id:message-id at example.com)
+test_expect_equal_json "$output" "$(cat EXPECTED)"
+
+test_begin_subtest "Show message: multiple filenames, format version 2"
+cat <<EOF > EXPECTED
+[
+    [
+        [
+            {
+                "date_relative": "2001-01-05",
+                "excluded": false,
+                "filename": "${MAIL_DIR}/copy1",
+                "headers": {
+                    "Date": "Fri, 05 Jan 2001 15:43:52 +0000",
+                    "From": "Notmuch Test Suite <test_suite at notmuchmail.org>",
+                    "Subject": "Show message: multiple filenames",
+                    "To": "Notmuch Test Suite <test_suite at notmuchmail.org>"
+                },
+                "id": "message-id at example.com",
+                "match": true,
+                "tags": [
+                    "inbox",
+                    "unread"
+                ],
+                "timestamp": 978709432
+            },
+            []
+        ]
+    ]
+]
+EOF
+output=$(notmuch show --format=json --body=false --format-version=2 id:message-id at example.com)
+test_expect_equal_json "$output" "$(cat EXPECTED)"
+
 test_done
-- 
2.11.0



More information about the notmuch mailing list