diff options
author | Michael Brasser <mbrasser@ford.com> | 2018-08-06 13:03:22 -0500 |
---|---|---|
committer | Brett Stottlemyer <bstottle@ford.com> | 2018-08-14 16:41:51 +0000 |
commit | d292f1d93ffef611a0a6e9f393251785e1e9b779 (patch) | |
tree | 55d93853017737df004c92d4d619b92c385f600c /tests | |
parent | 7d6ee33d5edd7f7c23d899dfc187f41cafe80540 (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.cpp | 31 |
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" |