From 30e3f1f9d404c77ee32d2e004c2c9327192f5872 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 15 Nov 2013 22:11:57 -0600 Subject: Okay, no we're testing something! --- tests/name-watch-test.cc | 44 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 3 deletions(-) (limited to 'tests/name-watch-test.cc') diff --git a/tests/name-watch-test.cc b/tests/name-watch-test.cc index b5a1db3..64f681d 100644 --- a/tests/name-watch-test.cc +++ b/tests/name-watch-test.cc @@ -2,20 +2,58 @@ #include #include +extern "C" { +#include "bus-watch-namespace.h" +} + class NameWatchTest : public ::testing::Test { + private: + GTestDBus * testbus = NULL; + protected: virtual void SetUp() { - + testbus = g_test_dbus_new(G_TEST_DBUS_NONE); + g_test_dbus_up(testbus); } virtual void TearDown() { - + g_test_dbus_down(testbus); + g_clear_object(&testbus); } }; -TEST_F(NameWatchTest, DummyTest) +typedef struct { + guint appeared; + guint vanished; +} callback_count_t; + +static void +appeared_simple_cb (GDBusConnection * bus, const gchar * name, const gchar * owner, gpointer user_data) +{ + callback_count_t * callback_count = static_cast(user_data); + callback_count->appeared++; +} + +static void +vanished_simple_cb (GDBusConnection * bus, const gchar * name, gpointer user_data) { + callback_count_t * callback_count = static_cast(user_data); + callback_count->vanished++; +} + + +TEST_F(NameWatchTest, BaseWatch) +{ + callback_count_t callback_count = {0}; + + guint ns_watch = bus_watch_namespace(G_BUS_TYPE_SESSION, + "com.foo", + appeared_simple_cb, + vanished_simple_cb, + &callback_count, + NULL); + bus_unwatch_namespace(ns_watch); } -- cgit v1.2.3