aboutsummaryrefslogtreecommitdiff
path: root/tests/test-indicator.cc
diff options
context:
space:
mode:
authorCharles Kerr <charles.kerr@canonical.com>2012-11-07 08:55:12 +0000
committerTarmac <Unknown>2012-11-07 08:55:12 +0000
commit2893be94b74895718d829b2f22388ea607de0980 (patch)
treed6a8e1a54f050aad7e2b97d9614b2252597a3179 /tests/test-indicator.cc
parentd1bb8ca95f0f9d39c344fa41e297c73e88143800 (diff)
parent7ebd1bec24a732a0f7069e727ff4036f6b925e99 (diff)
downloadayatana-indicator-datetime-2893be94b74895718d829b2f22388ea607de0980.tar.gz
ayatana-indicator-datetime-2893be94b74895718d829b2f22388ea607de0980.tar.bz2
ayatana-indicator-datetime-2893be94b74895718d829b2f22388ea607de0980.zip
Add scaffolding for Google Tests. Fixes: https://bugs.launchpad.net/bugs/985060.
Approved by Lars Uebernickel, PS Jenkins bot.
Diffstat (limited to 'tests/test-indicator.cc')
-rw-r--r--tests/test-indicator.cc93
1 files changed, 93 insertions, 0 deletions
diff --git a/tests/test-indicator.cc b/tests/test-indicator.cc
new file mode 100644
index 0000000..67a2780
--- /dev/null
+++ b/tests/test-indicator.cc
@@ -0,0 +1,93 @@
+/*
+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 <gtest/gtest.h>
+
+#include <glib-object.h>
+
+/***
+****
+***/
+
+namespace
+{
+ void ensure_glib_initialized ()
+ {
+ static bool initialized = false;
+
+ if (G_UNLIKELY(!initialized))
+ {
+ initialized = true;
+ g_type_init();
+ g_setenv ("GSETTINGS_SCHEMA_DIR", SCHEMA_DIR, TRUE);
+ }
+ }
+}
+
+/***
+****
+***/
+
+class IndicatorTest : public ::testing::Test
+{
+ private:
+
+ guint log_handler_id;
+
+ int log_count_ipower_actual;
+
+ static void log_count_func (const gchar *log_domain,
+ GLogLevelFlags log_level,
+ const gchar *message,
+ gpointer user_data)
+ {
+ reinterpret_cast<IndicatorTest*>(user_data)->log_count_ipower_actual++;
+ }
+
+ protected:
+
+ int log_count_ipower_expected;
+
+ protected:
+
+ virtual void SetUp()
+ {
+ const GLogLevelFlags flags = GLogLevelFlags(G_LOG_LEVEL_CRITICAL|G_LOG_LEVEL_WARNING);
+ log_handler_id = g_log_set_handler ("Indicator-Power", flags, log_count_func, this);
+ log_count_ipower_expected = 0;
+ log_count_ipower_actual = 0;
+
+ ensure_glib_initialized ();
+ }
+
+ virtual void TearDown()
+ {
+ ASSERT_EQ (log_count_ipower_expected, log_count_ipower_actual);
+ g_log_remove_handler ("Indicator-Power", log_handler_id);
+ }
+};
+
+/***
+****
+***/
+
+TEST_F(IndicatorTest, HelloWorld)
+{
+ ASSERT_TRUE (TRUE);
+}