* tests: updated for changes elsewhere, add new tests for searching messages
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
## Copyright (C) 2010 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
## Copyright (C) 2008-2010 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
||||||
##
|
##
|
||||||
## This program is free software; you can redistribute it and/or modify it
|
## This program is free software; you can redistribute it and/or modify it
|
||||||
## under the terms of the GNU General Public License as published by the
|
## under the terms of the GNU General Public License as published by the
|
||||||
|
|||||||
@ -179,10 +179,6 @@ test_mu_msg_03 (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
ignore_error (const char* log_domain, GLogLevelFlags log_level, const gchar* msg,
|
ignore_error (const char* log_domain, GLogLevelFlags log_level, const gchar* msg,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
@ -208,9 +204,9 @@ main (int argc, char *argv[])
|
|||||||
g_test_add_func ("/mu-msg/mu-msg-03",
|
g_test_add_func ("/mu-msg/mu-msg-03",
|
||||||
test_mu_msg_03);
|
test_mu_msg_03);
|
||||||
|
|
||||||
/* g_log_set_handler (NULL, */
|
g_log_set_handler (NULL,
|
||||||
/* G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION, */
|
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION,
|
||||||
/* (GLogFunc)shutup, NULL); */
|
(GLogFunc)shutup, NULL);
|
||||||
|
|
||||||
return g_test_run ();
|
return g_test_run ();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,6 +62,7 @@ run_and_count_matches (const char *xpath, const char *query)
|
|||||||
MuQuery *mquery;
|
MuQuery *mquery;
|
||||||
MuMsgIter *iter;
|
MuMsgIter *iter;
|
||||||
guint count;
|
guint count;
|
||||||
|
gchar *prep;
|
||||||
|
|
||||||
mquery = mu_query_new (xpath);
|
mquery = mu_query_new (xpath);
|
||||||
g_assert (query);
|
g_assert (query);
|
||||||
@ -69,6 +70,10 @@ run_and_count_matches (const char *xpath, const char *query)
|
|||||||
iter = mu_query_run (mquery, query, NULL, FALSE, 1);
|
iter = mu_query_run (mquery, query, NULL, FALSE, 1);
|
||||||
g_assert (iter);
|
g_assert (iter);
|
||||||
|
|
||||||
|
/* prep = mu_query_preprocess (query); */
|
||||||
|
/* g_print ("\n%s:\n(1)'%s'\n(2)'%s'\n", xpath, query, prep); */
|
||||||
|
/* g_free (prep); */
|
||||||
|
|
||||||
for (count = 0; !mu_msg_iter_is_done(iter);
|
for (count = 0; !mu_msg_iter_is_done(iter);
|
||||||
mu_msg_iter_next(iter), ++count);
|
mu_msg_iter_next(iter), ++count);
|
||||||
|
|
||||||
@ -95,10 +100,12 @@ test_mu_query_01 (void)
|
|||||||
{ "basic", 3 },
|
{ "basic", 3 },
|
||||||
{ "question", 5 },
|
{ "question", 5 },
|
||||||
{ "thanks", 2 },
|
{ "thanks", 2 },
|
||||||
{ "subject:elisp", 1 },
|
|
||||||
{ "html", 4 },
|
{ "html", 4 },
|
||||||
|
{ "subject:elisp", 1 },
|
||||||
{ "html AND contains", 1 },
|
{ "html AND contains", 1 },
|
||||||
|
{ "html and contains", 1 },
|
||||||
{ "from:pepernoot", 0 },
|
{ "from:pepernoot", 0 },
|
||||||
|
{ "foo:pepernoot", 0 },
|
||||||
{ "fünkÿ", 1 }
|
{ "fünkÿ", 1 }
|
||||||
};
|
};
|
||||||
xpath = fill_database ();
|
xpath = fill_database ();
|
||||||
@ -129,25 +136,60 @@ test_mu_query_02 (void)
|
|||||||
static void
|
static void
|
||||||
test_mu_query_03 (void)
|
test_mu_query_03 (void)
|
||||||
{
|
{
|
||||||
|
MuQuery *query;
|
||||||
gchar *xpath;
|
gchar *xpath;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
QResults queries[] = {
|
QResults queries[] = {
|
||||||
// { "t:help-gnu-emacs@gnu.org", 1}
|
{ "ploughed", 1},
|
||||||
{ "t:help-gnu-emacs", 0}
|
{ "s:Re:Learning LISP; Scheme vs elisp.", 1},
|
||||||
|
{ "subject:Re Learning LISP; Scheme vs elisp.", 1},
|
||||||
|
{ "t:help-gnu-emacs@gnu.org", 4},
|
||||||
|
{ "t:help-gnu-emacs", 0},
|
||||||
};
|
};
|
||||||
|
|
||||||
xpath = fill_database ();
|
xpath = fill_database ();
|
||||||
g_assert (xpath);
|
g_assert (xpath != NULL);
|
||||||
|
|
||||||
for (i = 0; i != G_N_ELEMENTS(queries); ++i)
|
for (i = 0; i != G_N_ELEMENTS(queries); ++i)
|
||||||
g_assert_cmpuint (run_and_count_matches (xpath, queries[i].query),
|
g_assert_cmpuint (run_and_count_matches (xpath, queries[i].query),
|
||||||
==, queries[i].count);
|
==, queries[i].count);
|
||||||
g_free (xpath);
|
g_free (xpath);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
test_mu_query_04 (void)
|
test_mu_query_04 (void)
|
||||||
|
{
|
||||||
|
MuQuery *query;
|
||||||
|
gchar *xpath;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
QResults queries[] = {
|
||||||
|
// { "frodo@example.com", 1},
|
||||||
|
{ "f:frodo@example.com", 1},
|
||||||
|
{ "f:Frodo Baggins", 1},
|
||||||
|
// { "bilbo@anotherexample.com", 1},
|
||||||
|
{ "t:bilbo@anotherexample.com", 1},
|
||||||
|
{ "t:bilbo", 1},
|
||||||
|
{ "f:bilbo", 0},
|
||||||
|
{ "baggins", 1}
|
||||||
|
};
|
||||||
|
|
||||||
|
xpath = fill_database ();
|
||||||
|
g_assert (xpath != NULL);
|
||||||
|
|
||||||
|
for (i = 0; i != G_N_ELEMENTS(queries); ++i)
|
||||||
|
g_assert_cmpuint (run_and_count_matches (xpath, queries[i].query),
|
||||||
|
==, queries[i].count);
|
||||||
|
g_free (xpath);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
test_mu_query_05 (void)
|
||||||
{
|
{
|
||||||
MuQuery *query;
|
MuQuery *query;
|
||||||
MuMsgIter *iter;
|
MuMsgIter *iter;
|
||||||
@ -180,8 +222,9 @@ main (int argc, char *argv[])
|
|||||||
|
|
||||||
g_test_add_func ("/mu-query/test-mu-query-01", test_mu_query_01);
|
g_test_add_func ("/mu-query/test-mu-query-01", test_mu_query_01);
|
||||||
g_test_add_func ("/mu-query/test-mu-query-02", test_mu_query_02);
|
g_test_add_func ("/mu-query/test-mu-query-02", test_mu_query_02);
|
||||||
/* g_test_add_func ("/mu-query/test-mu-query-03", test_mu_query_03); */
|
g_test_add_func ("/mu-query/test-mu-query-03", test_mu_query_03);
|
||||||
g_test_add_func ("/mu-query/test-mu-query-04", test_mu_query_04);
|
g_test_add_func ("/mu-query/test-mu-query-04", test_mu_query_04);
|
||||||
|
g_test_add_func ("/mu-query/test-mu-query-05", test_mu_query_05);
|
||||||
|
|
||||||
g_log_set_handler (NULL,
|
g_log_set_handler (NULL,
|
||||||
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION,
|
G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION,
|
||||||
|
|||||||
Reference in New Issue
Block a user