dovecot-2.2: lib-fts: Removed filter name macros from fts-filter.h

dovecot at dovecot.org dovecot at dovecot.org
Sat May 9 11:54:07 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/055666aaba5a
changeset: 18587:055666aaba5a
user:      Timo Sirainen <tss at iki.fi>
date:      Sat May 09 14:50:10 2015 +0300
description:
lib-fts: Removed filter name macros from fts-filter.h
The filters can be directly accessed via their class structs.

diffstat:

 src/lib-fts/fts-filter-lowercase.c        |   2 +-
 src/lib-fts/fts-filter-normalizer-icu.c   |   2 +-
 src/lib-fts/fts-filter-stemmer-snowball.c |   2 +-
 src/lib-fts/fts-filter-stopwords.c        |   2 +-
 src/lib-fts/fts-filter.h                  |   4 -
 src/lib-fts/test-fts-filter.c             |  77 +++++++++++-------------------
 6 files changed, 32 insertions(+), 57 deletions(-)

diffs (truncated from 356 to 300 lines):

diff -r 307fe289f1b7 -r 055666aaba5a src/lib-fts/fts-filter-lowercase.c
--- a/src/lib-fts/fts-filter-lowercase.c	Sat May 09 14:49:20 2015 +0300
+++ b/src/lib-fts/fts-filter-lowercase.c	Sat May 09 14:50:10 2015 +0300
@@ -54,7 +54,7 @@
 };
 
 static const struct fts_filter fts_filter_lowercase_real = {
-	.class_name = LOWERCASE_FILTER_NAME,
+	.class_name = "lowercase",
 	.v = &normalizer_filter_vfuncs
 };
 
diff -r 307fe289f1b7 -r 055666aaba5a src/lib-fts/fts-filter-normalizer-icu.c
--- a/src/lib-fts/fts-filter-normalizer-icu.c	Sat May 09 14:49:20 2015 +0300
+++ b/src/lib-fts/fts-filter-normalizer-icu.c	Sat May 09 14:50:10 2015 +0300
@@ -281,7 +281,7 @@
 };
 
 static const struct fts_filter fts_filter_normalizer_icu_real = {
-	.class_name = ICU_NORMALIZER_FILTER_NAME,
+	.class_name = "normalizer-icu",
 	.v = &normalizer_filter_vfuncs
 };
 
diff -r 307fe289f1b7 -r 055666aaba5a src/lib-fts/fts-filter-stemmer-snowball.c
--- a/src/lib-fts/fts-filter-stemmer-snowball.c	Sat May 09 14:49:20 2015 +0300
+++ b/src/lib-fts/fts-filter-stemmer-snowball.c	Sat May 09 14:50:10 2015 +0300
@@ -141,7 +141,7 @@
 };
 
 static const struct fts_filter fts_filter_stemmer_snowball_real = {
-	.class_name = SNOWBALL_STEMMER_FILTER_NAME,
+	.class_name = "snowball",
 	.v = &snowball_stemmer_filter_vfuncs
 };
 
diff -r 307fe289f1b7 -r 055666aaba5a src/lib-fts/fts-filter-stopwords.c
--- a/src/lib-fts/fts-filter-stopwords.c	Sat May 09 14:49:20 2015 +0300
+++ b/src/lib-fts/fts-filter-stopwords.c	Sat May 09 14:50:10 2015 +0300
@@ -131,7 +131,7 @@
 };
 
 const struct fts_filter fts_filter_stopwords_real = {
-	.class_name = STOPWORDS_FILTER_NAME,
+	.class_name = "stopwords",
 	.v = &stopwords_filter_vfuncs
 };
 const struct fts_filter *fts_filter_stopwords = &fts_filter_stopwords_real;
diff -r 307fe289f1b7 -r 055666aaba5a src/lib-fts/fts-filter.h
--- a/src/lib-fts/fts-filter.h	Sat May 09 14:49:20 2015 +0300
+++ b/src/lib-fts/fts-filter.h	Sat May 09 14:50:10 2015 +0300
@@ -15,13 +15,11 @@
 
  */
 extern const struct fts_filter *fts_filter_stopwords;
