X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT340-maildir-sync.sh;h=b473ae4e1c0f8b0d04c25bd64eeed699935b06d6;hp=3186e70f56e4c03a3eb45dc85d1fd955f8e59a89;hb=0082a55785a5ae64da22fe72af6c0ae928f13c03;hpb=28d7544ae2adfe6467c6b64a3284f5ed13f81e1a diff --git a/test/T340-maildir-sync.sh b/test/T340-maildir-sync.sh index 3186e70f..b473ae4e 100755 --- a/test/T340-maildir-sync.sh +++ b/test/T340-maildir-sync.sh @@ -2,7 +2,7 @@ test_description="maildir synchronization" -. ./test-lib.sh +. ./test-lib.sh || exit 1 # Create the expected maildir structure mkdir $MAIL_DIR/cur @@ -28,6 +28,14 @@ add_message [subject]='"Adding message with S"' [filename]='adding-with-s-flag:2 output=$(notmuch search subject:"Adding message with S" | notmuch_search_sanitize) test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Adding message with S (inbox)" +test_begin_subtest "Adding message with 'S' w/o 'unread' in new.tags prevents 'unread' tag" +OLDCONFIG=$(notmuch config get new.tags) +notmuch config set new.tags "inbox" +add_message [subject]='"Adding message with S 2"' [filename]='adding-with-s-flag2:2,S' [dir]=cur +notmuch config set new.tags $OLDCONFIG +output=$(notmuch search subject:Adding-message-with-S-2 | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Adding message with S 2 (inbox)" + test_begin_subtest "Adding 'replied' tag adds 'R' flag to filename" add_message [subject]='"Adding replied tag"' [filename]='adding-replied-tag:2,S' [dir]=cur notmuch tag +replied subject:"Adding replied tag" @@ -39,7 +47,7 @@ output=$(notmuch show --format=json id:${gen_msg_id} | notmuch_json_show_sanitiz test_expect_equal_json "$output" '[[[{"id": "XXXXX", "match": true, "excluded": false, -"filename": "YYYYY", +"filename": ["YYYYY"], "timestamp": 42, "date_relative": "2001-01-05", "tags": ["inbox","replied"], @@ -49,10 +57,11 @@ test_expect_equal_json "$output" '[[[{"id": "XXXXX", "Date": "GENERATED_DATE"}, "body": [{"id": 1, "content-type": "text/plain", -"content": "This is just a test message (#3)\n"}]}, +"content": "This is just a test message (#4)\n"}]}, []]]]' -test_expect_success 'notmuch reply works with renamed file (without notmuch new)' 'notmuch reply id:${gen_msg_id}' +test_begin_subtest "notmuch reply works with renamed file (without notmuch new)" +test_expect_success 'notmuch reply id:${gen_msg_id}' test_begin_subtest "notmuch new detects no file rename after tag->flag synchronization" output=$(NOTMUCH_NEW) @@ -123,9 +132,10 @@ output+=$(notmuch search subject:"Message to lose maildir info" | notmuch_search test_expect_equal "$output" "No new mail. Detected 1 file rename. thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Message to lose maildir info (inbox)" +test_begin_subtest "Can remove unread tag from message in non-maildir directory" add_message [subject]='"Non-maildir message"' [dir]=notmaildir [filename]='non-maildir-message' expected=$(notmuch search --output=files subject:"Non-maildir message") -test_expect_success "Can remove unread tag from message in non-maildir directory" 'notmuch tag -unread subject:"Non-maildir message"' +test_expect_success 'notmuch tag -unread subject:"Non-maildir message"' test_begin_subtest "Message in non-maildir directory does not get renamed" output=$(notmuch search --output=files subject:"Non-maildir message") @@ -151,14 +161,14 @@ cp "$MAIL_DIR/cur/duplicated-message:2," "$MAIL_DIR/cur/duplicated-message-copy: 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)" +thread:XXX 2001-01-05 [1/1(2)] Notmuch Test Suite; Duplicated message (inbox replied)" 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," 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)" +thread:XXX 2001-01-05 [1/1(3)] Notmuch Test Suite; Duplicated message (inbox replied)" test_begin_subtest "Tag changes modify flags of multiple files" notmuch tag -replied subject:"Duplicated message" @@ -179,11 +189,21 @@ test_expect_equal "$(cd $MAIL_DIR/cur/; ls non-compliant*)" "non-compliant-maild test_begin_subtest "Files in new/ get default synchronized tags" OLDCONFIG=$(notmuch config get new.tags) -notmuch config set new.tags test +notmuch config set new.tags "test;unread" add_message [subject]='"File in new/"' [dir]=new [filename]='file-in-new' notmuch config set new.tags $OLDCONFIG notmuch search 'subject:"File in new"' | notmuch_search_sanitize > output test_expect_equal "$(< output)" \ "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; File in new/ (test unread)" +for tag in draft flagged passed replied; do + test_begin_subtest "$tag is valid in new.tags" + OLDCONFIG=$(notmuch config get new.tags) + notmuch config set new.tags "$tag;unread" + add_message [subject]="\"$tag sync in new\"" [dir]=new + notmuch config set new.tags $OLDCONFIG + notmuch search "subject:\"$tag sync in new\"" | notmuch_search_sanitize > output + test_expect_equal "$(< output)" \ + "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; $tag sync in new ($tag unread)" +done test_done