From 1a8b83c9f2bb8afa7d737f08e6f183ab3e384113 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 5 Feb 2010 17:30:10 -0800 Subject: Adding a test for changing the status. Just a copy of the standard dbus test. --- tests/test-libappindicator-status-server.c | 59 ++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 tests/test-libappindicator-status-server.c (limited to 'tests/test-libappindicator-status-server.c') diff --git a/tests/test-libappindicator-status-server.c b/tests/test-libappindicator-status-server.c new file mode 100644 index 0000000..cc072aa --- /dev/null +++ b/tests/test-libappindicator-status-server.c @@ -0,0 +1,59 @@ +/* +Tests for the libappindicator library that are over DBus. This is +the server side of those tests. + +Copyright 2009 Canonical Ltd. + +Authors: + Ted Gould + +This program is free software: you can redistribute it and/or modify it +under the terms of the GNU General Public License version 3, as published +by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranties of +MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR +PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program. If not, see . +*/ + + +#include +#include +#include +#include +#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)))); + + AppIndicator * ci = app_indicator_new (TEST_ID, TEST_ICON_NAME, TEST_CATEGORY); + app_indicator_set_status (ci, TEST_STATE); + app_indicator_set_attention_icon (ci, TEST_ATTENTION_ICON_NAME); + + 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; +} -- cgit v1.2.3 From d004765bf7b546978e708f7ca43efc80e33f0d19 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Sat, 6 Feb 2010 09:27:10 -0800 Subject: Now setting status ALOT --- tests/test-libappindicator-status-server.c | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) (limited to 'tests/test-libappindicator-status-server.c') diff --git a/tests/test-libappindicator-status-server.c b/tests/test-libappindicator-status-server.c index cc072aa..f2984cd 100644 --- a/tests/test-libappindicator-status-server.c +++ b/tests/test-libappindicator-status-server.c @@ -25,15 +25,30 @@ with this program. If not, see . #include #include #include -#include "test-defines.h" static GMainLoop * mainloop = NULL; +static gboolean active = FALSE; +static guint toggle_count = 0; gboolean -kill_func (gpointer userdata) +toggle (gpointer userdata) { - g_main_loop_quit(mainloop); - return FALSE; + if (active) { + app_indicator_set_status (APP_INDICATOR(userdata), APP_INDICATOR_STATUS_ATTENTION); + active = FALSE; + } else { + app_indicator_set_status (APP_INDICATOR(userdata), APP_INDICATOR_STATUS_ACTIVE); + active = TRUE; + } + + toggle_count++; + + if (toggle_count == 1000) { + g_main_loop_quit(mainloop); + return FALSE; + } + + return TRUE; } gint @@ -43,11 +58,10 @@ main (gint argc, gchar * argv[]) g_debug("DBus ID: %s", dbus_connection_get_server_id(dbus_g_connection_get_connection(dbus_g_bus_get(DBUS_BUS_SESSION, NULL)))); - AppIndicator * ci = app_indicator_new (TEST_ID, TEST_ICON_NAME, TEST_CATEGORY); - app_indicator_set_status (ci, TEST_STATE); - app_indicator_set_attention_icon (ci, TEST_ATTENTION_ICON_NAME); + AppIndicator * ci = app_indicator_new ("my-id", "my-icon-name", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); + app_indicator_set_attention_icon (ci, "my-attention-icon"); - g_timeout_add_seconds(2, kill_func, NULL); + g_idle_add(toggle, ci); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); -- cgit v1.2.3 From 74c665741d480ab79105345ef9c700ddbf70804f Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Sat, 6 Feb 2010 09:40:19 -0800 Subject: Lengthening the time a little bit to make sure we don't miss messages. --- tests/test-libappindicator-status-server.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/test-libappindicator-status-server.c') diff --git a/tests/test-libappindicator-status-server.c b/tests/test-libappindicator-status-server.c index f2984cd..75b430e 100644 --- a/tests/test-libappindicator-status-server.c +++ b/tests/test-libappindicator-status-server.c @@ -61,7 +61,7 @@ main (gint argc, gchar * argv[]) AppIndicator * ci = app_indicator_new ("my-id", "my-icon-name", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); app_indicator_set_attention_icon (ci, "my-attention-icon"); - g_idle_add(toggle, ci); + g_timeout_add(50, toggle, ci); mainloop = g_main_loop_new(NULL, FALSE); g_main_loop_run(mainloop); -- cgit v1.2.3 From b9152c356c099d051109fcd03e68c745b34899ec Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Sat, 6 Feb 2010 09:41:25 -0800 Subject: Changing to 100 instead of 1000 --- tests/test-libappindicator-status-server.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/test-libappindicator-status-server.c') diff --git a/tests/test-libappindicator-status-server.c b/tests/test-libappindicator-status-server.c index 75b430e..c7a8ecd 100644 --- a/tests/test-libappindicator-status-server.c +++ b/tests/test-libappindicator-status-server.c @@ -43,7 +43,7 @@ toggle (gpointer userdata) toggle_count++; - if (toggle_count == 1000) { + if (toggle_count == 100) { g_main_loop_quit(mainloop); return FALSE; } -- cgit v1.2.3 From 982498c637c6afc0eefca913d3fc875b93ec22cc Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Sat, 6 Feb 2010 09:44:32 -0800 Subject: Making sure the client has time to setup. --- tests/test-libappindicator-status-server.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tests/test-libappindicator-status-server.c') diff --git a/tests/test-libappindicator-status-server.c b/tests/test-libappindicator-status-server.c index c7a8ecd..9e58ba9 100644 --- a/tests/test-libappindicator-status-server.c +++ b/tests/test-libappindicator-status-server.c @@ -21,6 +21,7 @@ with this program. If not, see . */ +#include #include #include #include @@ -56,6 +57,8 @@ main (gint argc, gchar * argv[]) { g_type_init(); + g_usleep(100000); + g_debug("DBus ID: %s", dbus_connection_get_server_id(dbus_g_connection_get_connection(dbus_g_bus_get(DBUS_BUS_SESSION, NULL)))); AppIndicator * ci = app_indicator_new ("my-id", "my-icon-name", APP_INDICATOR_CATEGORY_APPLICATION_STATUS); -- cgit v1.2.3