[PATCH 5.5/8] test: Wildcard tag search and untagged search.
--- test/qparser-test.cc |6 +++--- test/qparser.expected-output/wildcards | 13 + test/search| 12 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/test/qparser-test.cc b/test/qparser-test.cc index ae6c8b9..7b145cc 100644 --- a/test/qparser-test.cc +++ b/test/qparser-test.cc @@ -100,9 +100,9 @@ static _notmuch_qparser_t * create_qparser (void *ctx) { _notmuch_qparser_t *qparser = _notmuch_qparser_create (ctx, notmuch); -_notmuch_qparser_add_db_prefix (qparser, "prob", "P", FALSE); -_notmuch_qparser_add_db_prefix (qparser, "lit", "L", TRUE); -_notmuch_qparser_add_db_prefix (qparser, "tag", "K", TRUE); +_notmuch_qparser_add_db_prefix (qparser, "prob", "P", FALSE, FALSE); +_notmuch_qparser_add_db_prefix (qparser, "lit", "L", TRUE, FALSE); +_notmuch_qparser_add_db_prefix (qparser, "tag", "K", TRUE, TRUE); return qparser; } diff --git a/test/qparser.expected-output/wildcards b/test/qparser.expected-output/wildcards index 6f62829..0558732 100644 --- a/test/qparser.expected-output/wildcards +++ b/test/qparser.expected-output/wildcards @@ -18,3 +18,16 @@ nosuchterm* AND x [parse] (AND "nosuchterm"* "x") [gen](nosuchterm AND x:(pos=1)) [xapian] + +# Incompatible; Xapian doesn't accept wildcards in boolean prefixes +tag:* +[lex]PREFIX/tag "*" +[parse] (FILTER (PREFIX/tag '*')) +[gen]0 * (Kinbox:(pos=1) SYNONYM Kunread:(pos=1)) +[xapian] 0 * K* + +tag:i* +[lex]PREFIX/tag "i*" +[parse] (FILTER (PREFIX/tag 'i*')) +[gen]0 * Kinbox:(pos=1) +[xapian] 0 * Ki* diff --git a/test/search b/test/search index b180c7f..7d1dedb 100755 --- a/test/search +++ b/test/search @@ -113,6 +113,18 @@ thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; search by to (name) (inbox unr thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; subject search test (phrase) (inbox unread) thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; this phrase should not match the subject search test (inbox unread)" +test_begin_subtest 'Search by wildcard tag ("at*")' +output=$(notmuch search 'tag:at*' | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 2009-11-18 [2/2] Lars Kellogg-Stedman; [notmuch] \"notmuch help\" outputs to stderr? (attachment inbox unread) +thread:XXX 2009-11-18 [1/2] Alex Botero-Lowry| Carl Worth; [notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (attachment inbox unread) +thread:XXX 2009-11-17 [1/2] Alex Botero-Lowry| Carl Worth; [notmuch] preliminary FreeBSD support (attachment inbox unread)" + +test_begin_subtest 'Search for untagged messages' +add_message '[subject]="untagged message"' +notmuch tag -inbox -unread id:$gen_msg_id +output=$(notmuch search 'NOT tag:*' | notmuch_search_sanitize) +test_expect_equal "$output" "thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; untagged message ()" + test_begin_subtest "Search body (utf-8):" add_message '[subject]="utf8-message-body-subject"' '[date]="Sat, 01 Jan 2000 12:00:00 -"' '[body]="message body utf8: b?d?"' output=$(notmuch search "b?d?" | notmuch_search_sanitize) -- 1.7.2.3
[PATCH 5.5/8] test: Wildcard tag search and untagged search.
--- test/qparser-test.cc |6 +++--- test/qparser.expected-output/wildcards | 13 + test/search| 12 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/test/qparser-test.cc b/test/qparser-test.cc index ae6c8b9..7b145cc 100644 --- a/test/qparser-test.cc +++ b/test/qparser-test.cc @@ -100,9 +100,9 @@ static _notmuch_qparser_t * create_qparser (void *ctx) { _notmuch_qparser_t *qparser = _notmuch_qparser_create (ctx, notmuch); -_notmuch_qparser_add_db_prefix (qparser, prob, P, FALSE); -_notmuch_qparser_add_db_prefix (qparser, lit, L, TRUE); -_notmuch_qparser_add_db_prefix (qparser, tag, K, TRUE); +_notmuch_qparser_add_db_prefix (qparser, prob, P, FALSE, FALSE); +_notmuch_qparser_add_db_prefix (qparser, lit, L, TRUE, FALSE); +_notmuch_qparser_add_db_prefix (qparser, tag, K, TRUE, TRUE); return qparser; } diff --git a/test/qparser.expected-output/wildcards b/test/qparser.expected-output/wildcards index 6f62829..0558732 100644 --- a/test/qparser.expected-output/wildcards +++ b/test/qparser.expected-output/wildcards @@ -18,3 +18,16 @@ nosuchterm* AND x [parse] (AND nosuchterm* x) [gen](nosuchterm AND x:(pos=1)) [xapian] + +# Incompatible; Xapian doesn't accept wildcards in boolean prefixes +tag:* +[lex]PREFIX/tag * +[parse] (FILTER (PREFIX/tag '*')) +[gen]0 * (Kinbox:(pos=1) SYNONYM Kunread:(pos=1)) +[xapian] 0 * K* + +tag:i* +[lex]PREFIX/tag i* +[parse] (FILTER (PREFIX/tag 'i*')) +[gen]0 * Kinbox:(pos=1) +[xapian] 0 * Ki* diff --git a/test/search b/test/search index b180c7f..7d1dedb 100755 --- a/test/search +++ b/test/search @@ -113,6 +113,18 @@ thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; search by to (name) (inbox unr thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; subject search test (phrase) (inbox unread) thread:XXX 2000-01-01 [1/1] Notmuch Test Suite; this phrase should not match the subject search test (inbox unread) +test_begin_subtest 'Search by wildcard tag (at*)' +output=$(notmuch search 'tag:at*' | notmuch_search_sanitize) +test_expect_equal $output thread:XXX 2009-11-18 [2/2] Lars Kellogg-Stedman; [notmuch] \notmuch help\ outputs to stderr? (attachment inbox unread) +thread:XXX 2009-11-18 [1/2] Alex Botero-Lowry| Carl Worth; [notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (attachment inbox unread) +thread:XXX 2009-11-17 [1/2] Alex Botero-Lowry| Carl Worth; [notmuch] preliminary FreeBSD support (attachment inbox unread) + +test_begin_subtest 'Search for untagged messages' +add_message '[subject]=untagged message' +notmuch tag -inbox -unread id:$gen_msg_id +output=$(notmuch search 'NOT tag:*' | notmuch_search_sanitize) +test_expect_equal $output thread:XXX 2001-01-05 [1/1] Notmuch Test Suite; untagged message () + test_begin_subtest Search body (utf-8): add_message '[subject]=utf8-message-body-subject' '[date]=Sat, 01 Jan 2000 12:00:00 -' '[body]=message body utf8: bödý' output=$(notmuch search bödý | notmuch_search_sanitize) -- 1.7.2.3 ___ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch