]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Minor test-mail-search-args-simplify unit test improvements
authorTimo Sirainen <tss@iki.fi>
Sun, 6 Dec 2015 17:25:20 +0000 (19:25 +0200)
committerTimo Sirainen <tss@iki.fi>
Sun, 6 Dec 2015 17:25:20 +0000 (19:25 +0200)
src/lib-storage/test-mail-search-args-simplify.c

index 8626a216ac3ab356a6f6f72703b14cce97cd27dc..c4529cac5ee6f158b77811766935558f0dea8326 100644 (file)
@@ -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)" },