[libnotify] Add test for action-icons



commit 8ae0b6e9086ba147ee252b477438136f2aca9cce
Author: William Jon McCann <jmccann redhat com>
Date:   Fri Oct 29 18:32:46 2010 -0400

    Add test for action-icons

 tests/Makefile.am         |    4 ++
 tests/test-action-icons.c |  114 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 118 insertions(+), 0 deletions(-)
---
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 706730d..eb37030 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -8,6 +8,7 @@ noinst_PROGRAMS = \
 	test-server-info \
 	test-default-action \
 	test-multi-actions \
+	test-action-icons \
 	test-image \
 	test-basic \
 	test-error \
@@ -44,6 +45,9 @@ test_default_action_LDADD  = $(common_ldflags)
 test_multi_actions_SOURCES = test-multi-actions.c
 test_multi_actions_LDADD  = $(common_ldflags)
 
+test_action_icons_SOURCES = test-action-icons.c
+test_action_icons_LDADD  = $(common_ldflags)
+
 test_image_SOURCES = test-image.c
 test_image_LDADD  = $(common_ldflags)
 
diff --git a/tests/test-action-icons.c b/tests/test-action-icons.c
new file mode 100644
index 0000000..b579848
--- /dev/null
+++ b/tests/test-action-icons.c
@@ -0,0 +1,114 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or(at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA  02111-1307, USA.
+ */
+
+#include <libnotify/notify.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+static GMainLoop *loop;
+
+static void
+previous_callback (NotifyNotification *n,
+                   const char         *action)
+{
+        g_assert (action != NULL);
+        g_assert (strcmp (action, "media-skip-backward") == 0);
+
+        printf ("You clicked Previous\n");
+
+        notify_notification_close (n, NULL);
+
+        g_main_loop_quit (loop);
+}
+
+static void
+pause_callback (NotifyNotification *n,
+                const char         *action)
+{
+        g_assert (action != NULL);
+        g_assert (strcmp (action, "media-playback-pause") == 0);
+
+        printf ("You clicked Pause\n");
+
+        notify_notification_close (n, NULL);
+
+        g_main_loop_quit (loop);
+}
+
+static void
+next_callback (NotifyNotification *n,
+               const char         *action)
+{
+        g_assert (action != NULL);
+        g_assert (strcmp (action, "media-skip-forward") == 0);
+
+        printf ("You clicked Next\n");
+
+        notify_notification_close (n, NULL);
+
+        g_main_loop_quit (loop);
+}
+
+
+int
+main (int argc, char **argv)
+{
+        NotifyNotification *n;
+
+        if (!notify_init ("Action Icon Test"))
+                exit (1);
+
+        loop = g_main_loop_new (NULL, FALSE);
+
+        n = notify_notification_new ("Music Player",
+                                     "Some solid funk",
+                                     NULL);
+
+        notify_notification_set_hint (n, "action-icons", g_variant_new_boolean (TRUE));
+
+        notify_notification_add_action (n,
+                                        "media-skip-backward",
+                                        "Previous",
+                                        (NotifyActionCallback) previous_callback,
+                                        NULL,
+                                        NULL);
+        notify_notification_add_action (n,
+                                        "media-playback-pause",
+                                        "Pause",
+                                        (NotifyActionCallback) pause_callback,
+                                        NULL,
+                                        NULL);
+        notify_notification_add_action (n,
+                                        "media-skip-forward",
+                                        "Next",
+                                        (NotifyActionCallback) next_callback,
+                                        NULL,
+                                        NULL);
+
+        if (!notify_notification_show (n, NULL)) {
+                fprintf (stderr, "failed to send notification\n");
+                return 1;
+        }
+
+        g_main_loop_run (loop);
+
+        return 0;
+}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]