MCPcopy Create free account
hub / github.com/KDAB/GammaRay / testMapper

Function testMapper

tests/multisignalmappertest.cpp:55–81  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

53
54private slots:
55 void testMapper()
56 {
57 Emitter emitter1, emitter2;
58
59 MultiSignalMapper mapper;
60 mapper.connectToSignal(&emitter1, method(&emitter1, "signal1(int)"));
61 mapper.connectToSignal(&emitter2, method(&emitter1, "signal1(int)"));
62 mapper.connectToSignal(&emitter1, method(&emitter1, "signal2(QString)"));
63 mapper.connectToSignal(&emitter2, method(&emitter1, "signal2(QString)"));
64
65 QSignalSpy spy(&mapper, &MultiSignalMapper::signalEmitted);
66 QVERIFY(spy.isValid());
67 QVERIFY(spy.isEmpty());
68
69 emit emitter1.signal1(42);
70 QCOMPARE(spy.size(), 1);
71 QCOMPARE(spy.at(0).at(0).value<QObject *>(), &emitter1);
72 QCOMPARE(spy.at(0).at(1).toInt(), emitter1.metaObject()->indexOfSignal("signal1(int)"));
73 QCOMPARE(spy.at(0).at(2).value<QVector<QVariant>>().first().toInt(), 42);
74
75 emit emitter2.signal2(QStringLiteral("hello"));
76 QCOMPARE(spy.size(), 2);
77 QCOMPARE(spy.at(1).at(0).value<QObject *>(), &emitter2);
78 QCOMPARE(spy.at(1).at(1).toInt(), emitter1.metaObject()->indexOfSignal("signal2(QString)"));
79 QCOMPARE(spy.at(1).at(2).value<QVector<QVariant>>().first().toString(),
80 QStringLiteral("hello"));
81 }
82};
83
84QTEST_MAIN(MultiSignalMapperTest)

Callers

nothing calls this directly

Calls 6

methodFunction · 0.85
connectToSignalMethod · 0.45
isValidMethod · 0.45
isEmptyMethod · 0.45
sizeMethod · 0.45
metaObjectMethod · 0.45

Tested by

no test coverage detected