diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/itemmodels/qabstractproxymodel/CMakeLists.txt | 3 | ||||
-rw-r--r-- | tests/auto/corelib/itemmodels/qabstractproxymodel/tst_qabstractproxymodel.cpp | 32 |
2 files changed, 33 insertions, 2 deletions
diff --git a/tests/auto/corelib/itemmodels/qabstractproxymodel/CMakeLists.txt b/tests/auto/corelib/itemmodels/qabstractproxymodel/CMakeLists.txt index 277556b915..6c782326cb 100644 --- a/tests/auto/corelib/itemmodels/qabstractproxymodel/CMakeLists.txt +++ b/tests/auto/corelib/itemmodels/qabstractproxymodel/CMakeLists.txt @@ -9,6 +9,7 @@ qt_internal_add_test(tst_qabstractproxymodel tst_qabstractproxymodel.cpp DEFINES QT_DISABLE_DEPRECATED_BEFORE=0 - PUBLIC_LIBRARIES + LIBRARIES Qt::Gui + Qt::TestPrivate ) diff --git a/tests/auto/corelib/itemmodels/qabstractproxymodel/tst_qabstractproxymodel.cpp b/tests/auto/corelib/itemmodels/qabstractproxymodel/tst_qabstractproxymodel.cpp index b6ee3c5d4a..dced357d61 100644 --- a/tests/auto/corelib/itemmodels/qabstractproxymodel/tst_qabstractproxymodel.cpp +++ b/tests/auto/corelib/itemmodels/qabstractproxymodel/tst_qabstractproxymodel.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the test suite of the Qt Toolkit. @@ -27,6 +27,7 @@ ****************************************************************************/ #include <QTest> +#include <QtTest/private/qpropertytesthelper_p.h> #include <qabstractproxymodel.h> #include <QItemSelection> #include <qstandarditemmodel.h> @@ -60,6 +61,7 @@ private slots: void testRoleNames(); void testSwappingRowsProxy(); void testDragAndDrop(); + void sourceModelBinding(); }; // Subclass that exposes the protected functions. @@ -500,6 +502,34 @@ void tst_QAbstractProxyModel::testDragAndDrop() QCOMPARE(proxy.supportedDropActions(), sourceModel.supportedDropActions()); } +void tst_QAbstractProxyModel::sourceModelBinding() +{ + SubQAbstractProxyModel proxy; + QStandardItemModel model1; + QStandardItemModel model2; + QTestPrivate::testReadWritePropertyBasics<QAbstractProxyModel, QAbstractItemModel *>( + proxy, &model1, &model2, "sourceModel"); + if (QTest::currentTestFailed()) { + qDebug("Failed model - model test"); + return; + } + + proxy.setSourceModel(&model2); + QTestPrivate::testReadWritePropertyBasics<QAbstractProxyModel, QAbstractItemModel *>( + proxy, &model1, nullptr, "sourceModel"); + if (QTest::currentTestFailed()) { + qDebug("Failed model - nullptr test"); + return; + } + + proxy.setSourceModel(&model1); + QTestPrivate::testReadWritePropertyBasics<QAbstractProxyModel, QAbstractItemModel *>( + proxy, nullptr, &model2, "sourceModel"); + if (QTest::currentTestFailed()) { + qDebug("Failed nullptr - model test"); + return; + } +} QTEST_MAIN(tst_QAbstractProxyModel) #include "tst_qabstractproxymodel.moc" |