aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am29
-rw-r--r--tests/Makefile.am.strings38
-rw-r--r--tests/test-service.cc56
3 files changed, 123 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 0000000..5f22130
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,29 @@
+TESTS =
+CLEANFILES =
+
+# stock UMB tests on user-visible strings
+include $(srcdir)/Makefile.am.strings
+
+AM_CPPFLAGS = \
+ $(GTEST_CPPFLAGS) \
+ $(XORG_GTEST_CPPFLAGS) \
+ $(INDICATOR_CFLAGS) \
+ -I${top_srcdir}/src \
+ -Wall -Werror
+AM_CXXFLAGS = $(GTEST_CXXFLAGS)
+
+TESTS = test-service
+check_PROGRAMS = test-service
+test_service_SOURCES = test-service.cc
+test_service_LDADD = $(TEST_SERVICE_LIBS) libgtest.a $(XORG_GTEST_MAIN_LIBS) $(X11_LIBS)
+test_service_CPPFLAGS = \
+ $(TEST_SERVICE_CFLAGS) \
+ $(AM_CPPFLAGS) \
+ -DINDICATOR_SERVICE_PATH="\"$(top_builddir)/src/indicator-session-service\""
+
+check_LIBRARIES = libgtest.a
+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
+
diff --git a/tests/Makefile.am.strings b/tests/Makefile.am.strings
new file mode 100644
index 0000000..26a23a8
--- /dev/null
+++ b/tests/Makefile.am.strings
@@ -0,0 +1,38 @@
+TESTS += \
+ test-ellipsis \
+ test-space-ellipsis \
+ test-ascii-quotes
+
+#####
+# Tests for there being proper ellipsis instead of three periods in a row
+#####
+test-ellipsis: $(top_srcdir)/po
+ @echo "#!/bin/bash" > $@
+ @echo "(cd $(top_srcdir)/po && make $(GETTEXT_PACKAGE).pot)" >> $@
+ @echo "grep -c -e \"^msgid.*\.\.\.\\\"\" $(top_srcdir)/po/$(GETTEXT_PACKAGE).pot > /dev/null && echo \"Ellipsis found in user visible strings\" >&2 && exit 1" >> $@
+ @echo "exit 0" >> $@
+ @chmod +x $@
+
+#####
+# Tests for there being a space before an ellipsis
+#####
+test-space-ellipsis: $(top_srcdir)/po
+ @echo "#!/bin/bash" > $@
+ @echo "(cd $(top_srcdir)/po && make $(GETTEXT_PACKAGE).pot)" >> $@
+ @echo "grep -c -e \"^msgid.* …\\\"\" $(top_srcdir)/po/$(GETTEXT_PACKAGE).pot > /dev/null && echo \"Space before ellipsis found in user visible strings\" >&2 && exit 1" >> $@
+ @echo "exit 0" >> $@
+ @chmod +x $@
+
+#####
+# Tests for ASCII quote types
+#####
+test-ascii-quotes: $(top_srcdir)/po
+ @echo "#!/bin/bash" > $@
+ @echo "(cd $(top_srcdir)/po && make $(GETTEXT_PACKAGE).pot)" >> $@
+ @echo "grep -c -e \"^msgid \\\".*'.*\\\"\" $(top_srcdir)/po/$(GETTEXT_PACKAGE).pot > /dev/null && echo \"ASCII apostrophy found in user visible strings\" >&2 && exit 1" >> $@
+ @echo "grep -c -e \"^msgid \\\".*\\\".*\\\"\" $(top_srcdir)/po/$(GETTEXT_PACKAGE).pot > /dev/null && echo \"ASCII quote found in user visible strings\" >&2 && exit 1" >> $@
+ @echo "grep -c -e \"^msgid \\\".*\\\`.*\\\"\" $(top_srcdir)/po/$(GETTEXT_PACKAGE).pot > /dev/null && echo \"ASCII backtick found in user visible strings\" >&2 && exit 1" >> $@
+ @echo "exit 0" >> $@
+ @chmod +x $@
+
+CLEANFILES += $(TESTS)
diff --git a/tests/test-service.cc b/tests/test-service.cc
new file mode 100644
index 0000000..73d905b
--- /dev/null
+++ b/tests/test-service.cc
@@ -0,0 +1,56 @@
+/*
+Copyright 2012 Canonical Ltd.
+
+Authors:
+ Charles Kerr <charles.kerr@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 <libindicator/indicator-service-test.h>
+
+#include "shared-names.h"
+
+/***
+****
+***/
+
+/**
+ * Fixture class for testing indicator-session-service with Google Test.
+ */
+class SessionServiceTest: public IndicatorServiceTest
+{
+ public:
+ virtual ~SessionServiceTest() {}
+ SessionServiceTest(): IndicatorServiceTest(INDICATOR_SESSION_DBUS_NAME,
+ INDICATOR_SESSION_DBUS_OBJECT,
+ INDICATOR_SERVICE_PATH) { }
+ public:
+ virtual void SetUp() {
+ wait_seconds(1);
+ IndicatorServiceTest::SetUp();
+ }
+ virtual void TearDown() {
+ IndicatorServiceTest::TearDown();
+ }
+};
+
+
+/**
+ * Basic sanity test to see if we can account for all our menuitems.
+ */
+TEST_F(SessionServiceTest, HelloWorld)
+{
+ ASSERT_TRUE(true);
+}
+