-#define STOPWORDS_FILTER_NAME "stopwords"
 
 /*
  Settings: "lang", language of the stemmed language.
  */
 extern const struct fts_filter *fts_filter_stemmer_snowball;
-#define SNOWBALL_STEMMER_FILTER_NAME "snowball"
 
 /*
  Settings: "id", description of the normalizing/translitterating rules
@@ -31,11 +29,9 @@
  Remove; NFC"
  */
 extern const struct fts_filter *fts_filter_normalizer_icu;
-#define ICU_NORMALIZER_FILTER_NAME "normalizer-icu"
 
 /* Lowecases the input. Currently only ASCII data is lowercased. */
 extern const struct fts_filter *fts_filter_lowercase;
-#define LOWERCASE_FILTER_NAME "lowercase"
 
 /* Register all built-in filters. */
 void fts_filters_init(void);
diff -r 307fe289f1b7 -r 055666aaba5a src/lib-fts/test-fts-filter.c
--- a/src/lib-fts/test-fts-filter.c	Sat May 09 14:49:20 2015 +0300
+++ b/src/lib-fts/test-fts-filter.c	Sat May 09 14:50:10 2015 +0300
@@ -11,6 +11,16 @@
 static const char *const stopword_settings[] = {"stopwords_dir", TEST_STOPWORDS_DIR, NULL};
 static struct fts_language english_language = { .name = "en" };
 
