aboutsummaryrefslogtreecommitdiff
path: root/tests/test-libcustomindicator.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-libcustomindicator.c')
-rw-r--r--tests/test-libcustomindicator.c163
1 files changed, 163 insertions, 0 deletions
diff --git a/tests/test-libcustomindicator.c b/tests/test-libcustomindicator.c
new file mode 100644
index 0000000..c4342e8
--- /dev/null
+++ b/tests/test-libcustomindicator.c
@@ -0,0 +1,163 @@
+
+#include <glib.h>
+#include <glib-object.h>
+
+#include <libcustomindicator/custom-indicator.h>
+
+void
+test_libcustomindicator_prop_signals_status_helper (CustomIndicator * ci, gchar * status, gboolean * signalactivated)
+{
+ *signalactivated = TRUE;
+ return;
+}
+
+void
+test_libcustomindicator_prop_signals_helper (CustomIndicator * ci, gboolean * signalactivated)
+{
+ *signalactivated = TRUE;
+ return;
+}
+
+void
+test_libcustomindicator_prop_signals (void)
+{
+ CustomIndicator * ci = CUSTOM_INDICATOR(g_object_new(CUSTOM_INDICATOR_TYPE, NULL));
+ g_assert(ci != NULL);
+
+ gboolean signaled = FALSE;
+ gulong handlerid;
+
+ handlerid = 0;
+ handlerid = g_signal_connect(G_OBJECT(ci), "new-icon", G_CALLBACK(test_libcustomindicator_prop_signals_helper), &signaled);
+ g_assert(handlerid != 0);
+
+ handlerid = 0;
+ handlerid = g_signal_connect(G_OBJECT(ci), "new-attention-icon", G_CALLBACK(test_libcustomindicator_prop_signals_helper), &signaled);
+ g_assert(handlerid != 0);
+
+ handlerid = 0;
+ handlerid = g_signal_connect(G_OBJECT(ci), "new-status", G_CALLBACK(test_libcustomindicator_prop_signals_status_helper), &signaled);
+ g_assert(handlerid != 0);
+
+
+ signaled = FALSE;
+ custom_indicator_set_icon(ci, "bob");
+ g_assert(signaled);
+
+ signaled = FALSE;
+ custom_indicator_set_icon(ci, "bob");
+ g_assert(!signaled);
+
+ signaled = FALSE;
+ custom_indicator_set_icon(ci, "al");
+ g_assert(signaled);
+
+
+ signaled = FALSE;
+ custom_indicator_set_attention_icon(ci, "bob");
+ g_assert(signaled);
+
+ signaled = FALSE;
+ custom_indicator_set_attention_icon(ci, "bob");
+ g_assert(!signaled);
+
+ signaled = FALSE;
+ custom_indicator_set_attention_icon(ci, "al");
+ g_assert(signaled);
+
+
+ signaled = FALSE;
+ custom_indicator_set_status(ci, CUSTOM_INDICATOR_STATUS_PASSIVE);
+ g_assert(!signaled);
+
+ signaled = FALSE;
+ custom_indicator_set_status(ci, CUSTOM_INDICATOR_STATUS_ACTIVE);
+ g_assert(signaled);
+
+ signaled = FALSE;
+ custom_indicator_set_status(ci, CUSTOM_INDICATOR_STATUS_ACTIVE);
+ g_assert(!signaled);
+
+ signaled = FALSE;
+ custom_indicator_set_status(ci, CUSTOM_INDICATOR_STATUS_ATTENTION);
+ g_assert(signaled);
+
+ return;
+}
+
+void
+test_libcustomindicator_init_set_props (void)
+{
+ CustomIndicator * ci = CUSTOM_INDICATOR(g_object_new(CUSTOM_INDICATOR_TYPE, NULL));
+ g_assert(ci != NULL);
+
+ custom_indicator_set_id(ci, "my-id");
+ custom_indicator_set_category(ci, CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS);
+ custom_indicator_set_status(ci, CUSTOM_INDICATOR_STATUS_ACTIVE);
+ custom_indicator_set_icon(ci, "my-name");
+ custom_indicator_set_attention_icon(ci, "my-attention-name");
+
+ g_assert(!g_strcmp0("my-id", custom_indicator_get_id(ci)));
+ g_assert(!g_strcmp0("my-name", custom_indicator_get_icon(ci)));
+ g_assert(!g_strcmp0("my-attention-name", custom_indicator_get_attention_icon(ci)));
+ g_assert(custom_indicator_get_status(ci) == CUSTOM_INDICATOR_STATUS_ACTIVE);
+ g_assert(custom_indicator_get_category(ci) == CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS);
+
+ g_object_unref(G_OBJECT(ci));
+ return;
+}
+
+void
+test_libcustomindicator_init_with_props (void)
+{
+ CustomIndicator * ci = CUSTOM_INDICATOR(g_object_new(CUSTOM_INDICATOR_TYPE,
+ "id", "my-id",
+ "category-enum", CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS,
+ "status-enum", CUSTOM_INDICATOR_STATUS_ACTIVE,
+ "icon-name", "my-name",
+ "attention-icon-name", "my-attention-name",
+ NULL));
+ g_assert(ci != NULL);
+
+ g_assert(!g_strcmp0("my-id", custom_indicator_get_id(ci)));
+ g_assert(!g_strcmp0("my-name", custom_indicator_get_icon(ci)));
+ g_assert(!g_strcmp0("my-attention-name", custom_indicator_get_attention_icon(ci)));
+ g_assert(custom_indicator_get_status(ci) == CUSTOM_INDICATOR_STATUS_ACTIVE);
+ g_assert(custom_indicator_get_category(ci) == CUSTOM_INDICATOR_CATEGORY_APPLICATION_STATUS);
+
+ g_object_unref(G_OBJECT(ci));
+ return;
+}
+
+void
+test_libcustomindicator_init (void)
+{
+ CustomIndicator * ci = CUSTOM_INDICATOR(g_object_new(CUSTOM_INDICATOR_TYPE, NULL));
+ g_assert(ci != NULL);
+ g_object_unref(G_OBJECT(ci));
+ return;
+}
+
+void
+test_libcustomindicator_props_suite (void)
+{
+ g_test_add_func ("/indicator-custom/libcustomindicator/init", test_libcustomindicator_init);
+ g_test_add_func ("/indicator-custom/libcustomindicator/init_props", test_libcustomindicator_init_with_props);
+ g_test_add_func ("/indicator-custom/libcustomindicator/init_set_props", test_libcustomindicator_init_set_props);
+ g_test_add_func ("/indicator-custom/libcustomindicator/prop_signals", test_libcustomindicator_prop_signals);
+
+ return;
+}
+
+gint
+main (gint argc, gchar * argv[])
+{
+ g_type_init();
+ g_test_init(&argc, &argv, NULL);
+
+ /* Test suites */
+ test_libcustomindicator_props_suite();
+
+
+ return g_test_run ();
+}