dovecot-2.2: lib-fts: Fixed/improved test-fts-filter unit tests ...
dovecot at dovecot.org
dovecot at dovecot.org
Mon May 11 13:03:14 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/44a87e17f988
changeset: 18637:44a87e17f988
user: Timo Sirainen <tss at iki.fi>
date: Mon May 11 16:01:13 2015 +0300
description:
lib-fts: Fixed/improved test-fts-filter unit tests for previous changes.
diffstat:
src/lib-fts/test-fts-filter.c | 49 +++++++++++++++++++++++++++---------------
1 files changed, 31 insertions(+), 18 deletions(-)
diffs (108 lines):
diff -r d4541fd7a531 -r 44a87e17f988 src/lib-fts/test-fts-filter.c
--- a/src/lib-fts/test-fts-filter.c Mon May 11 16:00:53 2015 +0300
+++ b/src/lib-fts/test-fts-filter.c Mon May 11 16:01:13 2015 +0300
@@ -322,8 +322,6 @@
{
struct fts_filter *norm = NULL;
const char *input[] = {
- NULL,
- "",
"Vem",
"Å",
"ÅÄÖ",
@@ -331,8 +329,6 @@
"\xC3\x85\xC3\x84\xC3\x96\xC3\xB6\xC3\xA4\xC3\xA5"
};
const char *expected_output[] = {
- NULL,
- "",
"vem",
"a",
"aao",
@@ -349,11 +345,9 @@
T_BEGIN {
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];
- test_assert_idx(fts_filter_filter(norm, &token, &error) == 1, i);
- test_assert_idx(null_strcmp(token, expected_output[i]) == 0, i);
- }
+ token = input[i];
+ test_assert_idx(fts_filter_filter(norm, &token, &error) == 1, i);
+ test_assert_idx(null_strcmp(token, expected_output[i]) == 0, i);
}
fts_filter_unref(&norm);
} T_END;
@@ -365,8 +359,6 @@
{
struct fts_filter *norm = NULL;
const char *input[] = {
- NULL,
- "",
"Vem",
"Å",
"ÅÄÖ",
@@ -374,8 +366,6 @@
"\xC3\x85\xC3\x84\xC3\x96\xC3\xB6\xC3\xA4\xC3\xA5"
};
const char *expected_output[] = {
- NULL,
- "",
"vem",
"a",
"aao",
@@ -390,11 +380,9 @@
T_BEGIN {
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];
- test_assert_idx(fts_filter_filter(norm, &token, &error) == 1, i);
- test_assert_idx(null_strcmp(token, expected_output[i]) == 0, i);
- }
+ token = input[i];
+ test_assert_idx(fts_filter_filter(norm, &token, &error) == 1, i);
+ test_assert_idx(null_strcmp(token, expected_output[i]) == 0, i);
}
fts_filter_unref(&norm);
} T_END;
@@ -451,6 +439,30 @@
test_end();
}
+static void test_fts_filter_normalizer_empty(void)
+{
+ /* test just a couple of these */
+ static const char *empty_tokens[] = {
+ "\xCC\x80", /* U+0300 */
+ "\xF3\xA0\x87\xAF", /* U+E01EF */
+ "\xCC\x80\xF3\xA0\x87\xAF" /* U+0300 U+E01EF */
+ };
+ const char * const settings[] =
+ {"id", "Any-Lower; NFKD; [: Nonspacing Mark :] Remove", NULL};
+ struct fts_filter *norm;
+ const char *error;
+ unsigned int i;
+
+ test_begin("fts filter normalizer empty tokens");
+ test_assert(fts_filter_create(fts_filter_normalizer_icu, NULL, NULL, settings, &norm, &error) == 0);
+ for (i = 0; i < N_ELEMENTS(empty_tokens); i++) {
+ const char *token = empty_tokens[i];
+ test_assert_idx(fts_filter_filter(norm, &token, &error) == 0, i);
+ }
+ fts_filter_unref(&norm);
+ test_end();
+}
+
static void test_fts_filter_normalizer_invalid_id(void)
{
struct fts_filter *norm = NULL;
@@ -543,6 +555,7 @@
test_fts_filter_normalizer_swedish_short,
test_fts_filter_normalizer_swedish_short_default_id,
test_fts_filter_normalizer_french,
+ test_fts_filter_normalizer_empty,
test_fts_filter_normalizer_invalid_id,
test_fts_filter_normalizer_stopwords_stemmer_eng,
#endif
More information about the dovecot-cvs
mailing list