1270.2.33
by Neil Jagdish Patel
Get rid of UnityCore.h |
1 |
#include <UnityCore/GLibSignal.h> |
1270.2.2
by Neil Jagdish Patel
Initial testing support |
2 |
#include <gtest/gtest.h> |
3 |
||
1270.2.3
by Neil Jagdish Patel
Add some more testing infrastructure and fix the definitions |
4 |
#include "test_glib_signals_utils.h" |
5 |
||
1270.2.5
by Neil Jagdish Patel
Add all the signal types |
6 |
using namespace std; |
1270.2.2
by Neil Jagdish Patel
Initial testing support |
7 |
using namespace unity; |
1270.2.5
by Neil Jagdish Patel
Add all the signal types |
8 |
using namespace unity::glib; |
1270.2.2
by Neil Jagdish Patel
Initial testing support |
9 |
|
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
10 |
namespace
|
11 |
{
|
|
1270.2.2
by Neil Jagdish Patel
Initial testing support |
12 |
|
1270.2.4
by Neil Jagdish Patel
Got the test infrastructure working finally |
13 |
class TestGLibSignals : public testing::Test |
14 |
{
|
|
15 |
public: |
|
16 |
TestGLibSignals() |
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
17 |
: signal0_received_(false) |
18 |
, signal1_received_(false) |
|
19 |
, signal2_received_(false) |
|
20 |
, signal3_received_(false) |
|
21 |
, signal4_received_(false) |
|
22 |
, signal5_received_(false) |
|
23 |
, signal6_received_(false) |
|
24 |
, arg1_("") |
|
25 |
, arg2_(-1) |
|
26 |
, arg3_(0.0f) |
|
27 |
, arg4_(0.00) |
|
28 |
, arg5_(false) |
|
29 |
, arg6_(0) |
|
1270.2.4
by Neil Jagdish Patel
Got the test infrastructure working finally |
30 |
{
|
31 |
test_signals_ = static_cast<TestSignals*>(g_object_new(TEST_TYPE_SIGNALS, NULL)); |
|
32 |
}
|
|
33 |
||
34 |
virtual ~TestGLibSignals() |
|
35 |
{
|
|
36 |
if (G_IS_OBJECT(test_signals_)) |
|
37 |
g_object_unref(test_signals_); |
|
38 |
}
|
|
39 |
||
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
40 |
void Signal0Callback(TestSignals* signals) |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
41 |
{
|
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
42 |
signal0_received_ = true; |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
43 |
}
|
44 |
||
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
45 |
void Signal1Callback(TestSignals* signals, const char* str) |
1270.2.4
by Neil Jagdish Patel
Got the test infrastructure working finally |
46 |
{
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
47 |
arg1_ = str; |
48 |
signal1_received_ = true; |
|
49 |
}
|
|
50 |
||
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
51 |
void Signal2Callback(TestSignals* signals, const char* str, int i) |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
52 |
{
|
53 |
arg1_ = str; |
|
54 |
arg2_ = i; |
|
55 |
signal2_received_ = true; |
|
56 |
}
|
|
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
57 |
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
58 |
void Signal3Callback(TestSignals* signals, const char* str, int i, float f) |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
59 |
{
|
60 |
arg1_ = str; |
|
61 |
arg2_ = i; |
|
62 |
arg3_ = f; |
|
63 |
signal3_received_ = true; |
|
64 |
}
|
|
65 |
||
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
66 |
void Signal4Callback(TestSignals* signals, const char* str, int i, float f, double d) // heh |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
67 |
{
|
68 |
arg1_ = str; |
|
69 |
arg2_ = i; |
|
70 |
arg3_ = f; |
|
71 |
arg4_ = d; |
|
72 |
signal4_received_ = true; |
|
73 |
}
|
|
74 |
||
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
75 |
void Signal5Callback(TestSignals* signals, const char* str, int i, float f, |
76 |
double d, gboolean b) |
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
77 |
{
|
78 |
arg1_ = str; |
|
79 |
arg2_ = i; |
|
80 |
arg3_ = f; |
|
81 |
arg4_ = d; |
|
82 |
arg5_ = b ? true : false; |
|
83 |
signal5_received_ = true; |
|
84 |
}
|
|
85 |
||
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
86 |
gboolean Signal6Callback(TestSignals* signals, const char* str, int i, float f, |
87 |
double d, gboolean b, char c) |
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
88 |
{
|
89 |
arg1_ = str; |
|
90 |
arg2_ = i; |
|
91 |
arg3_ = f; |
|
92 |
arg4_ = d; |
|
93 |
arg5_ = b ? true : false; |
|
94 |
arg6_ = c; |
|
95 |
signal6_received_ = true; |
|
96 |
return TRUE; |
|
97 |
}
|
|
98 |
||
1270.2.4
by Neil Jagdish Patel
Got the test infrastructure working finally |
99 |
protected: |
100 |
TestSignals* test_signals_; |
|
101 |
||
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
102 |
bool signal0_received_; |
103 |
bool signal1_received_; |
|
104 |
bool signal2_received_; |
|
105 |
bool signal3_received_; |
|
106 |
bool signal4_received_; |
|
107 |
bool signal5_received_; |
|
108 |
bool signal6_received_; |
|
109 |
||
110 |
string arg1_; |
|
111 |
int arg2_; |
|
112 |
float arg3_; |
|
113 |
double arg4_; |
|
114 |
bool arg5_; |
|
115 |
char arg6_; |
|
1270.2.4
by Neil Jagdish Patel
Got the test infrastructure working finally |
116 |
};
|
117 |
||
118 |
||
1270.2.5
by Neil Jagdish Patel
Add all the signal types |
119 |
TEST_F(TestGLibSignals, TestConstructions) |
120 |
{
|
|
121 |
SignalBase base; |
|
122 |
||
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
123 |
Signal0<void, TestSignals*> signal0; |
124 |
Signal1<void, TestSignals*, string> signal1; |
|
125 |
Signal2<void, TestSignals*, string, int> signal2; |
|
126 |
Signal3<void, TestSignals*, string, int, float> signal3; |
|
127 |
Signal4<void, TestSignals*, string, int, float, double> signal4; |
|
128 |
Signal5<void, TestSignals*, string, int, float, double, gboolean> signal5; |
|
129 |
Signal6<gboolean, TestSignals*, string, int, float, double, gboolean, char> signal6; |
|
1270.2.5
by Neil Jagdish Patel
Add all the signal types |
130 |
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
131 |
Signal<void, TestSignals*> signal00; |
132 |
Signal<void, TestSignals*, string> signal01; |
|
133 |
Signal<void, TestSignals*, string, int> signal02; |
|
134 |
Signal<void, TestSignals*, string, int, float> signal03; |
|
135 |
Signal<void, TestSignals*, string, int, float, double> signal04; |
|
136 |
Signal<void, TestSignals*, string, int, float, double, gboolean> signal05; |
|
137 |
Signal<gboolean, TestSignals*, string, int, float, double, gboolean, char> signal06; |
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
138 |
}
|
139 |
||
140 |
TEST_F(TestGLibSignals, TestSignal0) |
|
141 |
{
|
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
142 |
Signal<void, TestSignals*> signal; |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
143 |
signal.Connect(test_signals_, "signal0", |
144 |
sigc::mem_fun(this, &TestGLibSignals::Signal0Callback)); |
|
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
145 |
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
146 |
g_signal_emit_by_name(test_signals_, "signal0"); |
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
147 |
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
148 |
EXPECT_TRUE(signal0_received_); |
1270.2.7
by Neil Jagdish Patel
Add some more tests, clean up file |
149 |
EXPECT_EQ(arg1_, ""); |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
150 |
}
|
151 |
||
152 |
TEST_F(TestGLibSignals, TestSignal1) |
|
153 |
{
|
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
154 |
Signal<void, TestSignals*, const char*> signal; |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
155 |
signal.Connect(test_signals_, "signal1", |
156 |
sigc::mem_fun(this, &TestGLibSignals::Signal1Callback)); |
|
157 |
||
158 |
g_signal_emit_by_name(test_signals_, "signal1", "test"); |
|
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
159 |
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
160 |
EXPECT_TRUE(signal1_received_); |
161 |
EXPECT_EQ(arg1_, "test"); |
|
162 |
EXPECT_EQ(arg2_, -1); |
|
163 |
}
|
|
164 |
||
165 |
TEST_F(TestGLibSignals, TestSignal2) |
|
166 |
{
|
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
167 |
Signal<void, TestSignals*, const char*, int> signal; |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
168 |
signal.Connect(test_signals_, "signal2", |
169 |
sigc::mem_fun(this, &TestGLibSignals::Signal2Callback)); |
|
170 |
||
171 |
g_signal_emit_by_name(test_signals_, "signal2", "test", 100); |
|
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
172 |
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
173 |
EXPECT_TRUE(signal2_received_); |
174 |
EXPECT_EQ(arg1_, "test"); |
|
175 |
EXPECT_EQ(arg2_, 100); |
|
176 |
EXPECT_EQ(arg3_, 0.0f); |
|
177 |
}
|
|
178 |
||
179 |
TEST_F(TestGLibSignals, TestSignal3) |
|
180 |
{
|
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
181 |
Signal<void, TestSignals*, const char*, int, float> signal; |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
182 |
signal.Connect(test_signals_, "signal3", |
183 |
sigc::mem_fun(this, &TestGLibSignals::Signal3Callback)); |
|
184 |
||
185 |
g_signal_emit_by_name(test_signals_, "signal3", "test", 100, 200.0f); |
|
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
186 |
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
187 |
EXPECT_TRUE(signal3_received_); |
188 |
EXPECT_EQ(arg1_, "test"); |
|
189 |
EXPECT_EQ(arg2_, 100); |
|
190 |
EXPECT_EQ(arg3_, 200.0f); |
|
191 |
EXPECT_EQ(arg4_, 0.00); |
|
192 |
}
|
|
193 |
||
194 |
||
195 |
TEST_F(TestGLibSignals, TestSignal4) |
|
196 |
{
|
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
197 |
Signal<void, TestSignals*, const char*, int, float, double> signal; |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
198 |
signal.Connect(test_signals_, "signal4", |
199 |
sigc::mem_fun(this, &TestGLibSignals::Signal4Callback)); |
|
200 |
||
201 |
g_signal_emit_by_name(test_signals_, "signal4", "test", 100, 200.0f, 300.00); |
|
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
202 |
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
203 |
EXPECT_TRUE(signal4_received_); |
204 |
EXPECT_EQ(arg1_, "test"); |
|
205 |
EXPECT_EQ(arg2_, 100); |
|
206 |
EXPECT_EQ(arg3_, 200.0f); |
|
207 |
EXPECT_EQ(arg4_, 300.00); |
|
208 |
EXPECT_EQ(arg5_, false); |
|
209 |
}
|
|
210 |
||
211 |
TEST_F(TestGLibSignals, TestSignal5) |
|
212 |
{
|
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
213 |
Signal<void, TestSignals*, const char*, int, float, double, gboolean> signal; |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
214 |
signal.Connect(test_signals_, "signal5", |
215 |
sigc::mem_fun(this, &TestGLibSignals::Signal5Callback)); |
|
216 |
||
217 |
g_signal_emit_by_name(test_signals_, "signal5", "test", 100, 200.0f, 300.00, |
|
218 |
TRUE); |
|
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
219 |
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
220 |
EXPECT_TRUE(signal5_received_); |
221 |
EXPECT_EQ(arg1_, "test"); |
|
222 |
EXPECT_EQ(arg2_, 100); |
|
223 |
EXPECT_EQ(arg3_, 200.0f); |
|
224 |
EXPECT_EQ(arg4_, 300.00); |
|
225 |
EXPECT_EQ(arg5_, true); |
|
226 |
EXPECT_EQ(arg6_, 0); |
|
227 |
}
|
|
228 |
||
1270.2.16
by Neil Jagdish Patel
Some clean up + comments |
229 |
// This tests accumulation as well
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
230 |
TEST_F(TestGLibSignals, TestSignal6) |
231 |
{
|
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
232 |
Signal<gboolean, TestSignals*, const char*, int, float, double, gboolean, char> signal; |
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
233 |
signal.Connect(test_signals_, "signal6", |
234 |
sigc::mem_fun(this, &TestGLibSignals::Signal6Callback)); |
|
235 |
||
236 |
gboolean ret = FALSE; |
|
237 |
g_signal_emit_by_name(test_signals_, "signal6", "test", 100, 200.0f, 300.00, |
|
238 |
TRUE, 'x', &ret); |
|
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
239 |
|
1270.2.6
by Neil Jagdish Patel
Complete testing of connection & emmision |
240 |
EXPECT_TRUE(signal6_received_); |
241 |
EXPECT_EQ(arg1_, "test"); |
|
242 |
EXPECT_EQ(arg2_, 100); |
|
243 |
EXPECT_EQ(arg3_, 200.0f); |
|
244 |
EXPECT_EQ(arg4_, 300.00); |
|
245 |
EXPECT_EQ(arg5_, true); |
|
246 |
EXPECT_EQ(arg6_, 'x'); |
|
247 |
EXPECT_EQ(ret, TRUE); |
|
248 |
}
|
|
249 |
||
1270.2.5
by Neil Jagdish Patel
Add all the signal types |
250 |
TEST_F(TestGLibSignals, TestDisconnection) |
251 |
{
|
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
252 |
Signal<void, TestSignals*> signal; |
1270.2.7
by Neil Jagdish Patel
Add some more tests, clean up file |
253 |
signal.Connect(test_signals_, "signal0", |
254 |
sigc::mem_fun(this, &TestGLibSignals::Signal0Callback)); |
|
255 |
signal.Disconnect(); |
|
1270.2.5
by Neil Jagdish Patel
Add all the signal types |
256 |
|
1270.2.7
by Neil Jagdish Patel
Add some more tests, clean up file |
257 |
g_signal_emit_by_name(test_signals_, "signal0"); |
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
258 |
|
1270.2.7
by Neil Jagdish Patel
Add some more tests, clean up file |
259 |
EXPECT_FALSE(signal0_received_); |
1270.2.5
by Neil Jagdish Patel
Add all the signal types |
260 |
}
|
261 |
||
262 |
TEST_F(TestGLibSignals, TestAutoDisconnection) |
|
263 |
{
|
|
1270.2.7
by Neil Jagdish Patel
Add some more tests, clean up file |
264 |
{
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
265 |
Signal<void, TestSignals*> signal; |
1270.2.7
by Neil Jagdish Patel
Add some more tests, clean up file |
266 |
signal.Connect(test_signals_, "signal0", |
267 |
sigc::mem_fun(this, &TestGLibSignals::Signal0Callback)); |
|
268 |
}
|
|
1270.2.5
by Neil Jagdish Patel
Add all the signal types |
269 |
|
1270.2.7
by Neil Jagdish Patel
Add some more tests, clean up file |
270 |
g_signal_emit_by_name(test_signals_, "signal0"); |
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
271 |
|
1270.2.7
by Neil Jagdish Patel
Add some more tests, clean up file |
272 |
EXPECT_FALSE(signal0_received_); |
1270.2.5
by Neil Jagdish Patel
Add all the signal types |
273 |
}
|
274 |
||
1270.2.7
by Neil Jagdish Patel
Add some more tests, clean up file |
275 |
TEST_F(TestGLibSignals, TestCleanDestruction) |
1270.2.5
by Neil Jagdish Patel
Add all the signal types |
276 |
{
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
277 |
Signal<void, TestSignals*> signal; |
1270.2.7
by Neil Jagdish Patel
Add some more tests, clean up file |
278 |
signal.Connect(test_signals_, "signal0", |
279 |
sigc::mem_fun(this, &TestGLibSignals::Signal0Callback)); |
|
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
280 |
g_object_unref(test_signals_); |
1270.2.7
by Neil Jagdish Patel
Add some more tests, clean up file |
281 |
}
|
1270.2.2
by Neil Jagdish Patel
Initial testing support |
282 |
|
1270.2.8
by Neil Jagdish Patel
Beginnings of SignalManager |
283 |
TEST_F(TestGLibSignals, TestManagerConstruction) |
284 |
{
|
|
285 |
SignalManager manager; |
|
1270.2.10
by Neil Jagdish Patel
Add a test case that connects up all the diffrent types of signals |
286 |
}
|
287 |
||
288 |
TEST_F(TestGLibSignals, TestManagerAddition) |
|
289 |
{
|
|
290 |
SignalManager manager; |
|
1270.2.8
by Neil Jagdish Patel
Beginnings of SignalManager |
291 |
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
292 |
manager.Add(new Signal<void, TestSignals*>(test_signals_, |
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
293 |
"signal0", |
294 |
sigc::mem_fun(this, &TestGLibSignals::Signal0Callback))); |
|
295 |
manager.Add(new Signal<void, TestSignals*, const char*>(test_signals_, |
|
296 |
"signal1", |
|
297 |
sigc::mem_fun(this, &TestGLibSignals::Signal1Callback))); |
|
298 |
manager.Add(new Signal<void, TestSignals*, const char*, int>(test_signals_, |
|
299 |
"signal2", |
|
300 |
sigc::mem_fun(this, &TestGLibSignals::Signal2Callback))); |
|
301 |
manager.Add(new Signal<void, TestSignals*, const char*, int, float>(test_signals_, |
|
302 |
"signal3", |
|
303 |
sigc::mem_fun(this, &TestGLibSignals::Signal3Callback))); |
|
304 |
manager.Add(new Signal<void, TestSignals*, const char*, int, float, double>(test_signals_, |
|
305 |
"signal4", |
|
306 |
sigc::mem_fun(this, &TestGLibSignals::Signal4Callback))); |
|
307 |
manager.Add(new Signal<void, TestSignals*, const char*, int, float, double, gboolean>(test_signals_, |
|
308 |
"signal5", |
|
309 |
sigc::mem_fun(this, &TestGLibSignals::Signal5Callback))); |
|
310 |
manager.Add(new Signal<gboolean, TestSignals*, const char*, int, float, double, gboolean, char>(test_signals_, |
|
311 |
"signal6", |
|
312 |
sigc::mem_fun(this, &TestGLibSignals::Signal6Callback))); |
|
1270.2.9
by Neil Jagdish Patel
Add an ass load of constructors. Template programming is a lot of repeating the same code... |
313 |
}
|
314 |
||
315 |
TEST_F(TestGLibSignals, TestManagerConnection) |
|
316 |
{
|
|
1270.2.11
by Neil Jagdish Patel
Test connections are still working |
317 |
SignalManager manager; |
318 |
||
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
319 |
manager.Add(new Signal<void, TestSignals*>(test_signals_, |
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
320 |
"signal0", |
321 |
sigc::mem_fun(this, &TestGLibSignals::Signal0Callback))); |
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
322 |
|
1270.2.11
by Neil Jagdish Patel
Test connections are still working |
323 |
g_signal_emit_by_name(test_signals_, "signal0"); |
324 |
EXPECT_TRUE(signal0_received_); |
|
325 |
||
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
326 |
manager.Add(new Signal<void, TestSignals*, const char*>(test_signals_, |
327 |
"signal1", |
|
328 |
sigc::mem_fun(this, &TestGLibSignals::Signal1Callback))); |
|
1270.2.11
by Neil Jagdish Patel
Test connections are still working |
329 |
g_signal_emit_by_name(test_signals_, "signal1", "test"); |
330 |
EXPECT_TRUE(signal1_received_); |
|
331 |
||
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
332 |
gboolean ret = FALSE; |
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
333 |
manager.Add(new Signal<gboolean, TestSignals*, const char*, int, float, double, gboolean, char>(test_signals_, |
334 |
"signal6", |
|
335 |
sigc::mem_fun(this, &TestGLibSignals::Signal6Callback))); |
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
336 |
g_signal_emit_by_name(test_signals_, "signal6", "test", 100, 1.0f, 100.00, FALSE, 'x', &ret); |
337 |
EXPECT_TRUE(signal6_received_); |
|
338 |
EXPECT_TRUE(ret); |
|
1270.2.9
by Neil Jagdish Patel
Add an ass load of constructors. Template programming is a lot of repeating the same code... |
339 |
}
|
340 |
||
341 |
TEST_F(TestGLibSignals, TestManagerAutoDisconnect) |
|
342 |
{
|
|
1270.2.12
by Neil Jagdish Patel
Yay, auto-disconnection works |
343 |
{
|
344 |
SignalManager manager; |
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
345 |
manager.Add(new Signal<void, TestSignals*>(test_signals_, |
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
346 |
"signal0", |
347 |
sigc::mem_fun(this, &TestGLibSignals::Signal0Callback))); |
|
1270.2.12
by Neil Jagdish Patel
Yay, auto-disconnection works |
348 |
}
|
1270.2.9
by Neil Jagdish Patel
Add an ass load of constructors. Template programming is a lot of repeating the same code... |
349 |
|
1270.2.12
by Neil Jagdish Patel
Yay, auto-disconnection works |
350 |
g_signal_emit_by_name(test_signals_, "signal0"); |
351 |
EXPECT_FALSE(signal0_received_); |
|
1270.2.9
by Neil Jagdish Patel
Add an ass load of constructors. Template programming is a lot of repeating the same code... |
352 |
}
|
353 |
||
1270.2.13
by Neil Jagdish Patel
Add support to SignalManager for disconnections and add a test for that |
354 |
TEST_F(TestGLibSignals, TestManagerDisconnection) |
355 |
{
|
|
356 |
SignalManager manager; |
|
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
357 |
|
1270.2.15
by Neil Jagdish Patel
Forgot to add support for sending the emitting GObject! |
358 |
manager.Add(new Signal<void, TestSignals*>(test_signals_, |
1307
by Neil Jagdish Patel
Update formatting to match style (as close as possible) |
359 |
"signal0", |
360 |
sigc::mem_fun(this, &TestGLibSignals::Signal0Callback))); |
|
1270.2.13
by Neil Jagdish Patel
Add support to SignalManager for disconnections and add a test for that |
361 |
manager.Disconnect(test_signals_, "signal0"); |
362 |
||
363 |
g_signal_emit_by_name(test_signals_, "signal0"); |
|
364 |
EXPECT_FALSE(signal0_received_); |
|
365 |
}
|
|
366 |
||
2356.1.1
by Marco Trevisan (Treviño)
GLib::SignalManager: allow to disconnect all the signals for a given Object. |
367 |
TEST_F(TestGLibSignals, TestManagerObjectDisconnection) |
368 |
{
|
|
369 |
SignalManager manager; |
|
370 |
||
371 |
manager.Add(new Signal<void, TestSignals*>(test_signals_, |
|
372 |
"signal0", |
|
373 |
sigc::mem_fun(this, &TestGLibSignals::Signal0Callback))); |
|
374 |
||
375 |
manager.Add(new Signal<void, TestSignals*, const char*>(test_signals_, |
|
376 |
"signal1", |
|
377 |
sigc::mem_fun(this, &TestGLibSignals::Signal1Callback))); |
|
378 |
||
379 |
manager.Disconnect(test_signals_); |
|
380 |
||
381 |
g_signal_emit_by_name(test_signals_, "signal0"); |
|
382 |
EXPECT_FALSE(signal0_received_); |
|
383 |
g_signal_emit_by_name(test_signals_, "signal1", "test"); |
|
384 |
EXPECT_FALSE(signal1_received_); |
|
385 |
}
|
|
386 |
||
1270.2.2
by Neil Jagdish Patel
Initial testing support |
387 |
}
|