diff options
author | BogDan Vatra <bogdan@kdab.com> | 2018-06-23 18:27:48 -0400 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@qt.io> | 2018-11-27 04:11:23 +0000 |
commit | e4631d1a6aa20dfdd32fff2e3764223435fe427f (patch) | |
tree | dc7569aae55ee4ab280174b9734b78bc37ce245c /tests | |
parent | 41ed53bf6603858856124f9e8593b804f4e6d1c8 (diff) |
Handle null QAIM propertyv5.12.0-rc2v5.12.0
Even if a QAIM property is nullptr, we still need to treat it as a
model.
Task-number: QTBUG-71987
Change-Id: Iea8b3bfda88c564c561a7ab6ed293fd0540f5de4
Reviewed-by: Brett Stottlemyer <bstottle@ford.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/modelreplica/tst_modelreplicatest.cpp | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/tests/auto/modelreplica/tst_modelreplicatest.cpp b/tests/auto/modelreplica/tst_modelreplicatest.cpp index 0e6b2d2..1e3f5eb 100644 --- a/tests/auto/modelreplica/tst_modelreplicatest.cpp +++ b/tests/auto/modelreplica/tst_modelreplicatest.cpp @@ -35,17 +35,14 @@ class ModelreplicaTest : public QObject Q_OBJECT public: - ModelreplicaTest(); + ModelreplicaTest() = default; private Q_SLOTS: void basicFunctions(); void basicFunctions_data(); + void nullModel(); }; -ModelreplicaTest::ModelreplicaTest() -{ -} - void ModelreplicaTest::basicFunctions_data() { QTest::addColumn<bool>("templated"); @@ -58,7 +55,7 @@ void ModelreplicaTest::basicFunctions() QFETCH(bool, templated); QRemoteObjectRegistryHost host(QUrl("tcp://localhost:5555")); - QStringListModel *model = new QStringListModel(); + auto model = new QStringListModel(); model->setStringList(QStringList() << "Track1" << "Track2" << "Track3"); MediaSimpleSource source; source.setTracks(model); @@ -91,6 +88,31 @@ void ModelreplicaTest::basicFunctions() } } +void ModelreplicaTest::nullModel() +{ + QRemoteObjectRegistryHost host(QUrl("tcp://localhost:5555")); + MediaSimpleSource source; + host.enableRemoting(&source); + + QRemoteObjectNode client(QUrl("tcp://localhost:5555")); + const QScopedPointer<MediaReplica> replica(client.acquire<MediaReplica>()); + QVERIFY(replica->waitForSource(100)); + + auto model = new QStringListModel(this); + model->setStringList(QStringList() << "Track1" << "Track2" << "Track3"); + source.setTracks(model); + + QTRY_VERIFY(replica->tracks()); + QTRY_COMPARE(replica->tracks()->rowCount(), 3); + QTRY_COMPARE(replica->tracks()->data(replica->tracks()->index(0, 0)), "Track1"); + + model = new QStringListModel(this); + model->setStringList(QStringList() << "New Track1" << "New Track2" << "New Track3" << "New Track4"); + source.setTracks(model); + QTRY_COMPARE(replica->tracks()->rowCount(), 4); + QTRY_COMPARE(replica->tracks()->data(replica->tracks()->index(3, 0)), "New Track4"); +} + QTEST_MAIN(ModelreplicaTest) #include "tst_modelreplicatest.moc" |