add_message '[id]="duplicate"' '[subject]="message 1" [filename]=copy1'
add_message '[id]="duplicate"' '[subject]="message 2" [filename]=copy2'
-test_begin_subtest 'First subject preserved'
+add_message '[id]="duplicate"' '[subject]="message 0" [filename]=copy0'
+test_begin_subtest 'search: first indexed subject preserved'
cat <<EOF > EXPECTED
-thread:XXX 2001-01-05 [1/1(2)] Notmuch Test Suite; message 1 (inbox unread)
+thread:XXX 2001-01-05 [1/1(3)] Notmuch Test Suite; message 1 (inbox unread)
EOF
notmuch search id:duplicate | notmuch_search_sanitize > OUTPUT
test_expect_equal_file EXPECTED OUTPUT
test_begin_subtest 'Search for second subject'
cat <<EOF >EXPECTED
+MAIL_DIR/copy0
MAIL_DIR/copy1
MAIL_DIR/copy2
EOF
add_message '[id]="duplicate"' '[body]="sekrit" [filename]=copy3'
test_begin_subtest 'search for body in duplicate file'
cat <<EOF >EXPECTED
+MAIL_DIR/copy0
MAIL_DIR/copy1
MAIL_DIR/copy2
MAIL_DIR/copy3
notmuch search --output=files "sekrit" | notmuch_dir_sanitize > OUTPUT
test_expect_equal_file EXPECTED OUTPUT
-rm ${MAIL_DIR}/copy1
+rm ${MAIL_DIR}/copy0
test_begin_subtest 'Deleted first duplicate file does not stop notmuch show from working'
output=$(notmuch show --body=false --format=json id:duplicate |
notmuch_json_show_sanitize | sed 's/message [0-9]/A_SUBJECT/')
"match": true,
"excluded": false,
"filename": [
+ "'"${MAIL_DIR}"/copy0'",
"'"${MAIL_DIR}"/copy1'",
"'"${MAIL_DIR}"/copy2'"
],