summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/itemmodels/qabstractproxymodel/CMakeLists.txt3
-rw-r--r--tests/auto/corelib/itemmodels/qabstractproxymodel/tst_qabstractproxymodel.cpp32
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"