aboutsummaryrefslogtreecommitdiff
path: root/tests/test-libappindicator-dbus-server.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-libappindicator-dbus-server.c')
-rw-r--r--tests/test-libappindicator-dbus-server.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/test-libappindicator-dbus-server.c b/tests/test-libappindicator-dbus-server.c
new file mode 100644
index 0000000..f7b8d9f
--- /dev/null
+++ b/tests/test-libappindicator-dbus-server.c
@@ -0,0 +1,44 @@
+
+#include <dbus/dbus-glib.h>
+#include <dbus/dbus-glib-lowlevel.h>
+#include <glib.h>
+#include <libappindicator/app-indicator.h>
+#include "test-defines.h"
+
+static GMainLoop * mainloop = NULL;
+
+gboolean
+kill_func (gpointer userdata)
+{
+ g_main_loop_quit(mainloop);
+ return FALSE;
+}
+
+gint
+main (gint argc, gchar * argv[])
+{
+ g_type_init();
+
+ g_debug("DBus ID: %s", dbus_connection_get_server_id(dbus_g_connection_get_connection(dbus_g_bus_get(DBUS_BUS_SESSION, NULL))));
+
+ DbusmenuServer * dms = dbusmenu_server_new(TEST_OBJECT);
+
+ AppIndicator * ci = APP_INDICATOR(g_object_new(APP_INDICATOR_TYPE,
+ "id", TEST_ID,
+ "category-enum", TEST_CATEGORY,
+ "status-enum", TEST_STATE,
+ "icon-name", TEST_ICON_NAME,
+ "attention-icon-name", TEST_ATTENTION_ICON_NAME,
+ "menu-object", dms,
+ NULL));
+
+ g_timeout_add_seconds(2, kill_func, NULL);
+
+ mainloop = g_main_loop_new(NULL, FALSE);
+ g_main_loop_run(mainloop);
+
+ g_object_unref(G_OBJECT(ci));
+ g_debug("Quiting");
+
+ return 0;
+}