X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2Fnotmuch-test;h=04c6470551d5ba627e5840d3dc97a06a28af007e;hb=f106db3e9b146b4a032fbeeca8e3cf864abc1894;hp=1956001254dad125cafdfd6b7460a11d1eaf71e8;hpb=5106df9f6b3101eb1ea4250efefa3f0408acbfc6;p=notmuch diff --git a/test/notmuch-test b/test/notmuch-test index 19560012..04c64705 100755 --- a/test/notmuch-test +++ b/test/notmuch-test @@ -1,6 +1,8 @@ #!/bin/bash set -e +export TZ=UTC+8 + find_notmuch_binary () { dir=$1 @@ -186,10 +188,9 @@ NOTMUCH_NEW () $NOTMUCH new | grep -v -E -e '^Processed [0-9]*( total)? file|Found [0-9]* total file' } -NOTMUCH_SEARCH_THREAD_ID_SQUELCH='s/thread:................/thread:XXX/' notmuch_search_sanitize () { - sed -e "$NOTMUCH_SEARCH_THREAD_ID_SQUELCH" + sed -r -e 's/("?thread"?: ?)("?)................("?)/\1\2XXX\3/' } NOTMUCH_SHOW_FILENAME_SQUELCH='s,filename:.*/mail,filename:/XXX/mail,' @@ -450,9 +451,54 @@ thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; search by to (name) (inbox unr thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; subject search test (phrase) (inbox unread) thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; this phrase should not match the subject search test (inbox unread)" +printf " Search body (utf-8):...\t\t\t" +add_message '[subject]="utf8-message-body-subject"' '[date]="Sat, 01 Jan 2000 12:00:00 -0000"' '[body]="message body utf8: bödý"' +output=$($NOTMUCH search 'bödý' | notmuch_search_sanitize) +pass_if_equal "$output" "thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; utf8-message-body-subject (inbox unread)" + +printf "\nTesting --format=json output:\n" + +printf " Show message: json...\t\t\t\t" +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 ", "To": "Notmuch Test Suite ", "Cc": "", "Bcc": "", "Date": "Sat, 01 Jan 2000 12:00:00 -0000"}, "body": [{"id": 1, "content-type": "text/plain", "content": "json-show-message\n"}]}, []]]]' + +printf " Search message: json...\t\t\t" +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"]}]' + +printf " Search by subject (utf-8):...\t\t\t" +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)" + +printf " Show message: json, utf-8...\t\t\t" +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 ", "To": "Notmuch Test Suite ", "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"}]}, []]]]' + +printf " Search message: json, utf-8...\t\t\t" +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"]}]' + printf "\nTesting naming of threads with changing subject:\n" add_message '[subject]="thread-naming: Initial thread subject"' \ '[date]="Fri, 05 Jan 2001 15:43:56 -0800"' +first=${gen_msg_cnt} parent=${gen_msg_id} add_message '[subject]="thread-naming: Older changed subject"' \ '[date]="Sat, 06 Jan 2001 15:43:56 -0800"' \ @@ -514,7 +560,7 @@ pass_if_equal "$output" "thread:XXX 2001-01-12 [6/8] Notmuch Test Suite; threa printf " Test order of messages in \"notmuch show\"\t" output=$($NOTMUCH show thread-naming | notmuch_show_sanitize) -pass_if_equal "$output" " message{ id:msg-033@notmuch-test-suite depth:0 match:1 filename:/XXX/mail/msg-033 +pass_if_equal "$output" " message{ id:msg-$(printf "%03d" $first)@notmuch-test-suite depth:0 match:1 filename:/XXX/mail/msg-$(printf "%03d" $first) header{ Notmuch Test Suite (2001-01-05) (unread) Subject: thread-naming: Initial thread subject @@ -524,11 +570,11 @@ Date: Fri, 05 Jan 2001 15:43:56 -0800 header} body{ part{ ID: 1, Content-type: text/plain -This is just a test message (#33) +This is just a test message (#$first) part} body} message} - message{ id:msg-034@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-034 + message{ id:msg-$(printf "%03d" $((first + 1)))@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 1))) header{ Notmuch Test Suite (2001-01-06) (inbox unread) Subject: thread-naming: Older changed subject @@ -538,11 +584,11 @@ Date: Sat, 06 Jan 2001 15:43:56 -0800 header} body{ part{ ID: 1, Content-type: text/plain -This is just a test message (#34) +This is just a test message (#$((first + 1))) part} body} message} - message{ id:msg-035@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-035 + message{ id:msg-$(printf "%03d" $((first + 2)))@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 2))) header{ Notmuch Test Suite (2001-01-07) (inbox unread) Subject: thread-naming: Newer changed subject @@ -552,11 +598,11 @@ Date: Sun, 07 Jan 2001 15:43:56 -0800 header} body{ part{ ID: 1, Content-type: text/plain -This is just a test message (#35) +This is just a test message (#$((first + 2))) part} body} message} - message{ id:msg-036@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-036 + message{ id:msg-$(printf "%03d" $((first + 3)))@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 3))) header{ Notmuch Test Suite (2001-01-08) (unread) Subject: thread-naming: Final thread subject @@ -566,11 +612,11 @@ Date: Mon, 08 Jan 2001 15:43:56 -0800 header} body{ part{ ID: 1, Content-type: text/plain -This is just a test message (#36) +This is just a test message (#$((first + 3))) part} body} message} - message{ id:msg-037@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-037 + message{ id:msg-$(printf "%03d" $((first + 4)))@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 4))) header{ Notmuch Test Suite (2001-01-09) (inbox unread) Subject: Re: thread-naming: Initial thread subject @@ -580,11 +626,11 @@ Date: Tue, 09 Jan 2001 15:43:45 -0800 header} body{ part{ ID: 1, Content-type: text/plain -This is just a test message (#37) +This is just a test message (#$((first + 4))) part} body} message} - message{ id:msg-038@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-038 + message{ id:msg-$(printf "%03d" $((first + 5)))@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 5))) header{ Notmuch Test Suite (2001-01-10) (inbox unread) Subject: Aw: thread-naming: Initial thread subject @@ -594,11 +640,11 @@ Date: Wed, 10 Jan 2001 15:43:45 -0800 header} body{ part{ ID: 1, Content-type: text/plain -This is just a test message (#38) +This is just a test message (#$((first + 5))) part} body} message} - message{ id:msg-039@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-039 + message{ id:msg-$(printf "%03d" $((first + 6)))@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 6))) header{ Notmuch Test Suite (2001-01-11) (inbox unread) Subject: Vs: thread-naming: Initial thread subject @@ -608,11 +654,11 @@ Date: Thu, 11 Jan 2001 15:43:45 -0800 header} body{ part{ ID: 1, Content-type: text/plain -This is just a test message (#39) +This is just a test message (#$((first + 6))) part} body} message} - message{ id:msg-040@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-040 + message{ id:msg-$(printf "%03d" $((first + 7)))@notmuch-test-suite depth:1 match:1 filename:/XXX/mail/msg-$(printf "%03d" $((first + 7))) header{ Notmuch Test Suite (2001-01-12) (inbox unread) Subject: Sv: thread-naming: Initial thread subject @@ -622,7 +668,7 @@ Date: Fri, 12 Jan 2001 15:43:45 -0800 header} body{ part{ ID: 1, Content-type: text/plain -This is just a test message (#40) +This is just a test message (#$((first + 7))) part} body} message}"