1
/* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
6
get_last_engine_id (const GList *engines)
9
const char *result = NULL;
10
for (; engines; engines = g_list_next (engines)) {
11
IBusEngineDesc *engine_desc = IBUS_ENGINE_DESC (engines->data);
12
g_assert (engine_desc);
13
result = engine_desc->name;
16
return g_strdup (result);
20
print_engines (const GList *engines)
23
for (; engines; engines = g_list_next (engines)) {
24
IBusEngineDesc *engine_desc = IBUS_ENGINE_DESC (engines->data);
25
g_assert (engine_desc);
26
g_debug ("%s (id:%s, icon:%s)", engine_desc->longname, engine_desc->name, engine_desc->icon);
27
g_object_unref (engine_desc);
37
gchar *active_engine_name;
39
bus = ibus_bus_new ();
42
g_debug ("===== Active engines:");
43
engines = ibus_bus_list_active_engines (bus);
45
active_engine_name = get_last_engine_id (engines);
46
print_engines (engines);
47
g_list_free (engines);
49
g_debug ("===== All engines:");
50
engines = ibus_bus_list_engines (bus);
52
print_engines (engines);
53
g_list_free (engines);
55
g_debug ("===== Global engine:");
56
if (ibus_bus_get_use_global_engine (bus)) {
57
g_debug ("use_global_engine is true.");
58
if (ibus_bus_is_global_engine_enabled (bus)) {
59
g_debug ("Global engine is enabled.");
60
IBusEngineDesc *global_engine = ibus_bus_get_global_engine (bus);
61
g_assert (global_engine);
62
g_debug ("%s (id:%s, icon:%s)", global_engine->longname,
63
global_engine->name, global_engine->icon);
64
g_object_unref (global_engine);
68
g_debug ("===== Use system layout:%s", ibus_bus_get_use_sys_layout (bus) ? "true" : "false");
70
g_debug ("Test ibusbus.c: passed.");
72
/* Test ibusinputcontext.c */
75
IBusInputContext *context;
76
IBusEngineDesc *engine_desc;
78
context = ibus_bus_create_input_context (bus, "test");
79
ibus_input_context_set_capabilities (context, IBUS_CAP_FOCUS);
80
ibus_input_context_disable (context);
81
g_assert (ibus_input_context_is_enabled (context) == FALSE);
82
ibus_input_context_enable (context);
83
g_assert (ibus_input_context_is_enabled (context) == TRUE);
84
ibus_input_context_focus_in (context);
85
ibus_input_context_set_engine (context, active_engine_name);
86
current_ic = ibus_bus_current_input_context (bus);
87
g_assert (!strcmp (current_ic, ibus_proxy_get_path (IBUS_PROXY (context))));
88
engine_desc = ibus_input_context_get_engine (context);
89
g_assert (engine_desc);
90
g_assert (!strcmp (active_engine_name, engine_desc->name));
91
g_debug ("Test ibusinputcontext.c: passed.");
93
g_free (active_engine_name);
95
g_object_unref (engine_desc);
96
g_object_unref (context);