Skip to content

Commit

Permalink
chore(linux): Add missing tests
Browse files Browse the repository at this point in the history
This adds (and fixes) two tests that were previously left out by
accident.
  • Loading branch information
ermshiperete committed Oct 17, 2023
1 parent 68bff20 commit 337018a
Showing 1 changed file with 20 additions and 17 deletions.
37 changes: 20 additions & 17 deletions linux/ibus-keyman/src/test/keymanutil_tests.c
Original file line number Diff line number Diff line change
Expand Up @@ -723,8 +723,8 @@ test_keyman_add_keyboard__one_language_plus_custom() {
void
test_keyman_add_keyboard__one_language_plus_two_custom() {
// Initialize
gchar* languages[] = {"en:English", NULL};
custom_keyboards = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)g_ptr_array_unref);
gchar* languages[] = {"en:English", NULL};
custom_keyboards = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify)g_ptr_array_unref);
g_hash_table_insert(custom_keyboards, g_strdup("/tmp/tst.kmx"), g_ptr_array_new_full(1, g_free));
GPtrArray* language_keyboards = g_hash_table_lookup(custom_keyboards, "/tmp/tst.kmx");
cust_kbd* data = g_new0(cust_kbd, 1);
Expand All @@ -744,18 +744,21 @@ test_keyman_add_keyboard__one_language_plus_two_custom() {
keyman_add_keyboard(keyboard, kb_data);

// Verify
g_assert_nonnull(kb_data->engines_list->data);
IBusEngineDesc* desc = (IBusEngineDesc*)kb_data->engines_list->data;
GList* list = kb_data->engines_list;
g_assert_nonnull(list);
IBusEngineDesc* desc = (IBusEngineDesc*)list->data;
g_assert_cmpstr(ibus_engine_desc_get_name(desc), ==, "en:/tmp/tst.kmx");
g_assert_nonnull(kb_data->engines_list->next);
g_assert_nonnull(kb_data->engines_list->next->data);
desc = (IBusEngineDesc*)kb_data->engines_list->next->data;
g_assert_nonnull(list->next);
list = list->next;
g_assert_nonnull(list->data);
desc = (IBusEngineDesc*)list->data;
g_assert_cmpstr(ibus_engine_desc_get_name(desc), ==, "ldb:/tmp/tst.kmx");
g_assert_nonnull(kb_data->engines_list->next);
g_assert_nonnull(kb_data->engines_list->next->data);
desc = (IBusEngineDesc*)kb_data->engines_list->next->data;
g_assert_nonnull(list->next);
list = list->next;
g_assert_nonnull(list->data);
desc = (IBusEngineDesc*)list->data;
g_assert_cmpstr(ibus_engine_desc_get_name(desc), ==, "lda:/tmp/tst.kmx");
g_assert_null(kb_data->engines_list->next->next);
g_assert_null(list->next);
}

void
Expand Down Expand Up @@ -990,11 +993,7 @@ test_keyman_add_keyboards_from_dir__one_language_plus_two_different_custom() {
gchar* kmx_path = g_strdup_printf("%s/test1.kmx", kmp_dir);
g_hash_table_insert(custom_keyboards, g_strdup(kmx_path), g_ptr_array_new_full(1, g_free));
GPtrArray* language_keyboards = g_hash_table_lookup(custom_keyboards, kmx_path);
cust_kbd* /* The above code is written in the C programming language.
However, it does not contain any specific instructions or
logic. It only includes the word "data" and three hash
symbols " */
data = g_new0(cust_kbd, 1);
cust_kbd* data = g_new0(cust_kbd, 1);
data->kb_id_with_lang = g_strdup_printf("ldb:%s", kmx_path);
data->lang = g_new0(kmp_language, 1);
data->lang->id = g_strdup("ldb");
Expand All @@ -1018,7 +1017,7 @@ test_keyman_add_keyboards_from_dir__one_language_plus_two_different_custom() {
IBusEngineDesc* desc = IBUS_ENGINE_DESC(keyboards->data);
g_autofree gchar* expected_name = g_strdup_printf("bza:%s/test1.kmx", kmp_dir);
g_assert_cmpstr(ibus_engine_desc_get_name(desc), ==, expected_name);
desc = IBUS_ENGINE_DESC(keyboards->next->next->data);
desc = IBUS_ENGINE_DESC(keyboards->next->data);
expected_name = g_strdup_printf("ldb:%s/test1.kmx", kmp_dir);
g_assert_cmpstr(ibus_engine_desc_get_name(desc), ==, expected_name);
}
Expand Down Expand Up @@ -1093,6 +1092,7 @@ int main(int argc, char* argv[]) {
g_test_add_func("/keymanutil/keyman_add_keyboard/one_language", test_keyman_add_keyboard__one_language);
g_test_add_func("/keymanutil/keyman_add_keyboard/two_languages", test_keyman_add_keyboard__two_languages);
g_test_add_func("/keymanutil/keyman_add_keyboard/one_language_plus_custom", test_keyman_add_keyboard__one_language_plus_custom);
g_test_add_func("/keymanutil/keyman_add_keyboard/one_language_plus_two_custom", test_keyman_add_keyboard__one_language_plus_two_custom);
g_test_add_func(
"/keymanutil/keyman_add_keyboard/prev_engine_adding_same_version",
test_keyman_add_keyboard__prev_engine_adding_same_version);
Expand All @@ -1111,6 +1111,9 @@ int main(int argc, char* argv[]) {
g_test_add_func("/keymanutil/keyman_add_keyboards_from_dir/one_dir", test_keyman_add_keyboards_from_dir__one_dir);
g_test_add_func("/keymanutil/keyman_add_keyboards_from_dir/two_langs", test_keyman_add_keyboards_from_dir__two_langs);
g_test_add_func("/keymanutil/keyman_add_keyboards_from_dir/prev_keyboards", test_keyman_add_keyboards_from_dir__prev_keyboards);
g_test_add_func(
"/keymanutil/keyman_add_keyboards_from_dir/one_language_plus_two_different_custom",
test_keyman_add_keyboards_from_dir__one_language_plus_two_different_custom);

// Run tests
int retVal = g_test_run();
Expand Down

0 comments on commit 337018a

Please sign in to comment.