aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2010-06-14 13:10:18 -0500
committerTed Gould <ted@gould.cx>2010-06-14 13:10:18 -0500
commitb29f86be192fda821b7245b6159fa1aefc623a40 (patch)
treefe244d6178c8e291aad923e2b03ba0b3cb36ea2d
parentb0099f8f5ce53544a225033274ffd692e9edf4e6 (diff)
downloadlibdbusmenu-b29f86be192fda821b7245b6159fa1aefc623a40.tar.gz
libdbusmenu-b29f86be192fda821b7245b6159fa1aefc623a40.tar.bz2
libdbusmenu-b29f86be192fda821b7245b6159fa1aefc623a40.zip
Adding in a new gtester test suite.
-rw-r--r--.bzrignore3
-rw-r--r--tests/Makefile.am32
-rw-r--r--tests/test-gtk-objects.c67
3 files changed, 101 insertions, 1 deletions
diff --git a/.bzrignore b/.bzrignore
index 37f2bb8..02b481f 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -71,3 +71,6 @@ libdbusmenu-gtk/DbusmenuGtk-0.2.gir
libdbusmenu-gtk/DbusmenuGtk-0.2.tmp.gir
libdbusmenu-gtk/DbusmenuGtk-0.2.typelib
libdbusmenu-gtk/DbusmenuGtk-0.2.vapi
+tests/test-gtk-objects
+tests/test-gtk-objects-test
+tests/test-gtk-objects.xml
diff --git a/tests/Makefile.am b/tests/Makefile.am
index cfa1399..6482d09 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -7,6 +7,7 @@ TESTS = \
test-glib-properties \
test-glib-proxy \
test-glib-simple-items \
+ test-gtk-objects-test \
test-gtk-label \
test-gtk-reorder
@@ -20,6 +21,7 @@ check_PROGRAMS = \
test-glib-proxy-client \
test-glib-proxy-server \
test-glib-proxy-proxy \
+ test-gtk-objects \
test-gtk-label-client \
test-gtk-label-server \
test-glib-simple-items \
@@ -196,6 +198,33 @@ test_glib_simple_items_LDADD = \
../libdbusmenu-glib/libdbusmenu-glib.la \
$(DBUSMENUGLIB_LIBS)
+######################
+# Test GTK Object
+######################
+
+GTK_OBJECT_XML_REPORT = test-gtk-objects.xml
+
+test-gtk-objects-test: test-gtk-objects Makefile.am
+ @echo "#!/bin/bash" > $@
+ @echo $(XVFB_RUN) >> $@
+ @echo $(DBUS_RUNNER) --task gtester --parameter --verbose --parameter -k --parameter -o --parameter $(GTK_OBJECT_XML_REPORT) --parameter ./test-gtk-objects >> $@
+ @chmod +x $@
+
+test_gtk_objects_SOURCES = \
+ test-gtk-objects.c
+
+test_gtk_objects_CFLAGS = \
+ -I $(srcdir)/.. \
+ $(DBUSMENUGLIB_CFLAGS) \
+ $(DBUSMENUGTK_CFLAGS) \
+ -Wall -Werror
+
+test_gtk_objects_LDADD = \
+ ../libdbusmenu-glib/libdbusmenu-glib.la \
+ ../libdbusmenu-gtk/libdbusmenu-gtk.la \
+ $(DBUSMENUGLIB_LIBS) \
+ $(DBUSMENUGTK_LIBS)
+
#########################
# Test GTK Label
#########################
@@ -322,5 +351,6 @@ distclean-local:
DISTCLEANFILES = \
$(TESTS) \
- $(OBJECT_XML_REPORT)
+ $(OBJECT_XML_REPORT) \
+ $(GTK_OBJECT_XML_REPORT)
diff --git a/tests/test-gtk-objects.c b/tests/test-gtk-objects.c
new file mode 100644
index 0000000..561f91e
--- /dev/null
+++ b/tests/test-gtk-objects.c
@@ -0,0 +1,67 @@
+/*
+Testing for the various objects just by themselves.
+
+Copyright 2010 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 <libdbusmenu-glib/menuitem.h>
+#include <libdbusmenu-gtk/menuitem.h>
+
+/* Building the basic menu item, make sure we didn't break
+ any core GObject stuff */
+static void
+test_object_menuitem (void)
+{
+ /* Build a menu item */
+ DbusmenuMenuitem * item = dbusmenu_menuitem_new();
+
+ /* Test to make sure it's a happy object */
+ g_assert(item != NULL);
+ g_assert(G_IS_OBJECT(item));
+ g_assert(DBUSMENU_IS_MENUITEM(item));
+
+ /* Set up a check to make sure it gets destroyed on unref */
+ g_object_add_weak_pointer(G_OBJECT(item), (gpointer *)&item);
+ g_object_unref(item);
+
+ /* Did it go away? */
+ g_assert(item == NULL);
+
+ return;
+}
+
+/* Build the test suite */
+static void
+test_gtk_objects_suite (void)
+{
+ g_test_add_func ("/dbusmenu/gtk/objects/menuitem/base", test_object_menuitem);
+ return;
+}
+
+gint
+main (gint argc, gchar * argv[])
+{
+ gtk_init(&argc, &argv);
+
+ g_test_init(&argc, &argv, NULL);
+
+ /* Test suites */
+ test_gtk_objects_suite();
+
+ return g_test_run ();
+}