5 get_last_engine_id (const GList *engines)
8 const char *result = NULL;
9 for (; engines; engines = g_list_next (engines)) {
10 IBusEngineDesc *engine_desc = IBUS_ENGINE_DESC (engines->data);
11 g_assert (engine_desc);
12 result = engine_desc->name;
15 return g_strdup (result);
19 print_engines (const GList *engines)
22 for (; engines; engines = g_list_next (engines)) {
23 IBusEngineDesc *engine_desc = IBUS_ENGINE_DESC (engines->data);
24 g_assert (engine_desc);
25 g_debug ("%s (id:%s, icon:%s)", engine_desc->longname, engine_desc->name, engine_desc->icon);
26 g_object_unref (engine_desc);
36 IBusInputContext *context;
37 IBusEngineDesc *engine_desc;
38 gchar *active_engine_name;
40 bus = ibus_bus_new ();
43 g_debug ("===== Active engines:");
44 engines = ibus_bus_list_active_engines (bus);
46 active_engine_name = get_last_engine_id (engines);
47 print_engines (engines);
48 g_list_free (engines);
50 g_debug ("===== All engines:");
51 engines = ibus_bus_list_engines (bus);
53 print_engines (engines);
54 g_list_free (engines);
55 g_debug ("Test ibusbus.c: passed.");
57 /* Test ibusinputcontext.c */
59 context = ibus_bus_create_input_context (bus, "test");
60 ibus_input_context_set_capabilities (context, 0);
61 ibus_input_context_disable (context);
62 g_assert (ibus_input_context_is_enabled (context) == FALSE);
63 ibus_input_context_enable (context);
64 g_assert (ibus_input_context_is_enabled (context) == TRUE);
65 ibus_input_context_set_engine (context, active_engine_name);
66 engine_desc = ibus_input_context_get_engine (context);
67 g_assert (engine_desc);
68 g_assert (!strcmp (active_engine_name, engine_desc->name));
69 g_debug ("Test ibusinputcontext.c: passed.");
71 g_free (active_engine_name);
72 g_object_unref (engine_desc);
73 g_object_unref (context);