Autocomplete accent and case insensitive

This commit is contained in:
James Booth
2017-03-25 01:40:20 +00:00
parent b19e02db91
commit b5e0106526
4 changed files with 74 additions and 1 deletions

View File

@@ -117,3 +117,55 @@ void add_two_same_updates(void **state)
autocomplete_clear(ac);
g_slist_free_full(result, g_free);
}
void complete_accented_with_accented(void **state)
{
Autocomplete ac = autocomplete_new();
autocomplete_add(ac, "èâîô");
char *result = autocomplete_complete(ac, "èâ", TRUE);
assert_string_equal("èâîô", result);
autocomplete_clear(ac);
}
void complete_accented_with_base(void **state)
{
Autocomplete ac = autocomplete_new();
autocomplete_add(ac, "èâîô");
char *result = autocomplete_complete(ac, "ea", TRUE);
assert_string_equal("èâîô", result);
autocomplete_clear(ac);
}
void complete_both_with_accented(void **state)
{
Autocomplete ac = autocomplete_new();
autocomplete_add(ac, "eaooooo");
autocomplete_add(ac, "èâîô");
char *result1 = autocomplete_complete(ac, "èâ", TRUE);
char *result2 = autocomplete_complete(ac, result1, TRUE);
assert_string_equal("èâîô", result2);
autocomplete_clear(ac);
}
void complete_both_with_base(void **state)
{
Autocomplete ac = autocomplete_new();
autocomplete_add(ac, "eaooooo");
autocomplete_add(ac, "èâîô");
char *result1 = autocomplete_complete(ac, "ea", TRUE);
char *result2 = autocomplete_complete(ac, result1, TRUE);
assert_string_equal("èâîô", result2);
autocomplete_clear(ac);
}

View File

@@ -8,3 +8,7 @@ void add_two_and_complete_returns_second(void **state);
void add_two_adds_two(void **state);
void add_two_same_adds_one(void **state);
void add_two_same_updates(void **state);
void complete_accented_with_accented(void **state);
void complete_accented_with_base(void **state);
void complete_both_with_accented(void **state);
void complete_both_with_base(void **state);

View File

@@ -90,6 +90,10 @@ int main(int argc, char* argv[]) {
unit_test(add_two_adds_two),
unit_test(add_two_same_adds_one),
unit_test(add_two_same_updates),
unit_test(complete_accented_with_accented),
unit_test(complete_accented_with_base),
unit_test(complete_both_with_accented),
unit_test(complete_both_with_base),
unit_test(create_jid_from_null_returns_null),
unit_test(create_jid_from_empty_string_returns_null),