]> git.notmuchmail.org Git - notmuch/commitdiff
test: test format version difference between v2 and v3
authorJani Nikula <jani@nikula.org>
Sat, 25 Feb 2017 13:31:32 +0000 (15:31 +0200)
committerDavid Bremner <david@tethera.net>
Sun, 26 Feb 2017 11:42:02 +0000 (07:42 -0400)
Schemata v3 changed message filename field to a list. Test both
versions 2 and 3.

test/T160-json.sh

index 099632b4a286ef4e2bccc64564a051dbf00dea37..85b9b41f314c9f34c1e98587995b0b7c812630f4 100755 (executable)
@@ -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@example.com [filename]=copy1"
+add_message "[id]=message-id@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@notmuchmail.org>",
+                    "Subject": "Show message: multiple filenames",
+                    "To": "Notmuch Test Suite <test_suite@notmuchmail.org>"
+                },
+                "id": "message-id@example.com",
+                "match": true,
+                "tags": [
+                    "inbox",
+                    "unread"
+                ],
+                "timestamp": 978709432
+            },
+            []
+        ]
+    ]
+]
+EOF
+output=$(notmuch show --format=json --body=false id:message-id@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@notmuchmail.org>",
+                    "Subject": "Show message: multiple filenames",
+                    "To": "Notmuch Test Suite <test_suite@notmuchmail.org>"
+                },
+                "id": "message-id@example.com",
+                "match": true,
+                "tags": [
+                    "inbox",
+                    "unread"
+                ],
+                "timestamp": 978709432
+            },
+            []
+        ]
+    ]
+]
+EOF
+output=$(notmuch show --format=json --body=false --format-version=2 id:message-id@example.com)
+test_expect_equal_json "$output" "$(cat EXPECTED)"
+
 test_done