~azzar1/unity/fix-839717-5.0

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
}