X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2Fnotmuch-test;h=00ac6b0e3a2e11ba0adb6c3966b570210d999f9a;hb=04d454f582ca3ba658d113403e2d849bed79ae30;hp=ca41408955979c0f10ad8bd45562b7f6be22f439;hpb=33765e5c2eb18de14fc542a6324c0806af8f59f7;p=notmuch diff --git a/test/notmuch-test b/test/notmuch-test index ca414089..00ac6b0e 100755 --- a/test/notmuch-test +++ b/test/notmuch-test @@ -66,13 +66,15 @@ increment_mtime () # '[cc]="Some User "' # [reply-to]=some-address # [in-reply-to]= +# [references]= +# [content-type]=content-type-specification # '[header]=full header line, including keyword' # # Additional values for email headers. If these are not provided # then the relevant headers will simply not appear in the # message. # -# '[id]=' +# '[id]=message-id' # # Controls the message-id of the created message. gen_msg_cnt=0 @@ -84,12 +86,12 @@ generate_message () local -A template="($@)" local additional_headers + gen_msg_cnt=$((gen_msg_cnt + 1)) + gen_msg_name=msg-$(printf "%03d" $gen_msg_cnt) + if [ -z "${template[id]}" ]; then - gen_msg_cnt=$((gen_msg_cnt + 1)) - gen_msg_name=msg-$(printf "%03d" $gen_msg_cnt) gen_msg_id="${gen_msg_name}@notmuch-test-suite" else - gen_msg_name="msg-${template[id]}" gen_msg_id="${template[id]}" fi @@ -141,6 +143,16 @@ ${additional_headers}" ${additional_headers}" fi + if [ ! -z "${template[references]}" ]; then + additional_headers="References: ${template[references]} +${additional_headers}" + fi + + if [ ! -z "${template[content-type]}" ]; then + additional_headers="Content-Type: ${template[content-type]} +${additional_headers}" + fi + cat <$gen_msg_filename From: ${template[from]} @@ -1114,6 +1126,54 @@ References: <${gen_msg_id}> On Tue, 05 Jan 2010 15:43:56 -0800, Sender wrote: > from guessing test" +printf "\nTesting messages with ridiculously-long message IDs...\n" +printf " Referencing long ID before adding...\t\t" +generate_message '[subject]="Reference of ridiculously-long message ID"' \ + '[references]=\' + +output=$(NOTMUCH_NEW) +pass_if_equal "$output" "Added 1 new message to the database." + +printf " Adding message with long ID...\t\t\t" +generate_message '[subject]="A ridiculously-long message ID"' \ + '[id]=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-' + +output=$(NOTMUCH_NEW) +pass_if_equal "$output" "Added 1 new message to the database." + +printf " Referencing long ID after adding...\t\t" +generate_message '[subject]="Reply to ridiculously-long message ID"' \ + '[in-reply-to]=\' + +output=$(NOTMUCH_NEW) +pass_if_equal "$output" "Added 1 new message to the database." + +printf " Ensure all messages were threaded together...\t" + +output=$($NOTMUCH search 'subject:"a ridiculously-long message ID"' | notmuch_search_sanitize) +pass_if_equal "$output" "thread:XXX 2001-01-05 [1/3] Notmuch Test Suite; A ridiculously-long message ID (inbox unread)" + +printf "\nTesting encoding issues...\n" +printf " Message with text of unknown charset...\t" +add_message '[content-type]="text/plain; charset=unknown-8bit"' \ + '[body]=irrelevant' + +output=$($NOTMUCH show id:${gen_msg_id} 2>&1 | notmuch_show_sanitize) +pass_if_equal "$output" " message{ id:msg-074@notmuch-test-suite depth:0 match:1 filename:/XXX/mail/msg-074 + header{ +Notmuch Test Suite (2001-01-05) (inbox unread) +Subject: Test message #74 +From: Notmuch Test Suite +To: Notmuch Test Suite +Date: Tue, 05 Jan 2001 15:43:57 -0800 + header} + body{ + part{ ID: 1, Content-type: text/plain +irrelevant + part} + body} + message}" + echo "" echo "Notmuch test suite complete."