diff options
| author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2017-07-12 18:13:47 +0200 | 
|---|---|---|
| committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2017-07-12 18:13:47 +0200 | 
| commit | af2d08087a6e2386aa6edd5e133f5b581779c013 (patch) | |
| tree | 933a5a9858e2c92cc97ebb4d1a420d74b1986331 /tests | |
| parent | e4c421bc64b1aad5bc971faca2c0e1ad84e64db7 (diff) | |
GLibSignal: allow to block, unblock signals
(bzr r4245.2.3)
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_glib_signals.cpp | 34 | 
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/test_glib_signals.cpp b/tests/test_glib_signals.cpp index df17f8366..a514f8d86 100644 --- a/tests/test_glib_signals.cpp +++ b/tests/test_glib_signals.cpp @@ -243,6 +243,40 @@ TEST_F(TestGLibSignals, TestSignal6)  EXPECT_EQ(ret, TRUE);  } +TEST_F(TestGLibSignals, TestBlock) +{ + Signal<void, TestSignals*> signal; + ASSERT_TRUE(signal.Connect(test_signals_, "signal0", + sigc::mem_fun(this, &TestGLibSignals::Signal0Callback))); + EXPECT_TRUE(signal.Block()); + + g_signal_emit_by_name(test_signals_, "signal0"); + EXPECT_FALSE(signal0_received_); + + signal0_received_ = false; + EXPECT_TRUE(signal.Unblock()); + + g_signal_emit_by_name(test_signals_, "signal0"); + EXPECT_TRUE(signal0_received_); +} + +TEST_F(TestGLibSignals, TestUnblock) +{ + Signal<void, TestSignals*> signal; + ASSERT_TRUE(signal.Connect(test_signals_, "signal0", + sigc::mem_fun(this, &TestGLibSignals::Signal0Callback))); + EXPECT_TRUE(signal.Unblock()); + + g_signal_emit_by_name(test_signals_, "signal0"); + EXPECT_TRUE(signal0_received_); + + signal0_received_ = false; + EXPECT_TRUE(signal.Block()); + + g_signal_emit_by_name(test_signals_, "signal0"); + EXPECT_FALSE(signal0_received_); +} +  TEST_F(TestGLibSignals, TestDisconnection)  {  Signal<void, TestSignals*> signal;  | 
