changeset 19474:7c984bcb5f57

lib-storage: Minor test-mail-search-args-simplify unit test improvements
author Timo Sirainen <tss@iki.fi>
date Sun, 06 Dec 2015 19:25:20 +0200
parents 836a0c2bc48a
children c4cfb7f95bc6
files src/lib-storage/test-mail-search-args-simplify.c
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/test-mail-search-args-simplify.c	Sun Dec 06 18:14:08 2015 +0200
+++ b/src/lib-storage/test-mail-search-args-simplify.c	Sun Dec 06 19:25:20 2015 +0200
@@ -97,12 +97,15 @@
 	{ "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 @@
 	{ "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)" },