The current scheme of choosing the replyto (i.e. the default parent
for threading purposes) does not work well for mailers that put
the oldest Reference last.
---
 test/T510-thread-replies.sh                   | 27 +++++++++++++++++++
 .../threading/parent-priority/cur/child       | 11 ++++++++
 .../threading/parent-priority/cur/grand-child | 10 +++++++
 .../threading/parent-priority/cur/root        |  7 +++++
 4 files changed, 55 insertions(+)
 create mode 100644 test/corpora/threading/parent-priority/cur/child
 create mode 100644 test/corpora/threading/parent-priority/cur/grand-child
 create mode 100644 test/corpora/threading/parent-priority/cur/root

diff --git a/test/T510-thread-replies.sh b/test/T510-thread-replies.sh
index 6837ff17..a19669a9 100755
--- a/test/T510-thread-replies.sh
+++ b/test/T510-thread-replies.sh
@@ -165,4 +165,31 @@ expected=`echo "$expected" | notmuch_json_show_sanitize`
 test_expect_equal_json "$output" "$expected"
 
 
+add_email_corpus threading
+
+test_begin_subtest "trusting reply-to"
+test_subtest_known_broken
+notmuch show --entire-thread=true id:[email protected] | grep ^Subject:  > 
OUTPUT
+cat <<EOF > EXPECTED
+Subject: root message
+Subject: child message
+Subject: grand-child message
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
+test_begin_subtest "trusting reply-to (tree view)"
+test_subtest_known_broken
+test_emacs '(notmuch-tree "id:[email protected]")
+           (notmuch-test-wait)
+           (test-output)
+           (delete-other-windows)'
+cat <<EOF > EXPECTED
+  2016-06-17  Alice                 ┬►root message                             
           (inbox unread)
+  2016-06-18  Alice                 ╰┬►child message                           
           (inbox unread)
+  2016-06-18  Alice                  ╰─►grand-child message                    
           (inbox unread)
+End of search results.
+EOF
+test_expect_equal_file EXPECTED OUTPUT
+
+
 test_done
diff --git a/test/corpora/threading/parent-priority/cur/child 
b/test/corpora/threading/parent-priority/cur/child
new file mode 100644
index 00000000..23ee6495
--- /dev/null
+++ b/test/corpora/threading/parent-priority/cur/child
@@ -0,0 +1,11 @@
+From: Alice <[email protected]>
+To: Daniel <[email protected]>
+Subject: child message
+Message-ID: <[email protected]>
+In-Reply-To: <[email protected]>
+References:  <[email protected]>
+Date: Fri, 17 Jun 2016 22:14:41 -0400
+
+This is a normal-ish reply, and has both a references header and an
+in-reply-to header.
+
diff --git a/test/corpora/threading/parent-priority/cur/grand-child 
b/test/corpora/threading/parent-priority/cur/grand-child
new file mode 100644
index 00000000..028371d4
--- /dev/null
+++ b/test/corpora/threading/parent-priority/cur/grand-child
@@ -0,0 +1,10 @@
+From: Alice <[email protected]>
+To: Daniel <[email protected]>
+Subject: grand-child message
+Message-ID: <[email protected]>
+In-Reply-To: <[email protected]>
+References:  <[email protected]> <[email protected]>
+Date: Fri, 17 Jun 2016 22:24:41 -0400
+
+This has the references headers in the wrong order, with oldest first.
+Debbugs does this.
diff --git a/test/corpora/threading/parent-priority/cur/root 
b/test/corpora/threading/parent-priority/cur/root
new file mode 100644
index 00000000..3990843d
--- /dev/null
+++ b/test/corpora/threading/parent-priority/cur/root
@@ -0,0 +1,7 @@
+From: Alice <[email protected]>
+To: Daniel <[email protected]>
+Subject: root message
+Message-ID: <[email protected]>
+Date: Thu, 16 Jun 2016 22:14:41 -0400
+
+This message has no reply-to
-- 
2.18.0

_______________________________________________
notmuch mailing list
[email protected]
https://notmuchmail.org/mailman/listinfo/notmuch

Reply via email to