From e804261f77cf34814c56e947cd2667aff9d544cf Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Tue, 8 Jun 2010 17:15:03 +0200 Subject: Add unit test for the live search matching --- tests/empathy-live-search-test.c | 75 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 tests/empathy-live-search-test.c (limited to 'tests/empathy-live-search-test.c') diff --git a/tests/empathy-live-search-test.c b/tests/empathy-live-search-test.c new file mode 100644 index 000000000..6263481a2 --- /dev/null +++ b/tests/empathy-live-search-test.c @@ -0,0 +1,75 @@ +#include +#include +#include + +#include "test-helper.h" + +#define DEBUG_FLAG EMPATHY_DEBUG_TESTS +#include + +#include + +typedef struct +{ + const gchar *string; + const gchar *prefix; + gboolean should_match; +} LiveSearchTest; + +static void +test_live_search (void) +{ + LiveSearchTest tests[] = + { + /* Test word separators and case */ + { "Hello World", "he", TRUE }, + { "Hello World", "wo", TRUE }, + { "Hello World", "lo", FALSE }, + { "Hello World", "ld", FALSE }, + { "Hello-World", "wo", TRUE }, + { "HelloWorld", "wo", FALSE }, + + /* Test accentued letters */ + { "Jörgen", "jor", TRUE }, + { "Gaëtan", "gaetan", TRUE }, + { "élève", "ele", TRUE }, + { "Azais", "AzaÏs", TRUE }, + + { NULL, NULL, FALSE } + }; + guint i; + gboolean failed = FALSE; + + DEBUG ("Started"); + for (i = 0; tests[i].string != NULL; i ++) + { + gboolean match; + gboolean ok; + + match = empathy_live_search_match_string (tests[i].string, tests[i].prefix); + ok = (match == tests[i].should_match); + + DEBUG ("'%s' - '%s': %s", tests[i].string, tests[i].prefix, ok ? "OK" : "FAILED"); + + if (!ok) + failed = TRUE; + } + + g_assert (!failed); +} + +int +main (int argc, + char **argv) +{ + int result; + + test_init (argc, argv); + + g_test_add_func ("/live-search", test_live_search); + + result = g_test_run (); + test_deinit (); + + return result; +} -- cgit v1.2.3