Fix make distcheck errors.
[platform/upstream/ibus.git] / src / test-bus.c
1 #include <string.h>
2 #include "ibus.h"
3
4 static gchar *
5 get_last_engine_id (const GList *engines)
6 {
7     g_assert (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;
13     }
14     g_assert (result);
15     return g_strdup (result);
16 }
17
18 static void
19 print_engines (const GList *engines)
20 {
21     g_assert (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);
27     }
28 }
29
30 int main()
31 {
32         g_type_init ();
33
34         IBusBus *bus;
35         GList *engines;
36         IBusInputContext *context;
37         IBusEngineDesc *engine_desc;
38         gchar *active_engine_name;
39
40         bus = ibus_bus_new ();
41
42         /* Test ibusbus.c */
43         g_debug ("===== Active engines:");
44         engines = ibus_bus_list_active_engines (bus);
45         g_assert (engines);
46         active_engine_name = get_last_engine_id (engines);
47         print_engines (engines);
48         g_list_free (engines);
49
50         g_debug ("===== All engines:");
51         engines = ibus_bus_list_engines (bus);
52         g_assert (engines);
53         print_engines (engines);
54         g_list_free (engines);
55         g_debug ("Test ibusbus.c: passed.");
56
57         /* Test ibusinputcontext.c */
58 #if 0
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.");
70
71         g_free (active_engine_name);
72         g_object_unref (engine_desc);
73         g_object_unref (context);
74 #endif
75         g_object_unref (bus);
76
77         return 0;
78 }