aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/t0003-json.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/t0003-json.sh')
-rwxr-xr-xtest/t0003-json.sh46
1 files changed, 46 insertions, 0 deletions
diff --git a/test/t0003-json.sh b/test/t0003-json.sh
new file mode 100755
index 00000000..810262c4
--- /dev/null
+++ b/test/t0003-json.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+test_description="--format=json output"
+. ./test-lib.sh
+
+test_expect_success "Show message: json" '
+add_message "[subject]=\"json-show-subject\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[body]=\"json-show-message\"" &&
+output=$($NOTMUCH show --format=json "json-show-message") &&
+pass_if_equal "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-subject\", \"From\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"To\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"Cc\": \"\", \"Bcc\": \"\", \"Date\": \"Sat, 01 Jan 2000 12:00:00 -0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"text/plain\", \"content\": \"json-show-message\n\"}]}, []]]]"
+
+'
+test_expect_success "Search message: json" '
+add_message "[subject]=\"json-search-subject\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[body]=\"json-search-message\"" &&
+output=$($NOTMUCH search --format=json "json-search-message" | notmuch_search_sanitize) &&
+pass_if_equal "$output" "[{\"thread\": \"XXX\",
+\"timestamp\": 946728000,
+\"matched\": 1,
+\"total\": 1,
+\"authors\": \"Notmuch Test Suite\",
+\"subject\": \"json-search-subject\",
+\"tags\": [\"inbox\", \"unread\"]}]"
+
+'
+test_expect_success "Search by subject (utf-8):" '
+add_message [subject]=utf8-sübjéct "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" &&
+output=$($NOTMUCH search subject:utf8-sübjéct | notmuch_search_sanitize) &&
+pass_if_equal "$output" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; utf8-sübjéct (inbox unread)"
+
+'
+test_expect_success "Show message: json, utf-8" '
+add_message "[subject]=\"json-show-utf8-body-sübjéct\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[body]=\"jsön-show-méssage\"" &&
+output=$($NOTMUCH show --format=json "jsön-show-méssage") &&
+pass_if_equal "$output" "[[[{\"id\": \"${gen_msg_id}\", \"match\": true, \"filename\": \"${gen_msg_filename}\", \"timestamp\": 946728000, \"date_relative\": \"2000-01-01\", \"tags\": [\"inbox\",\"unread\"], \"headers\": {\"Subject\": \"json-show-utf8-body-sübjéct\", \"From\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"To\": \"Notmuch Test Suite <test_suite@notmuchmail.org>\", \"Cc\": \"\", \"Bcc\": \"\", \"Date\": \"Sat, 01 Jan 2000 12:00:00 -0000\"}, \"body\": [{\"id\": 1, \"content-type\": \"text/plain\", \"content\": \"jsön-show-méssage\n\"}]}, []]]]"
+
+'
+test_expect_success "Search message: json, utf-8" '
+add_message "[subject]=\"json-search-utf8-body-sübjéct\"" "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" "[body]=\"jsön-search-méssage\"" &&
+output=$($NOTMUCH search --format=json "jsön-search-méssage" | notmuch_search_sanitize) &&
+pass_if_equal "$output" "[{\"thread\": \"XXX\",
+\"timestamp\": 946728000,
+\"matched\": 1,
+\"total\": 1,
+\"authors\": \"Notmuch Test Suite\",
+\"subject\": \"json-search-utf8-body-sübjéct\",
+\"tags\": [\"inbox\", \"unread\"]}]"
+'
+test_done