X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2Fmaildir-sync;h=5984f54296bd66aa9207ecf86e246ec76475111a;hp=063c4a7622c8363e997bf222b084ae329631e40e;hb=0100df8edbc84d95210c369b9eb560b87c2d36be;hpb=882b994c173475f8973d5f5a1c0d1c25e4f93818 diff --git a/test/maildir-sync b/test/maildir-sync index 063c4a76..5984f542 100755 --- a/test/maildir-sync +++ b/test/maildir-sync @@ -96,6 +96,21 @@ test_expect_equal "$output" "No new mail." # creating new directories in the mail store, then it should be # creating all necessary database state for those directories. +test_begin_subtest "Removing 'S' flag from existing filename adds 'unread' tag" +add_message [subject]='"Removing S flag"' [filename]='removing-s-flag:2,S' [dir]=cur +output=$(notmuch search subject:"Removing S flag" | notmuch_search_sanitize) +output+=" +" +mv "${gen_msg_filename}" "${gen_msg_filename%S}" +increment_mtime "$(dirname "${gen_msg_filename}")" +output+=$(NOTMUCH_NEW) +output+=" +" +output+=$(notmuch search subject:"Removing S flag" | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Removing S flag (inbox) +No new mail. Detected 1 file rename. +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Removing S flag (inbox unread)" + test_begin_subtest "Removing info from filename leaves tags unchanged" add_message [subject]='"Message to lose maildir info"' [filename]='message-to-lose-maildir-info' [dir]=cur notmuch tag -unread subject:"Message to lose maildir info" @@ -131,4 +146,33 @@ notmuch restore dump.txt output=$(ls $MAIL_DIR/cur) test_expect_equal "$output" "$expected" +test_begin_subtest 'Adding flags to duplicate message tags the mail' +add_message [subject]='"Duplicated message"' [dir]=cur [filename]='duplicated-message:2,' +cp "$MAIL_DIR/cur/duplicated-message:2," "$MAIL_DIR/cur/duplicated-message-copy:2,RS" +increment_mtime $MAIL_DIR/cur +NOTMUCH_NEW > output +notmuch search subject:"Duplicated message" | notmuch_search_sanitize >> output +test_expect_equal "$(< output)" "No new mail. +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Duplicated message (inbox replied)" + +test_begin_subtest "Duplicate mail with new flags propagates flag to original file" +(cd $MAIL_DIR/cur/; ls duplicated*) > actual +test_expect_equal "$(< actual)" "duplicated-message:2,RS +duplicated-message-copy:2,RS" + +test_begin_subtest "Adding duplicate message without flags does not remove tags" +cp "$MAIL_DIR/cur/duplicated-message-copy:2,RS" "$MAIL_DIR/cur/duplicated-message-another-copy:2," +increment_mtime $MAIL_DIR/cur +NOTMUCH_NEW > output +notmuch search subject:"Duplicated message" | notmuch_search_sanitize >> output +test_expect_equal "$(< output)" "No new mail. +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Duplicated message (inbox replied)" + +test_begin_subtest "Tag changes modify flags of multiple files" +notmuch tag -replied subject:"Duplicated message" +(cd $MAIL_DIR/cur/; ls duplicated*) > actual +test_expect_equal "$(< actual)" "duplicated-message-another-copy:2,S +duplicated-message-copy:2,S +duplicated-message:2,S" + test_done