diff options
Diffstat (limited to 'tests/auto/integration/tst_integration.cpp')
-rw-r--r-- | tests/auto/integration/tst_integration.cpp | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/tests/auto/integration/tst_integration.cpp b/tests/auto/integration/tst_integration.cpp index d815e1a..482690d 100644 --- a/tests/auto/integration/tst_integration.cpp +++ b/tests/auto/integration/tst_integration.cpp @@ -112,6 +112,20 @@ private: EngineReplica::EngineType type; }; +class MyClass : public MyClassSimpleSource +{ +public: + QMap<QString, MyPOD> myPodMap() override + { + return {{"Zero", MyPOD(0,0,"0")},{"One", MyPOD(1,1,"1")},{"Two", MyPOD(2,2,"2")}}; + } + QList<MyPOD> myPodList() override + { + return {MyPOD(0,0,"0"),MyPOD(1,1,"1"),MyPOD(2,2,"2")}; + } +}; + + class tst_Integration: public QObject { Q_OBJECT @@ -1368,7 +1382,7 @@ private slots: MyPOD shouldPass(1, 2.0, QStringLiteral("pass")); MyPOD shouldFail(1, 2.0, QStringLiteral("fail")); - MyClassSimpleSource m; + MyClass m; m.setMyPOD(shouldPass); host->enableRemoting(&m); const QScopedPointer<MyClassReplica> myclass_r(client->acquire<MyClassReplica>()); @@ -1376,6 +1390,18 @@ private slots: QVERIFY(myclass_r->myPOD() == m.myPOD()); QVERIFY(myclass_r->myPOD() != shouldFail); + + auto podMapReply = myclass_r->myPodMap(); + QVERIFY(podMapReply.waitForFinished(1000)); + auto podMap = podMapReply.returnValue(); + QCOMPARE(podMap.size(), 3); + QCOMPARE(podMap, m.myPodMap()); + + auto podListReply = myclass_r->myPodList(); + QVERIFY(podListReply.waitForFinished(1000)); + auto podList = podListReply.returnValue(); + QCOMPARE(podList.size(), 3); + QCOMPARE(podList, m.myPodList()); } void SchemeTest() |