X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT510-thread-replies.sh;h=72af50df70087c1e89d914dfd649dc46b96adacc;hp=1392fbedd0527b58b861602314b0073515108732;hb=9b568e73e1afc211306d18dac3d27df4a07a0fdd;hpb=ce44657c9e4919b1e4bbbbbe37dbd72257d40736 diff --git a/test/T510-thread-replies.sh b/test/T510-thread-replies.sh index 1392fbed..72af50df 100755 --- a/test/T510-thread-replies.sh +++ b/test/T510-thread-replies.sh @@ -9,7 +9,7 @@ test_description='test of proper handling of in-reply-to and references headers' # database is constructed properly, even in the presence of # non-RFC-compliant headers' -. ./test-lib.sh +. $(dirname "$0")/test-lib.sh || exit 1 test_begin_subtest "Use References when In-Reply-To is broken" add_message '[id]="foo@one.com"' \ @@ -21,7 +21,7 @@ output=$(notmuch show --format=json 'subject:one' | notmuch_json_show_sanitize) expected='[[[{"id": "foo@one.com", "match": true, "excluded": false, - "filename": "YYYYY", + "filename": ["YYYYY"], "timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["inbox", "unread"], @@ -34,7 +34,7 @@ expected='[[[{"id": "foo@one.com", "content": "This is just a test message (#1)\n"}]}, [[{"id": "msg-002@notmuch-test-suite", "match": true, "excluded": false, - "filename": "YYYYY", + "filename": ["YYYYY"], "timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["inbox", "unread"], "headers": {"Subject": "Re: one", "From": "Notmuch Test Suite ", @@ -54,7 +54,7 @@ add_message '[in-reply-to]=""' \ output=$(notmuch show --format=json 'subject:two' | notmuch_json_show_sanitize) expected='[[[{"id": "foo@two.com", "match": true, "excluded": false, - "filename": "YYYYY", + "filename": ["YYYYY"], "timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["inbox", "unread"], "headers": {"Subject": "two", "From": "Notmuch Test Suite ", @@ -63,7 +63,7 @@ expected='[[[{"id": "foo@two.com", "body": [{"id": 1, "content-type": "text/plain", "content": "This is just a test message (#3)\n"}]}, [[{"id": "msg-004@notmuch-test-suite", "match": true, "excluded": false, - "filename": "YYYYY", + "filename": ["YYYYY"], "timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["inbox", "unread"], "headers": {"Subject": "Re: two", "From": "Notmuch Test Suite ", @@ -82,7 +82,7 @@ add_message '[in-reply-to]=""' \ '[subject]="Re: three"' output=$(notmuch show --format=json 'subject:three' | notmuch_json_show_sanitize) expected='[[[{"id": "foo@three.com", "match": true, "excluded": false, - "filename": "YYYYY", + "filename": ["YYYYY"], "timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["inbox", "unread"], "headers": {"Subject": "three", "From": "Notmuch Test Suite ", @@ -90,7 +90,7 @@ expected='[[[{"id": "foo@three.com", "match": true, "excluded": false, "Date": "Fri, 05 Jan 2001 15:43:57 +0000"}, "body": [{"id": 1, "content-type": "text/plain", "content": "This is just a test message (#5)\n"}]}, [[{"id": "msg-006@notmuch-test-suite", "match": true, "excluded": false, - "filename": "YYYYY", + "filename": ["YYYYY"], "timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["inbox", "unread"], "headers": {"Subject": "Re: three", "From": "Notmuch Test Suite ", @@ -111,7 +111,7 @@ add_message '[in-reply-to]=""' \ '[subject]="neither"' output=$(notmuch show --format=json 'subject:four' | notmuch_json_show_sanitize) expected='[[[{"id": "foo@four.com", "match": true, "excluded": false, - "filename": "YYYYY", + "filename": ["YYYYY"], "timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["inbox", "unread"], "headers": {"Subject": "four", "From": "Notmuch Test Suite ", @@ -119,7 +119,7 @@ expected='[[[{"id": "foo@four.com", "match": true, "excluded": false, "Date": "Fri, 05 Jan 2001 15:43:57 +0000"}, "body": [{"id": 1, "content-type": "text/plain", "content": "This is just a test message (#7)\n"}]}, [[{"id": "msg-009@notmuch-test-suite", "match": false, "excluded": false, - "filename": "YYYYY", + "filename": ["YYYYY"], "timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["inbox", "unread"], "headers": {"Subject": "neither", "From": "Notmuch Test Suite ", @@ -127,7 +127,7 @@ expected='[[[{"id": "foo@four.com", "match": true, "excluded": false, "Date": "Fri, 05 Jan 2001 15:43:57 +0000"}, "body": [{"id": 1, "content-type": "text/plain", "content": "This is just a test message (#9)\n"}]}, []]]]], [[{"id": "bar@four.com", "match": true, "excluded": false, - "filename": "YYYYY", + "filename": ["YYYYY"], "timestamp": 978709437, "date_relative": "2001-01-05", "tags": ["inbox", "unread"], "headers": {"Subject": "not-four", "From": "Notmuch Test Suite ", @@ -145,7 +145,7 @@ add_message '[id]="bar@five.com"' \ '[subject]="not-five"' output=$(notmuch show --format=json 'subject:five' | notmuch_json_show_sanitize) expected='[[[{"id": "XXXXX", "match": true, "excluded": false, - "filename": "YYYYY", "timestamp": 42, "date_relative": "2001-01-05", + "filename": ["YYYYY"], "timestamp": 42, "date_relative": "2001-01-05", "tags": ["inbox", "unread"], "headers": {"Subject": "five", "From": "Notmuch Test Suite ", "To": "Notmuch Test Suite ", @@ -153,7 +153,7 @@ expected='[[[{"id": "XXXXX", "match": true, "excluded": false, "content-type": "text/plain", "content": "This is just a test message (#10)\n"}]}, [[{"id": "XXXXX", "match": true, "excluded": false, - "filename": "YYYYY", "timestamp": 42, "date_relative": "2001-01-05", + "filename": ["YYYYY"], "timestamp": 42, "date_relative": "2001-01-05", "tags": ["inbox", "unread"], "headers": {"Subject": "not-five", "From": "Notmuch Test Suite ", @@ -164,5 +164,51 @@ expected='[[[{"id": "XXXXX", "match": true, "excluded": false, expected=`echo "$expected" | notmuch_json_show_sanitize` test_expect_equal_json "$output" "$expected" +add_email_corpus threading + +test_begin_subtest "reply to ghost" +test_subtest_known_broken +notmuch show --entire-thread=true id:000-real-root@example.org | grep ^Subject: | head -1 > OUTPUT +cat < EXPECTED +Subject: root message +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "reply to ghost (tree view)" +test_subtest_known_broken +test_emacs '(notmuch-tree "id:000-real-root@example.org") + (notmuch-test-wait) + (test-output) + (delete-other-windows)' +cat < EXPECTED + 2016-06-17 Alice ┬►root message (inbox unread) + 2016-06-18 Alice ╰┬►child message (inbox unread) + 2016-06-17 Mallory ├─►fake root message (inbox unread) + 2016-06-18 Alice ├┬►grand-child message (inbox unread) + 2016-06-18 Alice │╰─►great grand-child message (inbox unread) + 2016-06-18 Daniel ╰─►grand-child message 2 (inbox unread) +End of search results. +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "reply to ghost (RT)" +notmuch show --entire-thread=true id:87bmc6lp3h.fsf@len.workgroup | grep ^Subject: | head -1 > OUTPUT +cat < EXPECTED +Subject: FYI: xxxx xxxxxxx xxxxxxxxxxxx xxx +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "reply to ghost (RT/tree view)" +test_emacs '(notmuch-tree "id:87bmc6lp3h.fsf@len.workgroup") + (notmuch-test-wait) + (test-output) + (delete-other-windows)' +cat < EXPECTED + 2016-06-19 Gregor Zattler ┬┬►FYI: xxxx xxxxxxx xxxxxxxxxxxx xxx (inbox unread) + 2016-06-19 via RT │╰─►[support.xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxx.de #33575] AutoReply: FYI: xxxx xxxxxxx xxxxxxxxxxxx xxx (inbox unread) + 2016-06-26 via RT ╰─►[support.xxxxxxxxxxx-xxxxxxxxx-xxxxxxxxx.de #33575] Resolved: FYI: xxxx xxxxxxx xxxxxxxxxxxx xxx (inbox unread) +End of search results. +EOF +test_expect_equal_file EXPECTED OUTPUT test_done