X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2FT750-user-header.sh;h=03c436561601800983f4a0b059d42181b7d1cce5;hp=75fb1635f34878d4e57695b0342b5491bae99081;hb=HEAD;hpb=7981bd050e79b07d583de3b310b503eb8439219b diff --git a/test/T750-user-header.sh b/test/T750-user-header.sh index 75fb1635..03c43656 100755 --- a/test/T750-user-header.sh +++ b/test/T750-user-header.sh @@ -2,18 +2,41 @@ test_description='indexing user specified headers' . $(dirname "$0")/test-lib.sh || exit 1 -test_begin_subtest "error adding user header before initializing DB" -notmuch config set index.header.List List-Id 2>&1 | notmuch_dir_sanitize > OUTPUT +add_email_corpus + +notmuch search '*' 2>1 | notmuch_search_sanitize > initial-threads +notmuch search --output=messages '*' 2>/dev/null > initial-message-ids +notmuch dump > initial-dump + +test_begin_subtest "adding illegal prefix name, bad utf8" +notmuch config set index.header.$'\xFF' "List-Id" 2>&1 | sed 's/:.*$//' >OUTPUT cat < EXPECTED -Error opening database at MAIL_DIR/.notmuch: No such file or directory +Invalid utf8 EOF test_expect_equal_file EXPECTED OUTPUT -add_email_corpus +test_begin_subtest "adding illegal prefix name, reserved for notmuch" +notmuch config set index.header.list "List-Id" 2>OUTPUT +cat < EXPECTED +Prefix names starting with lower case letters are reserved: list +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "adding illegal prefix name, non-word character." +notmuch config set index.header.l:st "List-Id" 2>OUTPUT +cat < EXPECTED +Non-word character in prefix name: l:st +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "adding empty prefix name." +notmuch config set index.header. "List-Id" 2>OUTPUT +Non-word character in prefix name: l:st +cat < EXPECTED +Empty prefix name: index.header. +EOF +test_expect_equal_file EXPECTED OUTPUT -notmuch search '*' | notmuch_search_sanitize > initial-threads -notmuch search --output=messages '*' > initial-message-ids -notmuch dump > initial-dump test_begin_subtest "adding user header" test_expect_code 0 "notmuch config set index.header.List \"List-Id\"" @@ -40,4 +63,60 @@ index.header.Spam=X-Spam EOF test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "parse user prefix" +NOTMUCH_DEBUG_QUERY=t notmuch count 'List:"notmuch"' 2>&1 | grep Tmail >OUTPUT +cat < EXPECTED +Query((Tmail AND XUList:notmuch@1)) +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "parse user prefix, stemmed" +NOTMUCH_DEBUG_QUERY=t notmuch count 'List:notmuch' 2>&1 | grep Tmail >OUTPUT +cat < EXPECTED +Query((Tmail AND ZXUList:notmuch@1)) +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "parse user prefix, phrase" +NOTMUCH_DEBUG_QUERY=t notmuch count 'List:notmuchmail.org' 2>&1 | grep Tmail >OUTPUT +cat < EXPECTED +Query((Tmail AND (XUList:notmuchmail@1 PHRASE 2 XUList:org@2))) +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "index user header" +notmuch config set index.header.List "List-Id" +notmuch reindex '*' +notmuch search --output=files List:notmuch | notmuch_search_files_sanitize | sort > OUTPUT +cat < EXPECTED +MAIL_DIR/bar/baz/05:2, +MAIL_DIR/bar/baz/23:2, +MAIL_DIR/bar/baz/24:2, +MAIL_DIR/bar/cur/20:2, +MAIL_DIR/bar/new/21:2, +MAIL_DIR/bar/new/22:2, +MAIL_DIR/foo/cur/08:2, +MAIL_DIR/foo/new/03:2, +MAIL_DIR/new/04:2, +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "index user header, config from file" +field_name="Test" +printf "\n[index]\nheader.${field_name} = List-Id\n" >> notmuch-config +notmuch reindex '*' +notmuch search --output=files ${field_name}:notmuch | notmuch_search_files_sanitize | sort > OUTPUT +cat < EXPECTED +MAIL_DIR/bar/baz/05:2, +MAIL_DIR/bar/baz/23:2, +MAIL_DIR/bar/baz/24:2, +MAIL_DIR/bar/cur/20:2, +MAIL_DIR/bar/new/21:2, +MAIL_DIR/bar/new/22:2, +MAIL_DIR/foo/cur/08:2, +MAIL_DIR/foo/new/03:2, +MAIL_DIR/new/04:2, +EOF +test_expect_equal_file EXPECTED OUTPUT + test_done