diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 153 | ||||
-rw-r--r-- | tests/im-client.c | 111 | ||||
-rw-r--r-- | tests/indicate-alot.c | 45 | ||||
-rw-r--r-- | tests/indicate-and-crash.c | 41 | ||||
-rw-r--r-- | tests/listen-and-print.c | 143 | ||||
-rw-r--r-- | tests/show-hide-server.c | 44 | ||||
-rw-r--r-- | tests/test-interests-client.c | 63 | ||||
-rw-r--r-- | tests/test-interests-server.c | 45 | ||||
-rw-r--r-- | tests/test-interests-server1.c | 41 | ||||
-rw-r--r-- | tests/test-interests-server2.c | 41 | ||||
-rw-r--r-- | tests/test-interests-server3.c | 41 | ||||
-rw-r--r-- | tests/test-interests-server4.c | 41 | ||||
-rw-r--r-- | tests/test-interests-server5.c | 41 | ||||
-rw-r--r-- | tests/test-simple-client.c | 30 | ||||
-rw-r--r-- | tests/test-simple-server.c | 39 | ||||
-rw-r--r-- | tests/test-thousand-indicators-client.c | 34 | ||||
-rw-r--r-- | tests/test-thousand-indicators-server.c | 43 | ||||
-rwxr-xr-x | tests/test.js | 6 | ||||
-rwxr-xr-x | tests/test_interests | 5 | ||||
-rwxr-xr-x | tests/test_interests_multi | 5 | ||||
-rwxr-xr-x | tests/test_simple | 5 | ||||
-rwxr-xr-x | tests/test_thousand_indicators | 5 |
22 files changed, 590 insertions, 432 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 862046e..7d72047 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,72 +1,141 @@ +TESTS = \ + test_simple \ + test_interests \ + test_interests_multi \ + test_thousand_indicators + libexec_PROGRAMS = \ - indicate-and-crash \ - indicate-alot \ - listen-and-print \ - im-client \ - show-hide-server + test-interests-client \ + test-interests-server \ + test-interests-server1 \ + test-interests-server2 \ + test-interests-server3 \ + test-interests-server4 \ + test-interests-server5 \ + test-thousand-indicators-client \ + test-thousand-indicators-server + test-simple-client \ + test-simple-server + +EXTRA_DIST = \ + $(TESTS) + +test_simple: test-simple-client test-simple-server + +test_simple_client_SOURCES = \ + test-simple-client.c + +test_simple_client_CFLAGS = \ + $(LIBINDICATE_CFLAGS) -I$(srcdir)/.. + +test_simple_client_LDADD = \ + ../libindicate/libindicate.la \ + $(LIBINDICATE_LIBS) -indicate_and_crash_SOURCES = \ - indicate-and-crash.c +test_simple_server_SOURCES = \ + test-simple-server.c -indicate_and_crash_CFLAGS = \ - -I $(srcdir)/.. \ - $(LIBINDICATE_CFLAGS) +test_simple_server_CFLAGS = \ + $(LIBINDICATE_CFLAGS) -I$(srcdir)/.. -indicate_and_crash_LDADD = \ +test_simple_server_LDADD = \ ../libindicate/libindicate.la \ $(LIBINDICATE_LIBS) -indicate_alot_SOURCES = \ - indicate-alot.c +test_interests: test-interests-client test-interests-server + +test_interests_client_SOURCES = \ + test-interests-client.c + +test_interests_client_CFLAGS = \ + $(LIBINDICATE_CFLAGS) -I$(srcdir)/.. + +test_interests_client_LDADD = \ + ../libindicate/libindicate.la \ + $(LIBINDICATE_LIBS) + +test_interests_server_SOURCES = \ + test-interests-server.c + +test_interests_server_CFLAGS = \ + $(LIBINDICATE_CFLAGS) -I$(srcdir)/.. + +test_interests_server_LDADD = \ + ../libindicate/libindicate.la \ + $(LIBINDICATE_LIBS) + +test_interests_multi: test-interests-client test-interests-server1 test-interests-server2 test-interests-server3 test-interests-server4 test-interests-server5 + +test_interests_server1_SOURCES = \ + test-interests-server1.c -indicate_alot_CFLAGS = \ - -I $(srcdir)/.. \ - $(LIBINDICATE_CFLAGS) +test_interests_server1_CFLAGS = \ + $(LIBINDICATE_CFLAGS) -I$(srcdir)/.. -indicate_alot_LDADD = \ +test_interests_server1_LDADD = \ ../libindicate/libindicate.la \ $(LIBINDICATE_LIBS) -listen_and_print_SOURCES = \ - listen-and-print.c +test_interests_server2_SOURCES = \ + test-interests-server2.c -listen_and_print_CFLAGS = \ - -I $(srcdir)/.. \ - $(LIBINDICATE_CFLAGS) +test_interests_server2_CFLAGS = \ + $(LIBINDICATE_CFLAGS) -I$(srcdir)/.. -listen_and_print_LDADD = \ +test_interests_server2_LDADD = \ ../libindicate/libindicate.la \ $(LIBINDICATE_LIBS) -im_client_SOURCES = \ - im-client.c +test_interests_server3_SOURCES = \ + test-interests-server3.c -im_client_CFLAGS = \ - -I $(srcdir)/.. \ - $(LIBINDICATE_CFLAGS) +test_interests_server3_CFLAGS = \ + $(LIBINDICATE_CFLAGS) -I$(srcdir)/.. -im_client_LDADD = \ +test_interests_server3_LDADD = \ ../libindicate/libindicate.la \ $(LIBINDICATE_LIBS) -show_hide_server_SOURCES = \ - show-hide-server.c +test_interests_server4_SOURCES = \ + test-interests-server4.c -show_hide_server_CFLAGS = \ - -I $(srcdir)/.. \ - $(LIBINDICATE_CFLAGS) +test_interests_server4_CFLAGS = \ + $(LIBINDICATE_CFLAGS) -I$(srcdir)/.. -show_hide_server_LDADD = \ +test_interests_server4_LDADD = \ ../libindicate/libindicate.la \ $(LIBINDICATE_LIBS) -examplesdir = $(docdir)/examples/ +test_interests_server5_SOURCES = \ + test-interests-server5.c -examples_DATA = \ - $(indicate_and_crash_SOURCES) \ - $(indicate_alot_SOURCES) \ - $(listen_and_print_SOURCES) \ - $(im_client_SOURCES) +test_interests_server5_CFLAGS = \ + $(LIBINDICATE_CFLAGS) -I$(srcdir)/.. + +test_interests_server5_LDADD = \ + ../libindicate/libindicate.la \ + $(LIBINDICATE_LIBS) + +test_thousand_indicators: test-thousand-indicators-client test-thousand-indicators-server + +test_thousand_indicators_client_SOURCES = \ + test-thousand-indicators-client.c + +test_thousand_indicators_client_CFLAGS = \ + $(LIBINDICATE_CFLAGS) -I$(srcdir)/.. + +test_thousand_indicators_client_LDADD = \ + ../libindicate/libindicate.la \ + $(LIBINDICATE_LIBS) + +test_thousand_indicators_server_SOURCES = \ + test-thousand-indicators-server.c + +test_thousand_indicators_server_CFLAGS = \ + $(LIBINDICATE_CFLAGS) -I$(srcdir)/.. + +test_thousand_indicators_server_LDADD = \ + ../libindicate/libindicate.la \ + $(LIBINDICATE_LIBS) -EXTRA_DIST = $(examples_DATA) diff --git a/tests/im-client.c b/tests/im-client.c deleted file mode 100644 index bf2fbb2..0000000 --- a/tests/im-client.c +++ /dev/null @@ -1,111 +0,0 @@ -/* -A test for libindicate to ensure its quality. - -Copyright 2009 Canonical Ltd. - -Authors: - Ted Gould <ted@canonical.com> - -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 <http://www.gnu.org/licenses/>. -*/ - -#include <glib.h> -#include "libindicate/server.h" -#include "libindicate/indicator-message.h" - -gchar * patha = "/usr/share/icons/hicolor/16x16/apps/empathy.png"; -gchar * pathb = "/usr/share/icons/hicolor/22x22/apps/empathy.png"; -gchar * lastpath = NULL; - -static gboolean -timeout_cb (gpointer data) -{ - g_debug("Modifying properties"); - - IndicateIndicator * indicator = INDICATE_INDICATOR(data); - - GTimeVal time; - g_get_current_time(&time); - indicate_indicator_set_property_time(INDICATE_INDICATOR(indicator), "time", &time); - - if (lastpath == patha) { - lastpath = pathb; - } else { - lastpath = patha; - } - - GdkPixbuf * pixbuf = gdk_pixbuf_new_from_file(lastpath, NULL); - g_return_val_if_fail(pixbuf != NULL, TRUE); - - indicate_indicator_set_property_icon(INDICATE_INDICATOR(indicator), "icon", pixbuf); - g_object_unref(G_OBJECT(pixbuf)); - - return TRUE; -} - -static void -display (IndicateIndicator * indicator, gpointer data) -{ - g_debug("Ah, my indicator has been displayed"); -} - -static void -server_display (IndicateServer * server, gpointer data) -{ - g_debug("Ah, my server has been displayed"); -} - -static void -interest_added (IndicateServer * server, IndicateInterests interest) -{ - g_debug("Oh, someone is interested in my for: %d", interest); -} - -void -interest_removed (IndicateServer * server, IndicateInterests interest) -{ - g_debug("Someone is no longer interested in my for: %d", interest); -} - -int -main (int argc, char ** argv) -{ - g_type_init(); - - IndicateServer * server = indicate_server_ref_default(); - indicate_server_set_type(server, "message.im"); - indicate_server_set_desktop_file(server, "/usr/share/applications/empathy.desktop"); - g_signal_connect(G_OBJECT(server), INDICATE_SERVER_SIGNAL_SERVER_DISPLAY, G_CALLBACK(server_display), NULL); - g_signal_connect(G_OBJECT(server), INDICATE_SERVER_SIGNAL_INTEREST_ADDED, G_CALLBACK(interest_added), NULL); - g_signal_connect(G_OBJECT(server), INDICATE_SERVER_SIGNAL_INTEREST_REMOVED, G_CALLBACK(interest_removed), NULL); - - IndicateIndicatorMessage * indicator; - - indicator = indicate_indicator_message_new(); - indicate_indicator_set_property(INDICATE_INDICATOR(indicator), "subtype", "im"); - indicate_indicator_set_property(INDICATE_INDICATOR(indicator), "sender", "IM Client Test"); - GTimeVal time; g_get_current_time(&time); - indicate_indicator_set_property_time(INDICATE_INDICATOR(indicator), "time", &time); - indicate_indicator_show(INDICATE_INDICATOR(indicator)); - - g_get_current_time(&time); - indicate_indicator_set_property_time(INDICATE_INDICATOR(indicator), "time", &time); - - g_signal_connect(G_OBJECT(indicator), INDICATE_INDICATOR_SIGNAL_DISPLAY, G_CALLBACK(display), NULL); - - g_timeout_add_seconds(180, timeout_cb, indicator); - - g_main_loop_run(g_main_loop_new(NULL, FALSE)); - - return 0; -} diff --git a/tests/indicate-alot.c b/tests/indicate-alot.c deleted file mode 100644 index 479040b..0000000 --- a/tests/indicate-alot.c +++ /dev/null @@ -1,45 +0,0 @@ -/* -A test for libindicate to ensure its quality. - -Copyright 2009 Canonical Ltd. - -Authors: - Ted Gould <ted@canonical.com> - -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 <http://www.gnu.org/licenses/>. -*/ - - -#include <glib.h> -#include "libindicate/indicator.h" - -#define ALOT 30 - - -int -main (int argc, char ** argv) -{ - g_type_init(); - - IndicateIndicator * indicators[ALOT]; - int i; - - for (i = 0; i < ALOT; i++) { - indicators[i] = indicate_indicator_new(); - indicate_indicator_show(indicators[i]); - } - - g_main_loop_run(g_main_loop_new(NULL, FALSE)); - - return 0; -} diff --git a/tests/indicate-and-crash.c b/tests/indicate-and-crash.c deleted file mode 100644 index c002a54..0000000 --- a/tests/indicate-and-crash.c +++ /dev/null @@ -1,41 +0,0 @@ -/* -A test for libindicate to ensure its quality. - -Copyright 2009 Canonical Ltd. - -Authors: - Ted Gould <ted@canonical.com> - -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 <http://www.gnu.org/licenses/>. -*/ - - -#include <glib.h> -#include "libindicate/indicator.h" - -gboolean crashfunc (gpointer data) { *(int *)data = 5; return FALSE;} - -int -main (int argc, char ** argv) -{ - g_type_init(); - - IndicateIndicator * indicator = indicate_indicator_new(); - indicate_indicator_show(indicator); - - g_timeout_add_seconds(15, crashfunc, NULL); - - g_main_loop_run(g_main_loop_new(NULL, FALSE)); - - return 0; -} diff --git a/tests/listen-and-print.c b/tests/listen-and-print.c deleted file mode 100644 index dcad92b..0000000 --- a/tests/listen-and-print.c +++ /dev/null @@ -1,143 +0,0 @@ -/* -A test for libindicate to ensure its quality. - -Copyright 2009 Canonical Ltd. - -Authors: - Ted Gould <ted@canonical.com> - -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 <http://www.gnu.org/licenses/>. -*/ - -#include <glib.h> -#include "libindicate/listener.h" - -static void -show_property_cb (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property, gchar * propertydata, gpointer data) -{ - g_debug("Indicator Property: %s %d %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), INDICATE_LISTENER_INDICATOR_ID(indicator), property, propertydata); - return; -} - -static void -show_property_time_cb (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property, GTimeVal * propertydata, gpointer data) -{ - time_t timet; - struct tm * structtm; - - timet = propertydata->tv_sec; - structtm = localtime(&timet); - - gchar timestring[80]; - strftime(timestring, 80, "%I:%M", structtm); - - g_debug("Indicator Property: %s %d %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), INDICATE_LISTENER_INDICATOR_ID(indicator), property, timestring); - return; -} - -static void -show_property_icon_cb (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property, GdkPixbuf * propertydata, gpointer data) -{ - g_debug("Indicator Property: %s %d %s %dx%d", INDICATE_LISTENER_SERVER_DBUS_NAME(server), INDICATE_LISTENER_INDICATOR_ID(indicator), property, gdk_pixbuf_get_width(propertydata), gdk_pixbuf_get_height(propertydata)); - g_object_unref(G_OBJECT(propertydata)); - return; -} - -static void -show_property (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * property) -{ - if (!strcmp(property, "icon")) { - indicate_listener_get_property_icon(listener, server, indicator, property, show_property_icon_cb, NULL); - } else if (!strcmp(property, "time")) { - indicate_listener_get_property_time(listener, server, indicator, property, show_property_time_cb, NULL); - } else { - indicate_listener_get_property(listener, server, indicator, property, show_property_cb, NULL); - } - - return; -} - -static void -get_properties (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator) -{ - //TODO: Not in API yet. -} - -static void -indicator_added (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type, gpointer data) -{ - g_debug("Indicator Added: %s %d %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), INDICATE_LISTENER_INDICATOR_ID(indicator), type); - get_properties(listener, server, indicator); -} - -static void -indicator_removed (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type, gpointer data) -{ - g_debug("Indicator Removed: %s %d %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), INDICATE_LISTENER_INDICATOR_ID(indicator), type); -} - -static void -indicator_modified (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type, gchar * property, gpointer data) -{ - g_debug("Indicator Modified: %s %d %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), INDICATE_LISTENER_INDICATOR_ID(indicator), type, property); - show_property(listener, server, indicator, property); -} - -static void -type_cb (IndicateListener * listener, IndicateListenerServer * server, gchar * value, gpointer data) -{ - g_debug("Indicator Server Type: %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), value); -} - -static void -desktop_cb (IndicateListener * listener, IndicateListenerServer * server, gchar * value, gpointer data) -{ - g_debug("Indicator Server Desktop: %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), value); -} - -static void -server_added (IndicateListener * listener, IndicateListenerServer * server, gchar * type, gpointer data) -{ - g_debug("Indicator Server Added: %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), type); - indicate_listener_server_get_type(listener, server, type_cb, NULL); - indicate_listener_server_get_desktop(listener, server, desktop_cb, NULL); - - indicate_listener_server_show_interest(listener, server, INDICATE_INTEREST_SERVER_DISPLAY); - indicate_listener_server_show_interest(listener, server, INDICATE_INTEREST_INDICATOR_DISPLAY); - - return; -} - -static void -server_removed (IndicateListener * listener, IndicateListenerServer * server, gchar * type, gpointer data) -{ - g_debug("Indicator Server Removed: %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), type); -} - -int -main (int argc, char ** argv) -{ - g_type_init(); - - IndicateListener * listener = indicate_listener_ref_default(); - - g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_INDICATOR_ADDED, G_CALLBACK(indicator_added), NULL); - g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_INDICATOR_REMOVED, G_CALLBACK(indicator_removed), NULL); - g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_INDICATOR_MODIFIED, G_CALLBACK(indicator_modified), NULL); - g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_SERVER_ADDED, G_CALLBACK(server_added), NULL); - g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_SERVER_REMOVED, G_CALLBACK(server_removed), NULL); - - g_main_loop_run(g_main_loop_new(NULL, FALSE)); - - return 0; -} diff --git a/tests/show-hide-server.c b/tests/show-hide-server.c deleted file mode 100644 index 23c1ea1..0000000 --- a/tests/show-hide-server.c +++ /dev/null @@ -1,44 +0,0 @@ -/* From LP: #351537 */ - -#include <glib.h> -#include "libindicate/server.h" -#include "libindicate/indicator-message.h" - -gboolean hidden = TRUE; - -static gboolean -timeout_cb (gpointer data) -{ - IndicateServer * server = INDICATE_SERVER(data); - - if (hidden) { - printf("showing... "); - indicate_server_show(server); - printf("ok\n"); - hidden = FALSE; - } else { - printf("hiding... "); - indicate_server_hide(server); - printf("ok\n"); - hidden = TRUE; - } - - return TRUE; -} - - -int -main (int argc, char ** argv) -{ - g_type_init(); - - IndicateServer * server = indicate_server_ref_default(); - indicate_server_set_type(server, "message.im"); - indicate_server_set_desktop_file(server, "/usr/share/applications/empathy.desktop"); - g_timeout_add_seconds(1, timeout_cb, server); - - g_main_loop_run(g_main_loop_new(NULL, FALSE)); - - return 0; -} - diff --git a/tests/test-interests-client.c b/tests/test-interests-client.c new file mode 100644 index 0000000..bde3b26 --- /dev/null +++ b/tests/test-interests-client.c @@ -0,0 +1,63 @@ + +#include <glib.h> +#include "libindicate/indicator.h" +#include "libindicate/server.h" +#include "libindicate/interests.h" + +static gboolean passed = TRUE; +static GMainLoop * mainloop = NULL; +static gboolean interests[INDICATE_INTEREST_LAST] = {0}; + +static gboolean +check_interests (void) +{ + guint i; + for (i = INDICATE_INTEREST_NONE + 1; i < INDICATE_INTEREST_LAST; i++) { + if (!interests[i]) { + return FALSE; + } + } + + return TRUE; +} + +static void +interest_added (IndicateServer * server, IndicateInterests interest) +{ + g_debug("Oh, someone is interested in my for: %d", interest); + interests[interest] = TRUE; + + if (check_interests()) { + g_main_loop_quit(mainloop); + } + + return; +} + +static gboolean +done_timeout_cb (gpointer data) +{ + g_debug("All interests not set"); + passed = FALSE; + g_main_loop_quit(mainloop); + return FALSE; +} + +int +main (int argc, char * argv) +{ + g_type_init(); + + IndicateIndicator * indicator = indicate_indicator_new(); + indicate_indicator_show(indicator); + + IndicateServer * server = indicate_server_ref_default(); + g_signal_connect(G_OBJECT(server), INDICATE_SERVER_SIGNAL_INTEREST_ADDED, G_CALLBACK(interest_added), NULL); + + g_timeout_add_seconds(2, done_timeout_cb, indicator); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + return !passed; +} diff --git a/tests/test-interests-server.c b/tests/test-interests-server.c new file mode 100644 index 0000000..e1433d8 --- /dev/null +++ b/tests/test-interests-server.c @@ -0,0 +1,45 @@ + +#include <glib.h> +#include "libindicate/listener.h" + +static gboolean passed = TRUE; +static GMainLoop * mainloop = NULL; + +static void +server_added (IndicateListener * listener, IndicateListenerServer * server, gchar * type, gpointer data) +{ + g_debug("Indicator Server Added: %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), type); + + gint i; + for (i = INDICATE_INTEREST_NONE - 2; i < INDICATE_INTEREST_LAST + 2; i++) { + g_debug("Indicating Interests: %d", i); + indicate_listener_server_show_interest(listener, server, i); + } + + return; +} + +static gboolean +failed_cb (gpointer data) +{ + g_debug("Done indicatating interest"); + g_main_loop_quit(mainloop); + return FALSE; +} + +int +main (int argc, char * argv) +{ + g_type_init(); + + IndicateListener * listener = indicate_listener_ref_default(); + + g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_SERVER_ADDED, G_CALLBACK(server_added), NULL); + + g_timeout_add_seconds(2, failed_cb, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + return !passed; +} diff --git a/tests/test-interests-server1.c b/tests/test-interests-server1.c new file mode 100644 index 0000000..e0d77f3 --- /dev/null +++ b/tests/test-interests-server1.c @@ -0,0 +1,41 @@ + +#include <glib.h> +#include "libindicate/listener.h" + +static gboolean passed = TRUE; +static GMainLoop * mainloop = NULL; + +static void +server_added (IndicateListener * listener, IndicateListenerServer * server, gchar * type, gpointer data) +{ + g_debug("Indicator Server Added: %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), type); + #define INTEREST 1 + g_debug("Setting Interest: %d", INTEREST); + indicate_listener_server_show_interest(listener, server, INTEREST); + return; +} + +static gboolean +failed_cb (gpointer data) +{ + g_debug("Done indicatating interest"); + g_main_loop_quit(mainloop); + return FALSE; +} + +int +main (int argc, char * argv) +{ + g_type_init(); + + IndicateListener * listener = indicate_listener_ref_default(); + + g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_SERVER_ADDED, G_CALLBACK(server_added), NULL); + + g_timeout_add_seconds(2, failed_cb, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + return !passed; +} diff --git a/tests/test-interests-server2.c b/tests/test-interests-server2.c new file mode 100644 index 0000000..0416c21 --- /dev/null +++ b/tests/test-interests-server2.c @@ -0,0 +1,41 @@ + +#include <glib.h> +#include "libindicate/listener.h" + +static gboolean passed = TRUE; +static GMainLoop * mainloop = NULL; + +static void +server_added (IndicateListener * listener, IndicateListenerServer * server, gchar * type, gpointer data) +{ + g_debug("Indicator Server Added: %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), type); + #define INTEREST 2 + g_debug("Setting Interest: %d", INTEREST); + indicate_listener_server_show_interest(listener, server, INTEREST); + return; +} + +static gboolean +failed_cb (gpointer data) +{ + g_debug("Done indicatating interest"); + g_main_loop_quit(mainloop); + return FALSE; +} + +int +main (int argc, char * argv) +{ + g_type_init(); + + IndicateListener * listener = indicate_listener_ref_default(); + + g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_SERVER_ADDED, G_CALLBACK(server_added), NULL); + + g_timeout_add_seconds(2, failed_cb, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + return !passed; +} diff --git a/tests/test-interests-server3.c b/tests/test-interests-server3.c new file mode 100644 index 0000000..7d889b1 --- /dev/null +++ b/tests/test-interests-server3.c @@ -0,0 +1,41 @@ + +#include <glib.h> +#include "libindicate/listener.h" + +static gboolean passed = TRUE; +static GMainLoop * mainloop = NULL; + +static void +server_added (IndicateListener * listener, IndicateListenerServer * server, gchar * type, gpointer data) +{ + g_debug("Indicator Server Added: %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), type); + #define INTEREST 3 + g_debug("Setting Interest: %d", INTEREST); + indicate_listener_server_show_interest(listener, server, INTEREST); + return; +} + +static gboolean +failed_cb (gpointer data) +{ + g_debug("Done indicatating interest"); + g_main_loop_quit(mainloop); + return FALSE; +} + +int +main (int argc, char * argv) +{ + g_type_init(); + + IndicateListener * listener = indicate_listener_ref_default(); + + g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_SERVER_ADDED, G_CALLBACK(server_added), NULL); + + g_timeout_add_seconds(2, failed_cb, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + return !passed; +} diff --git a/tests/test-interests-server4.c b/tests/test-interests-server4.c new file mode 100644 index 0000000..50e6db1 --- /dev/null +++ b/tests/test-interests-server4.c @@ -0,0 +1,41 @@ + +#include <glib.h> +#include "libindicate/listener.h" + +static gboolean passed = TRUE; +static GMainLoop * mainloop = NULL; + +static void +server_added (IndicateListener * listener, IndicateListenerServer * server, gchar * type, gpointer data) +{ + g_debug("Indicator Server Added: %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), type); + #define INTEREST 4 + g_debug("Setting Interest: %d", INTEREST); + indicate_listener_server_show_interest(listener, server, INTEREST); + return; +} + +static gboolean +failed_cb (gpointer data) +{ + g_debug("Done indicatating interest"); + g_main_loop_quit(mainloop); + return FALSE; +} + +int +main (int argc, char * argv) +{ + g_type_init(); + + IndicateListener * listener = indicate_listener_ref_default(); + + g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_SERVER_ADDED, G_CALLBACK(server_added), NULL); + + g_timeout_add_seconds(2, failed_cb, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + return !passed; +} diff --git a/tests/test-interests-server5.c b/tests/test-interests-server5.c new file mode 100644 index 0000000..d415716 --- /dev/null +++ b/tests/test-interests-server5.c @@ -0,0 +1,41 @@ + +#include <glib.h> +#include "libindicate/listener.h" + +static gboolean passed = TRUE; +static GMainLoop * mainloop = NULL; + +static void +server_added (IndicateListener * listener, IndicateListenerServer * server, gchar * type, gpointer data) +{ + g_debug("Indicator Server Added: %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), type); + #define INTEREST 5 + g_debug("Setting Interest: %d", INTEREST); + indicate_listener_server_show_interest(listener, server, INTEREST); + return; +} + +static gboolean +failed_cb (gpointer data) +{ + g_debug("Done indicatating interest"); + g_main_loop_quit(mainloop); + return FALSE; +} + +int +main (int argc, char * argv) +{ + g_type_init(); + + IndicateListener * listener = indicate_listener_ref_default(); + + g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_SERVER_ADDED, G_CALLBACK(server_added), NULL); + + g_timeout_add_seconds(2, failed_cb, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + return !passed; +} diff --git a/tests/test-simple-client.c b/tests/test-simple-client.c new file mode 100644 index 0000000..f8db55a --- /dev/null +++ b/tests/test-simple-client.c @@ -0,0 +1,30 @@ + +#include <glib.h> +#include "libindicate/indicator.h" + +static gboolean passed = TRUE; +static GMainLoop * mainloop = NULL; + +static gboolean +done_timeout_cb (gpointer data) +{ + g_debug("All done."); + g_main_loop_quit(mainloop); + return FALSE; +} + +int +main (int argc, char * argv) +{ + g_type_init(); + + IndicateIndicator * indicator = indicate_indicator_new(); + indicate_indicator_show(indicator); + + g_timeout_add_seconds(2, done_timeout_cb, indicator); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + return !passed; +} diff --git a/tests/test-simple-server.c b/tests/test-simple-server.c new file mode 100644 index 0000000..0a04e85 --- /dev/null +++ b/tests/test-simple-server.c @@ -0,0 +1,39 @@ + +#include <glib.h> +#include "libindicate/listener.h" + +static gboolean passed = TRUE; +static GMainLoop * mainloop = NULL; + +static void +server_added (IndicateListener * listener, IndicateListenerServer * server, gchar * type, gpointer data) +{ + g_debug("Indicator Server Added: %s %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), type); + g_main_loop_quit(mainloop); +} + +static gboolean +failed_cb (gpointer data) +{ + g_debug("Failed to get a server in 5 seconds."); + passed = FALSE; + g_main_loop_quit(mainloop); + return FALSE; +} + +int +main (int argc, char * argv) +{ + g_type_init(); + + IndicateListener * listener = indicate_listener_ref_default(); + + g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_SERVER_ADDED, G_CALLBACK(server_added), NULL); + + g_timeout_add_seconds(5, failed_cb, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + return !passed; +} diff --git a/tests/test-thousand-indicators-client.c b/tests/test-thousand-indicators-client.c new file mode 100644 index 0000000..0ac7305 --- /dev/null +++ b/tests/test-thousand-indicators-client.c @@ -0,0 +1,34 @@ + +#include <glib.h> +#include "libindicate/indicator.h" + +static gboolean passed = TRUE; +static GMainLoop * mainloop = NULL; + +static gboolean +done_timeout_cb (gpointer data) +{ + g_debug("All done."); + g_main_loop_quit(mainloop); + return FALSE; +} + +int +main (int argc, char * argv) +{ + g_type_init(); + + int i; + for (i = 0; i < 1000; i++) { + /* Memory leak :) */ + IndicateIndicator * indicator = indicate_indicator_new(); + indicate_indicator_show(indicator); + } + + g_timeout_add_seconds(2, done_timeout_cb, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + return !passed; +} diff --git a/tests/test-thousand-indicators-server.c b/tests/test-thousand-indicators-server.c new file mode 100644 index 0000000..285e56b --- /dev/null +++ b/tests/test-thousand-indicators-server.c @@ -0,0 +1,43 @@ + +#include <glib.h> +#include "libindicate/listener.h" + +static gboolean passed = TRUE; +static GMainLoop * mainloop = NULL; +static guint indicator_count = 0; + +static void +indicator_added (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type, gpointer data) +{ + g_debug("Indicator Added: %s %d %s", INDICATE_LISTENER_SERVER_DBUS_NAME(server), INDICATE_LISTENER_INDICATOR_ID(indicator), type); + indicator_count++; + if (indicator_count == 1000) { + g_main_loop_quit(mainloop); + } +} + +static gboolean +failed_cb (gpointer data) +{ + g_debug("Failed to get a server in 5 seconds."); + passed = FALSE; + g_main_loop_quit(mainloop); + return FALSE; +} + +int +main (int argc, char * argv) +{ + g_type_init(); + + IndicateListener * listener = indicate_listener_ref_default(); + + g_signal_connect(listener, INDICATE_LISTENER_SIGNAL_INDICATOR_ADDED, G_CALLBACK(indicator_added), NULL); + + g_timeout_add_seconds(5, failed_cb, NULL); + + mainloop = g_main_loop_new(NULL, FALSE); + g_main_loop_run(mainloop); + + return !passed; +} diff --git a/tests/test.js b/tests/test.js deleted file mode 100755 index 45b0d05..0000000 --- a/tests/test.js +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/local/bin/seed -Seed.import_namespace("Indicate"); - -var indicator = new Indicate.Indicator(); - -indicator.show(); diff --git a/tests/test_interests b/tests/test_interests new file mode 100755 index 0000000..750a789 --- /dev/null +++ b/tests/test_interests @@ -0,0 +1,5 @@ +#!/bin/sh + +DBUS_RUNNER="dbus-test-runner --dbus-config /usr/share/dbus-test-runner/session.conf" + +${DBUS_RUNNER} --task ./test-interests-client --task-name Client --task ./test-interests-server --task-name Server diff --git a/tests/test_interests_multi b/tests/test_interests_multi new file mode 100755 index 0000000..4dbdee8 --- /dev/null +++ b/tests/test_interests_multi @@ -0,0 +1,5 @@ +#!/bin/sh + +DBUS_RUNNER="dbus-test-runner --dbus-config /usr/share/dbus-test-runner/session.conf" + +${DBUS_RUNNER} --task ./test-interests-client --task-name Client --task ./test-interests-server1 --task-name Server1 --task ./test-interests-server2 --task-name Server2 --task ./test-interests-server3 --task-name Server3 --task ./test-interests-server4 --task-name Server4 --task ./test-interests-server5 --task-name Server5 diff --git a/tests/test_simple b/tests/test_simple new file mode 100755 index 0000000..1b0dc4c --- /dev/null +++ b/tests/test_simple @@ -0,0 +1,5 @@ +#!/bin/sh + +DBUS_RUNNER="dbus-test-runner --dbus-config /usr/share/dbus-test-runner/session.conf" + +${DBUS_RUNNER} --task ./test-simple-client --task-name Client --task ./test-simple-server --task-name Server diff --git a/tests/test_thousand_indicators b/tests/test_thousand_indicators new file mode 100755 index 0000000..fb1079d --- /dev/null +++ b/tests/test_thousand_indicators @@ -0,0 +1,5 @@ +#!/bin/sh + +DBUS_RUNNER="dbus-test-runner --dbus-config /usr/share/dbus-test-runner/session.conf" + +${DBUS_RUNNER} --task ./test-thousand-indicators-client --task-name Client --task ./test-thousand-indicators-server --task-name Server |