From b5e0106526fc4a22219c4978209df05981e115fd Mon Sep 17 00:00:00 2001 From: James Booth Date: Sat, 25 Mar 2017 01:40:20 +0000 Subject: Autocomplete accent and case insensitive --- tests/unittests/test_autocomplete.c | 52 +++++++++++++++++++++++++++++++++++++ tests/unittests/test_autocomplete.h | 4 +++ tests/unittests/unittests.c | 4 +++ 3 files changed, 60 insertions(+) (limited to 'tests') diff --git a/tests/unittests/test_autocomplete.c b/tests/unittests/test_autocomplete.c index 2fd68b51..10f95be8 100644 --- a/tests/unittests/test_autocomplete.c +++ b/tests/unittests/test_autocomplete.c @@ -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); +} diff --git a/tests/unittests/test_autocomplete.h b/tests/unittests/test_autocomplete.h index 4ad327c0..a16e4db3 100644 --- a/tests/unittests/test_autocomplete.h +++ b/tests/unittests/test_autocomplete.h @@ -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); diff --git a/tests/unittests/unittests.c b/tests/unittests/unittests.c index 71bdf1b1..d59a5ed0 100644 --- a/tests/unittests/unittests.c +++ b/tests/unittests/unittests.c @@ -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), -- cgit 1.4.1-2-gfad0