diff options
| author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2013-03-25 13:10:11 +0100 |
|---|---|---|
| committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2013-03-25 13:10:11 +0100 |
| commit | 4df735695883e4d3a73661531160ac4c528a9733 (patch) | |
| tree | 22fcaf2acc6b571011b5fd827d63626d1394d1dc | |
| parent | 9d987a0460b96cd45619de1dffc22156522c5285 (diff) | |
TestGDBusProxy: added property-changed signal tests
(bzr r3249.1.23)
| -rw-r--r-- | tests/test_gdbus_proxy.cpp | 49 |
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); +} + } |
