[PATCH 5.5/8] test: Wildcard tag search and untagged search.

Austin Clements amdragon at MIT.EDU
Mon Jan 24 09:15:03 PST 2011


---
 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 -0000"' '[body]="message body utf8: bödý"'
 output=$(notmuch search "bödý" | notmuch_search_sanitize)
-- 
1.7.2.3


More information about the notmuch mailing list