about summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2017-03-25 01:40:20 +0000
committerJames Booth <boothj5@gmail.com>2017-03-25 01:40:20 +0000
commitb5e0106526fc4a22219c4978209df05981e115fd (patch)
tree023e59a5cb94e9860c6c05b5393a57e214bf801e /tests
parentb19e02db91b6fc1fc56242953f1c48c4d84a1e8b (diff)
downloadprofani-tty-b5e0106526fc4a22219c4978209df05981e115fd.tar.gz
Autocomplete accent and case insensitive
Diffstat (limited to 'tests')
-rw-r--r--tests/unittests/test_autocomplete.c52
-rw-r--r--tests/unittests/test_autocomplete.h4
-rw-r--r--tests/unittests/unittests.c4
3 files changed, 60 insertions, 0 deletions
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),