+static void test_fts_filter_find(void)
+{
+	test_begin("fts filter find");
+	test_assert(fts_filter_find("stopwords") == fts_filter_stopwords);
+	test_assert(fts_filter_find("snowball") == fts_filter_stemmer_snowball);
+	test_assert(fts_filter_find("normalizer-icu") == fts_filter_normalizer_icu);
+	test_assert(fts_filter_find("lowercase") == fts_filter_lowercase);
+	test_end();
+}
+
 static void test_fts_filter_lowercase(void)
 {
 	struct {
@@ -21,15 +31,13 @@
 		{ "FOO", "foo" },
 		{ "fOo", "foo" }
 	};
-	const struct fts_filter *filter_class;
 	struct fts_filter *filter;
 	const char *error;
 	const char *token;
 	unsigned int i;
 
 	test_begin("fts filter lowercase");
-	filter_class = fts_filter_find(LOWERCASE_FILTER_NAME);
-	test_assert(fts_filter_create(filter_class, NULL, &english_language, NULL, &filter, &error) == 0);
+	test_assert(fts_filter_create(fts_filter_lowercase, NULL, &english_language, NULL, &filter, &error) == 0);
 
 	for (i = 0; i < N_ELEMENTS(tests); i++) {
 		token = tests[i].input;
@@ -42,7 +50,6 @@
 
 static void test_fts_filter_stopwords_eng(void)
 {
-	const struct fts_filter *filter_class;
 	struct fts_filter *filter;
 	const char *error;
 	int ret;
@@ -56,8 +63,7 @@
 	const char *token;
 
 	test_begin("fts filter stopwords, English");
-	filter_class = fts_filter_find(STOPWORDS_FILTER_NAME);
-	test_assert(fts_filter_create(filter_class, NULL, &english_language, stopword_settings, &filter, &error) == 0);
+	test_assert(fts_filter_create(fts_filter_stopwords, NULL, &english_language, stopword_settings, &filter, &error) == 0);
 
 	ip = input;
 	op = output;
@@ -82,7 +88,6 @@
 
 static void test_fts_filter_stopwords_fin(void)
 {
-	const struct fts_filter *filter_class;
 	const struct fts_language finnish = { .name = "fi" };
 	struct fts_filter *filter;
 	const char *error;
@@ -99,8 +104,7 @@
 	const char *token;
 
 	test_begin("fts filter stopwords, Finnish");
-	filter_class = fts_filter_find(STOPWORDS_FILTER_NAME);
-	test_assert(fts_filter_create(filter_class, NULL, &finnish, stopword_settings, &filter, &error) == 0);
+	test_assert(fts_filter_create(fts_filter_stopwords, NULL, &finnish, stopword_settings, &filter, &error) == 0);
 
 	ip = input;
 	op = output;
@@ -121,7 +125,7 @@
 	fts_filter_unref(&filter);
 	test_assert(filter == NULL);
 
-	test_assert(fts_filter_create(filter_class, NULL, &finnish, stopword_settings, &filter, &error) == 0);
+	test_assert(fts_filter_create(fts_filter_stopwords, NULL, &finnish, stopword_settings, &filter, &error) == 0);
 	ip = input2;
 	op = output2;
 	while (*ip != NULL) {
@@ -145,7 +149,6 @@
 
 static void test_fts_filter_stopwords_fra(void)
 {
-	const struct fts_filter *filter_class;
 	const struct fts_language french = { .name = "fr" };
 	struct fts_filter *filter;
 	const char *error;
@@ -162,8 +165,7 @@
 	const char *token;
 
 	test_begin("fts filter stopwords, French");
-	filter_class = fts_filter_find(STOPWORDS_FILTER_NAME);
-	test_assert(fts_filter_create(filter_class, NULL, &french, stopword_settings, &filter, &error) == 0);
+	test_assert(fts_filter_create(fts_filter_stopwords, NULL, &french, stopword_settings, &filter, &error) == 0);
 
 	ip = input;
 	op = output;
@@ -188,14 +190,12 @@
 
 static void test_fts_filter_stopwords_fail_lazy_init(void)
 {
-	const struct fts_filter *filter_class;
 	const struct fts_language unknown = { .name = "bebobidoop" };
 	struct fts_filter *filter = NULL;
 	const char *error = NULL, *token = "foobar";
 
 	test_begin("fts filter stopwords, fail filter() (lazy init)");
-	filter_class = fts_filter_find(STOPWORDS_FILTER_NAME);
-	test_assert(fts_filter_create(filter_class, NULL, &unknown, stopword_settings, &filter, &error) == 0);
+	test_assert(fts_filter_create(fts_filter_stopwords, NULL, &unknown, stopword_settings, &filter, &error) == 0);
 	test_assert(filter != NULL && error == NULL);
 	test_assert(fts_filter_filter(filter, &token, &error) < 0 && error != NULL);
 	test_end();
@@ -205,7 +205,6 @@
 #ifdef HAVE_FTS_STEMMER
 static void test_fts_filter_stemmer_snowball_stem_english(void)
 {
-	const struct fts_filter *filter_class;
 	struct fts_filter *stemmer;
 	const char *error;
 	const char *token = NULL;
@@ -225,8 +224,7 @@
 	const char * const *bpp;
 
 	test_begin("fts filter stem English");
-	filter_class = fts_filter_find(SNOWBALL_STEMMER_FILTER_NAME);
-	test_assert(fts_filter_create(filter_class, NULL, &english_language, NULL, &stemmer, &error) == 0);
+	test_assert(fts_filter_create(fts_filter_stemmer_snowball, NULL, &english_language, NULL, &stemmer, &error) == 0);
 	bpp = bases;
 	for (tpp=tokens; *tpp != NULL; tpp++) {
 		token = *tpp;
@@ -242,7 +240,6 @@
 
 static void test_fts_filter_stemmer_snowball_stem_french(void)
 {
-	const struct fts_filter *filter_class;
 	struct fts_filter *stemmer;
 	const char *error;
 	struct fts_language language = { .name = "fr" };
@@ -258,8 +255,7 @@
 	const char * const *bpp;
 
 	test_begin("fts filter stem French");
-	filter_class = fts_filter_find(SNOWBALL_STEMMER_FILTER_NAME);
-	test_assert(fts_filter_create(filter_class, NULL, &language, NULL, &stemmer, &error) == 0);
+	test_assert(fts_filter_create(fts_filter_stemmer_snowball, NULL, &language, NULL, &stemmer, &error) == 0);
 	bpp = bases;
 	for (tpp=tokens; *tpp != NULL; tpp++) {
 		token = *tpp;
@@ -276,7 +272,6 @@
 static void test_fts_filter_stopwords_stemmer_eng(void)
 {
 	int ret;
-	const struct fts_filter *filter_class;
 	struct fts_filter *stemmer;
 	struct fts_filter *filter;
 	const char *error;
@@ -298,11 +293,8 @@
 
 	test_begin("fts filters stopwords and stemming chained, English");
 
-	filter_class = fts_filter_find(STOPWORDS_FILTER_NAME);
-	test_assert(fts_filter_create(filter_class, NULL, &english_language, stopword_settings, &filter, &error) == 0);
-
-	filter_class = fts_filter_find(SNOWBALL_STEMMER_FILTER_NAME);
-	test_assert(fts_filter_create(filter_class, filter, &english_language, NULL, &stemmer, &error) == 0);
+	test_assert(fts_filter_create(fts_filter_stopwords, NULL, &english_language, stopword_settings, &filter, &error) == 0);
+	test_assert(fts_filter_create(fts_filter_stemmer_snowball, filter, &english_language, NULL, &stemmer, &error) == 0);
 
 	bpp = bases;
 	for (tpp=tokens; *tpp != NULL; tpp++) {
@@ -328,7 +320,6 @@
 #ifdef HAVE_LIBICU
 static void test_fts_filter_normalizer_swedish_short(void)
 {
-	const struct fts_filter *filter_class;
 	struct fts_filter *norm = NULL;
 	const char *input[] = {
 		NULL,
@@ -356,8 +347,7 @@
 	test_begin("fts filter normalizer Swedish short text");
 
 	T_BEGIN {
-		filter_class = fts_filter_find(ICU_NORMALIZER_FILTER_NAME);
-		test_assert(fts_filter_create(filter_class, NULL, NULL, settings, &norm, &error) == 0);
+		test_assert(fts_filter_create(fts_filter_normalizer_icu, NULL, NULL, settings, &norm, &error) == 0);
 		for (i = 0; i < N_ELEMENTS(input); i++) {
 			if (input[i] != NULL) {
 				token = input[i];
@@ -373,7 +363,6 @@
 
 static void test_fts_filter_normalizer_swedish_short_default_id(void)
 {
-	const struct fts_filter *filter_class;
 	struct fts_filter *norm = NULL;
 	const char *input[] = {
 		NULL,
@@ -399,8 +388,7 @@
 	test_begin("fts filter normalizer Swedish short text using default ID");
 
 	T_BEGIN {
-		filter_class = fts_filter_find(ICU_NORMALIZER_FILTER_NAME);
-		test_assert(fts_filter_create(filter_class, NULL, NULL, NULL, &norm, &error) == 0);
+		test_assert(fts_filter_create(fts_filter_normalizer_icu, NULL, NULL, NULL, &norm, &error) == 0);
 		for (i = 0; i < N_ELEMENTS(input); i++) {
 			if (input[i] != NULL) {
 				token = input[i];
@@ -419,7 +407,6 @@
 static void test_fts_filter_normalizer_french(void)
 {
 	struct fts_filter *norm = NULL;
-	const struct fts_filter *filter_class;
 	FILE *input;
 	const char * const settings[] =
 		{"id", "Any-Lower; NFKD; [: Nonspacing Mark :] Remove", NULL};
@@ -443,8 +430,7 @@
 
 	T_BEGIN {
 		udhr_path = t_strconcat(UDHRDIR, UDHR_FRA_NAME, NULL);
-		filter_class = fts_filter_find(ICU_NORMALIZER_FILTER_NAME);


More information about the dovecot-cvs mailing list