summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMichael Brasser <mbrasser@ford.com>2018-08-06 13:03:22 -0500
committerBrett Stottlemyer <bstottle@ford.com>2018-08-14 16:41:51 +0000
commitd292f1d93ffef611a0a6e9f393251785e1e9b779 (patch)
tree55d93853017737df004c92d4d619b92c385f600c /tests
parent7d6ee33d5edd7f7c23d899dfc187f41cafe80540 (diff)
Fix issue proxying models
Change-Id: Ie3fd6a57559604aea231aad7936ffbaf9cdce185 Reviewed-by: Michael Brasser <michael.brasser@live.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/proxy/tst_proxy.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/auto/proxy/tst_proxy.cpp b/tests/auto/proxy/tst_proxy.cpp
index 0148fca..8022063 100644
--- a/tests/auto/proxy/tst_proxy.cpp
+++ b/tests/auto/proxy/tst_proxy.cpp
@@ -68,6 +68,8 @@ private Q_SLOTS:
host.enableRemoting<ParentClassSourceAPI>(&parent);
}
*/
+
+ void testTopLevelModel();
};
void ProxyTest::testProxy_data()
@@ -333,6 +335,35 @@ void ProxyTest::testProxy()
replica.reset();
}
+void ProxyTest::testTopLevelModel()
+{
+ QRemoteObjectRegistryHost registry(registryUrl);
+
+ //Setup Local Host
+ QRemoteObjectHost host(localHostUrl);
+ SET_NODE_NAME(host);
+ host.setRegistryUrl(registryUrl);
+
+ QStringListModel model;
+ model.setStringList(QStringList() << "Track1" << "Track2" << "Track3");
+ host.enableRemoting(&model, "trackList", QVector<int>() << Qt::DisplayRole);
+
+ QRemoteObjectHost proxyNode;
+ SET_NODE_NAME(proxyNode);
+ proxyNode.setHostUrl(tcpHostUrl);
+ proxyNode.proxy(registryUrl);
+
+ //Setup Local Replica
+ QRemoteObjectNode client;
+ SET_NODE_NAME(client);
+ client.connectToNode(tcpHostUrl);
+ QAbstractItemModelReplica *replica = client.acquireModel("trackList");
+ QSignalSpy tracksSpy(replica, &QAbstractItemModelReplica::initialized);
+ QVERIFY(tracksSpy.wait());
+ QTest::qWait(100);
+ QCOMPARE(replica->rowCount(), model.rowCount());
+}
+
QTEST_MAIN(ProxyTest)
#include "tst_proxy.moc"