X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=test%2FT650-regexp-query.sh;h=4085340f66d42b270c13ced3c5eb845fa2cc48c6;hb=c5356b9ed56e42d36ca18206155b62c94cfbd79d;hp=9599c104d452f9d8b0f331017b500751e808138f;hpb=e1c1d33f3726f5cadb2f92d23735dcd1102fbc88;p=notmuch diff --git a/test/T650-regexp-query.sh b/test/T650-regexp-query.sh index 9599c104..4085340f 100755 --- a/test/T650-regexp-query.sh +++ b/test/T650-regexp-query.sh @@ -1,14 +1,55 @@ #!/usr/bin/env bash test_description='regular expression searches' -. ./test-lib.sh || exit 1 - -add_email_corpus - +. $(dirname "$0")/test-lib.sh || exit 1 if [ $NOTMUCH_HAVE_XAPIAN_FIELD_PROCESSOR -eq 0 ]; then test_done fi +add_message '[dir]=bad' '[subject]="To the bone"' +add_message '[dir]=.' '[subject]="Top level"' +add_message '[dir]=bad/news' '[subject]="Bears"' +mkdir -p "${MAIL_DIR}/duplicate/bad/news" +cp "$gen_msg_filename" "${MAIL_DIR}/duplicate/bad/news" + +add_message '[dir]=things' '[subject]="These are a few"' +add_message '[dir]=things/favorite' '[subject]="Raindrops, whiskers, kettles"' +add_message '[dir]=things/bad' '[subject]="Bites, stings, sad feelings"' + +test_begin_subtest "empty path:// search" +notmuch search 'path:""' > EXPECTED +notmuch search 'path:/^$/' > OUTPUT +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "empty folder:// search" +notmuch search 'folder:""' > EXPECTED +notmuch search 'folder:/^$/' > OUTPUT +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "unanchored folder:// specification" +output=$(notmuch search folder:/bad/ | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; To the bone (inbox unread) +thread:XXX 2001-01-05 [1/1(2)] Notmuch Test Suite; Bears (inbox unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Bites, stings, sad feelings (inbox unread)" + +test_begin_subtest "anchored folder:// search" +output=$(notmuch search 'folder:/^bad$/' | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; To the bone (inbox unread)" + +test_begin_subtest "unanchored path:// specification" +output=$(notmuch search path:/bad/ | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; To the bone (inbox unread) +thread:XXX 2001-01-05 [1/1(2)] Notmuch Test Suite; Bears (inbox unread) +thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; Bites, stings, sad feelings (inbox unread)" + +test_begin_subtest "anchored path:// search" +output=$(notmuch search 'path:/^bad$/' | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; To the bone (inbox unread)" + +# Use "standard" corpus from here on. +rm -rf $MAIL_DIR +add_email_corpus + notmuch search --output=messages from:cworth > cworth.msg-ids # these headers will generate no document terms @@ -104,4 +145,31 @@ Query string was: from:/unbalanced[/ EOF test_expect_equal_file EXPECTED OUTPUT +test_begin_subtest "empty mid search" +notmuch search --output=messages mid:yoom > OUTPUT +cp /dev/null EXPECTED +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "non-empty mid regex search" +notmuch search --output=messages mid:/yoom/ > OUTPUT +test_expect_equal_file cworth.msg-ids OUTPUT + +test_begin_subtest "combine regexp mid and subject" +notmuch search subject:/-C/ and mid:/y..m/ | notmuch_search_sanitize > OUTPUT +cat < EXPECTED +thread:XXX 2009-11-18 [1/2] Carl Worth| Jan Janak; [notmuch] [PATCH] Older versions of install do not support -C. (inbox unread) +EOF +test_expect_equal_file EXPECTED OUTPUT + +test_begin_subtest "unanchored tag search" +notmuch search tag:signed or tag:inbox > EXPECTED +notmuch search tag:/i/ > OUTPUT +test_expect_equal_file EXPECTED OUTPUT + +notmuch tag +testsi '*' +test_begin_subtest "anchored tag search" +notmuch search tag:signed > EXPECTED +notmuch search tag:/^si/ > OUTPUT +test_expect_equal_file EXPECTED OUTPUT + test_done