~marcobiscaro2112/unity/custom-bg

« back to all changes in this revision

Viewing changes to tests/test_glib_signals.cpp

  • Committer: Marco Biscaro
  • Date: 2012-07-12 12:05:07 UTC
  • mfrom: (2353.2.144 unity)
  • Revision ID: marcobiscaro2112@gmail.com-20120712120507-7u9sb43bqon88ifl
Merge with trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
115
115
  char arg6_;
116
116
};
117
117
 
 
118
class MockSignalManager : public SignalManager
 
119
{
 
120
public:
 
121
  std::vector<SignalBase::Ptr> GetConnections() const { return connections_; }
 
122
};
 
123
 
118
124
 
119
125
TEST_F(TestGLibSignals, TestConstructions)
120
126
{
121
 
  SignalBase base;
122
 
 
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;
130
 
 
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;
 
127
  Signal<void, TestSignals*> signal0;
 
128
  Signal<void, TestSignals*, string> signal1;
 
129
  Signal<void, TestSignals*, string, int> signal2;
 
130
  Signal<void, TestSignals*, string, int, float> signal3;
 
131
  Signal<void, TestSignals*, string, int, float, double> signal4;
 
132
  Signal<void, TestSignals*, string, int, float, double, gboolean> signal5;
 
133
  Signal<gboolean, TestSignals*, string, int, float, double, gboolean, char> signal6;
138
134
}
139
135
 
140
136
TEST_F(TestGLibSignals, TestSignal0)
282
278
 
283
279
TEST_F(TestGLibSignals, TestManagerConstruction)
284
280
{
285
 
  SignalManager manager;
 
281
  MockSignalManager manager;
 
282
  EXPECT_TRUE(manager.GetConnections().empty());
286
283
}
287
284
 
288
285
TEST_F(TestGLibSignals, TestManagerAddition)
289
286
{
290
 
  SignalManager manager;
 
287
  MockSignalManager manager;
291
288
 
292
289
  manager.Add(new Signal<void, TestSignals*>(test_signals_,
293
290
                                             "signal0",
310
307
  manager.Add(new Signal<gboolean, TestSignals*, const char*, int, float, double, gboolean, char>(test_signals_,
311
308
              "signal6",
312
309
              sigc::mem_fun(this, &TestGLibSignals::Signal6Callback)));
 
310
 
 
311
  EXPECT_EQ(manager.GetConnections().size(), 7);
 
312
}
 
313
 
 
314
TEST_F(TestGLibSignals, TestManagerAdditionTemplate)
 
315
{
 
316
  MockSignalManager manager;
 
317
 
 
318
  manager.Add<void, TestSignals*>(test_signals_, "signal0",
 
319
                                  sigc::mem_fun(this, &TestGLibSignals::Signal0Callback));
 
320
  manager.Add<void, TestSignals*, const char*>(test_signals_, "signal1",
 
321
                                               sigc::mem_fun(this, &TestGLibSignals::Signal1Callback));
 
322
  manager.Add<void, TestSignals*, const char*, int>(test_signals_, "signal2",
 
323
                                                    sigc::mem_fun(this, &TestGLibSignals::Signal2Callback));
 
324
  manager.Add<void, TestSignals*, const char*, int, float>(test_signals_, "signal3",
 
325
                                                           sigc::mem_fun(this, &TestGLibSignals::Signal3Callback));
 
326
  manager.Add<void, TestSignals*, const char*, int, float, double>(test_signals_, "signal4",
 
327
                                                                   sigc::mem_fun(this, &TestGLibSignals::Signal4Callback));
 
328
  manager.Add<void, TestSignals*, const char*, int, float, double, gboolean>(test_signals_, "signal5",
 
329
                                                                             sigc::mem_fun(this, &TestGLibSignals::Signal5Callback));
 
330
  manager.Add<gboolean, TestSignals*, const char*, int, float, double, gboolean, char>(test_signals_, "signal6", sigc::mem_fun(this, &TestGLibSignals::Signal6Callback));
 
331
 
 
332
  EXPECT_EQ(manager.GetConnections().size(), 7);
313
333
}
314
334
 
315
335
TEST_F(TestGLibSignals, TestManagerConnection)
316
336
{
317
 
  SignalManager manager;
 
337
  MockSignalManager manager;
318
338
 
319
339
  manager.Add(new Signal<void, TestSignals*>(test_signals_,
320
340
                                             "signal0",
330
350
  EXPECT_TRUE(signal1_received_);
331
351
 
332
352
  gboolean ret = FALSE;
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)));
 
353
  manager.Add<gboolean, TestSignals*, const char*, int, float, double, gboolean, char>(test_signals_, "signal6",
 
354
              sigc::mem_fun(this, &TestGLibSignals::Signal6Callback));
336
355
  g_signal_emit_by_name(test_signals_, "signal6", "test", 100, 1.0f, 100.00, FALSE, 'x', &ret);
337
356
  EXPECT_TRUE(signal6_received_);
338
357
  EXPECT_TRUE(ret);