aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2012-04-26 22:15:10 -0500
committerCharles Kerr <charles.kerr@canonical.com>2012-04-26 22:15:10 -0500
commit2a3f56b5168e9745547d2289c0710ae606920cde (patch)
treed61e3982c09c776a7519be6a028feb4e1cf80af2 /tests
parentceb09d1a5aa9f8659765a11f37c2778058d218ab (diff)
parent4636768621434e40918be355637ab6e1920ef2ba (diff)
downloadayatana-ido-2a3f56b5168e9745547d2289c0710ae606920cde.tar.gz
ayatana-ido-2a3f56b5168e9745547d2289c0710ae606920cde.tar.bz2
ayatana-ido-2a3f56b5168e9745547d2289c0710ae606920cde.zip
merge lp:~ted/ido/gtest to add the gtest framework and a few tests to make sure our menu items can be created and realized.
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am52
-rw-r--r--tests/gtest-menuitems.cpp102
2 files changed, 154 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 0000000..04e6cde
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,52 @@
+if USE_GTK3
+VER=3
+IDOLIB = $(top_builddir)/src/libido3-0.1.la
+else
+VER=
+IDOLIB = $(top_builddir)/src/libido-0.1.la
+endif
+
+check_LIBRARIES = libgtest.a
+check_PROGRAMS =
+TESTS =
+
+AM_CPPFLAGS = \
+ $(GTEST_CPPFLAGS) \
+ -I${top_srcdir}/src
+
+#############################
+# Google Test base library
+#############################
+
+nodist_libgtest_a_SOURCES = \
+ $(XORG_GTEST_SOURCE)/src/xorg-gtest-all.cpp \
+ $(GTEST_SOURCE)/src/gtest-all.cc \
+ $(XORG_GTEST_SOURCE)/src/xorg-gtest_main.cpp
+libgtest_a_CPPFLAGS = \
+ $(XORG_GTEST_CPPFLAGS) \
+ $(AM_CPPFLAGS) \
+ $(GTEST_CPPFLAGS) -w
+libgtest_a_CXXFLAGS = \
+ $(AM_CXXFLAGS)
+
+#############################
+# Menuitem tests
+#############################
+
+TESTS += gtest-menuitems
+check_PROGRAMS += gtest-menuitems
+
+gtest_menuitems_SOURCES = \
+ gtest-menuitems.cpp
+gtest_menuitems_CPPFLAGS = \
+ $(GCC_CFLAGS) \
+ $(GTK_CFLAGS) \
+ $(MAINTAINER_CFLAGS) \
+ $(AM_CPPFLAGS)
+gtest_menuitems_LDFLAGS = \
+ -pthread
+gtest_menuitems_LDADD = \
+ $(GTK_LIBS) \
+ $(IDOLIB) \
+ libgtest.a
+
diff --git a/tests/gtest-menuitems.cpp b/tests/gtest-menuitems.cpp
new file mode 100644
index 0000000..269d360
--- /dev/null
+++ b/tests/gtest-menuitems.cpp
@@ -0,0 +1,102 @@
+
+#include <gtk/gtk.h>
+#include <gtest/gtest.h>
+#include "idocalendarmenuitem.h"
+#include "idoentrymenuitem.h"
+#include "idoscalemenuitem.h"
+
+class TestMenuitems : public ::testing::Test
+{
+public:
+ TestMenuitems()
+ {
+ gint argc = 0;
+ gchar * argv[] = {NULL};
+ gtk_init(&argc, (gchar ***)&argv);
+ return;
+ }
+};
+
+TEST_F(TestMenuitems, BuildCalendar) {
+ GtkWidget * cal = ido_calendar_menu_item_new();
+
+ EXPECT_TRUE(cal != NULL);
+ EXPECT_TRUE(IDO_IS_CALENDAR_MENU_ITEM(cal));
+ EXPECT_TRUE(GTK_IS_MENU_ITEM(cal));
+
+ GtkWidget * menu = gtk_menu_new();
+ gtk_widget_show(menu);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu), cal);
+
+ gtk_widget_show(cal);
+ gtk_widget_realize(cal);
+
+ EXPECT_TRUE(gtk_widget_get_realized(cal));
+
+ g_object_ref_sink(menu);
+ g_object_unref(menu);
+ return;
+}
+
+TEST_F(TestMenuitems, BuildEntry) {
+ GtkWidget * entry = ido_entry_menu_item_new();
+
+ EXPECT_TRUE(entry != NULL);
+ EXPECT_TRUE(IDO_IS_ENTRY_MENU_ITEM(entry));
+ EXPECT_TRUE(GTK_IS_MENU_ITEM(entry));
+
+ GtkWidget * menu = gtk_menu_new();
+ gtk_widget_show(menu);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu), entry);
+
+ gtk_widget_show(entry);
+ gtk_widget_realize(entry);
+
+ EXPECT_TRUE(gtk_widget_get_realized(entry));
+
+ g_object_ref_sink(menu);
+ g_object_unref(menu);
+ return;
+}
+
+TEST_F(TestMenuitems, BuildScaleDefault) {
+ GtkWidget * scale = ido_scale_menu_item_new("Label", IDO_RANGE_STYLE_DEFAULT, gtk_adjustment_new(0.5, 0.0, 1.0, 0.01, 0.1, 0.1));
+
+ EXPECT_TRUE(scale != NULL);
+ EXPECT_TRUE(IDO_IS_SCALE_MENU_ITEM(scale));
+ EXPECT_TRUE(GTK_IS_MENU_ITEM(scale));
+
+ GtkWidget * menu = gtk_menu_new();
+ gtk_widget_show(menu);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu), scale);
+
+ gtk_widget_show(scale);
+ gtk_widget_realize(scale);
+
+ EXPECT_TRUE(gtk_widget_get_realized(scale));
+
+ g_object_ref_sink(menu);
+ g_object_unref(menu);
+ return;
+}
+
+TEST_F(TestMenuitems, BuildScaleSmall) {
+ GtkWidget * scale = ido_scale_menu_item_new("Label", IDO_RANGE_STYLE_SMALL, gtk_adjustment_new(0.5, 0.0, 1.0, 0.01, 0.1, 0.1));
+
+ EXPECT_TRUE(scale != NULL);
+ EXPECT_TRUE(IDO_IS_SCALE_MENU_ITEM(scale));
+ EXPECT_TRUE(GTK_IS_MENU_ITEM(scale));
+
+ GtkWidget * menu = gtk_menu_new();
+ gtk_widget_show(menu);
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu), scale);
+
+ gtk_widget_show(scale);
+ gtk_widget_realize(scale);
+
+ EXPECT_TRUE(gtk_widget_get_realized(scale));
+
+ g_object_ref_sink(menu);
+ g_object_unref(menu);
+ return;
+}