summaryrefslogtreecommitdiff
path: root/tests
diff options
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2013-03-25 13:10:11 +0100
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2013-03-25 13:10:11 +0100
commit4df735695883e4d3a73661531160ac4c528a9733 (patch)
tree22fcaf2acc6b571011b5fd827d63626d1394d1dc /tests
parent9d987a0460b96cd45619de1dffc22156522c5285 (diff)
TestGDBusProxy: added property-changed signal tests
(bzr r3249.1.23)
Diffstat (limited to 'tests')
-rw-r--r--tests/test_gdbus_proxy.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/test_gdbus_proxy.cpp b/tests/test_gdbus_proxy.cpp
index 38507b082..477acb7ff 100644
--- a/tests/test_gdbus_proxy.cpp
+++ b/tests/test_gdbus_proxy.cpp
@@ -357,4 +357,53 @@ TEST_F(TestGDBusProxy, SetWOPropertyAfterConnection)
EXPECT_EQ(wo_value, value);
}
+TEST_F(TestGDBusProxy, PropertyChangedSignalBeforeConnection)
+{
+ int value = g_random_int();
+ bool got_signal = false;
+ proxy.ConnectProperty("ReadWriteProperty", [&got_signal, value] (GVariant* new_value) {
+ got_signal = true;
+ EXPECT_EQ(g_variant_get_int32(new_value), value);
+ });
+
+ proxy.SetProperty("ReadWriteProperty", g_variant_new_int32(value));
+
+ Utils::WaitUntilMSec(got_signal);
+ EXPECT_TRUE(got_signal);
+}
+
+TEST_F(TestGDBusProxy, PropertyChangedSignalAfterConnection)
+{
+ Utils::WaitUntilMSec([this] { return proxy.IsConnected(); });
+
+ int value = g_random_int();
+ bool got_signal = false;
+ proxy.ConnectProperty("ReadOnlyProperty", [&got_signal, value] (GVariant* new_value) {
+ got_signal = true;
+ EXPECT_EQ(g_variant_get_int32(new_value), value);
+ });
+
+ proxy.Call("SetReadOnlyProperty", g_variant_new("(i)", value));
+
+ Utils::WaitUntilMSec(got_signal);
+ EXPECT_TRUE(got_signal);
+}
+
+TEST_F(TestGDBusProxy, PropertyChangedSignalAfterConnectionAndDisconnect)
+{
+ Utils::WaitUntilMSec([this] { return proxy.IsConnected(); });
+
+ bool got_signal1 = false;
+ proxy.ConnectProperty("ReadWriteProperty", [&got_signal1] (GVariant*) { got_signal1 = true; });
+ proxy.DisconnectProperty();
+
+ bool got_signal2 = false;
+ proxy.ConnectProperty("ReadWriteProperty", [&got_signal2] (GVariant*) { got_signal2 = true; });
+ proxy.SetProperty("ReadWriteProperty", g_variant_new_int32(g_random_int()));
+
+ Utils::WaitUntilMSec(got_signal2);
+ ASSERT_FALSE(got_signal1);
+ EXPECT_TRUE(got_signal2);
+}
+
}