From: Timo Sirainen Date: Sun, 6 Dec 2015 17:25:20 +0000 (+0200) Subject: lib-storage: Minor test-mail-search-args-simplify unit test improvements X-Git-Tag: 2.2.20~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=387f9e3b4120273ad0213206a0e9cc2dc0e62cca;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Minor test-mail-search-args-simplify unit test improvements --- diff --git a/src/lib-storage/test-mail-search-args-simplify.c b/src/lib-storage/test-mail-search-args-simplify.c index 8626a216ac..c4529cac5e 100644 --- a/src/lib-storage/test-mail-search-args-simplify.c +++ b/src/lib-storage/test-mail-search-args-simplify.c @@ -97,12 +97,15 @@ struct { { "TEXT foo BODY foo", "TEXT foo BODY foo" }, { "OR ( TEXT foo OR TEXT foo TEXT foo ) ( TEXT foo ( TEXT foo ) )", "TEXT foo" }, + /* OR: drop redundant args */ { "OR ( TEXT common1 TEXT unique1 ) TEXT common1", "TEXT common1" }, { "OR ( TEXT unique1 TEXT common1 ) TEXT common1", "TEXT common1" }, { "OR TEXT common1 ( TEXT common1 TEXT unique1 )", "TEXT common1" }, { "OR TEXT common1 ( TEXT unique1 TEXT common1 )", "TEXT common1" }, + { "OR ( TEXT common1 TEXT common2 ) ( TEXT common1 TEXT common2 TEXT unique1 )", "TEXT common2 TEXT common1" }, { "OR TEXT common1 OR ( TEXT unique1 TEXT common1 ) ( TEXT unique3 TEXT common1 )", "TEXT common1" }, + /* OR: extract common AND */ { "OR ( TEXT common1 TEXT unique1 ) ( TEXT common1 TEXT unique2 )", "(OR TEXT unique1 TEXT unique2) TEXT common1" }, { "OR ( TEXT unique1 TEXT common1 ) ( TEXT unique2 TEXT common1 )", "(OR TEXT unique1 TEXT unique2) TEXT common1" }, { "OR ( TEXT common1 TEXT unique1 ) ( TEXT unique2 TEXT common1 )", "(OR TEXT unique1 TEXT unique2) TEXT common1" }, @@ -112,6 +115,7 @@ struct { { "OR ( TEXT common1 TEXT common2 TEXT unique1 ) ( TEXT common1 TEXT common2 TEXT unique2 )", "(OR TEXT unique1 TEXT unique2) TEXT common2 TEXT common1" }, { "OR ( TEXT common1 TEXT common2 TEXT unique1 TEXT unique2 ) ( TEXT common1 TEXT common2 TEXT unique3 TEXT unique4 )", "(OR (TEXT unique1 TEXT unique2) (TEXT unique3 TEXT unique4)) TEXT common2 TEXT common1" }, + /* non-matching cases */ { "OR ( TEXT unique1 TEXT unique2 ) TEXT unique3", "(OR (TEXT unique1 TEXT unique2) TEXT unique3)" }, { "OR ( TEXT unique1 TEXT unique2 ) ( TEXT unique3 TEXT unique4 )", "(OR (TEXT unique1 TEXT unique2) (TEXT unique3 TEXT unique4))" }, { "OR ( TEXT common1 TEXT unique1 ) OR ( TEXT common1 TEXT unique2 ) TEXT unique3", "(OR (TEXT common1 TEXT unique1) OR (TEXT common1 TEXT unique2) TEXT unique3)" },