summaryrefslogtreecommitdiffstats
path: root/src/testlib/qabstractitemmodeltester.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/testlib/qabstractitemmodeltester.cpp')
-rw-r--r--src/testlib/qabstractitemmodeltester.cpp27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/testlib/qabstractitemmodeltester.cpp b/src/testlib/qabstractitemmodeltester.cpp
index 39db02831a..eb52d28d59 100644
--- a/src/testlib/qabstractitemmodeltester.cpp
+++ b/src/testlib/qabstractitemmodeltester.cpp
@@ -91,6 +91,7 @@ private:
QStack<Changing> insert;
QStack<Changing> remove;
+ bool useFetchMore = true;
bool fetchingMore;
enum class ChangeInFlight {
@@ -315,6 +316,20 @@ QAbstractItemModelTester::FailureReportingMode QAbstractItemModelTester::failure
return d->failureReportingMode;
}
+/*!
+ If \a value is true, enables dynamic population of the
+ tested model, which is the default.
+ If \a value is false, it disables it.
+
+ \since 6.4
+ \sa QAbstractItemModel::fetchMore()
+*/
+void QAbstractItemModelTester::setUseFetchMore(bool value)
+{
+ Q_D(QAbstractItemModelTester);
+ d->useFetchMore = value;
+}
+
bool QAbstractItemModelTester::verify(bool statement, const char *statementStr, const char *description, const char *file, int line)
{
Q_D(QAbstractItemModelTester);
@@ -349,9 +364,11 @@ void QAbstractItemModelTesterPrivate::nonDestructiveBasicTest()
MODELTESTER_VERIFY(!model->buddy(QModelIndex()).isValid());
model->canFetchMore(QModelIndex());
MODELTESTER_VERIFY(model->columnCount(QModelIndex()) >= 0);
- fetchingMore = true;
- model->fetchMore(QModelIndex());
- fetchingMore = false;
+ if (useFetchMore) {
+ fetchingMore = true;
+ model->fetchMore(QModelIndex());
+ fetchingMore = false;
+ }
Qt::ItemFlags flags = model->flags(QModelIndex());
MODELTESTER_VERIFY(flags == Qt::ItemIsDropEnabled || flags == 0);
model->hasChildren(QModelIndex());
@@ -529,7 +546,7 @@ void QAbstractItemModelTesterPrivate::checkChildren(const QModelIndex &parent, i
p = p.parent();
// For models that are dynamically populated
- if (model->canFetchMore(parent)) {
+ if (model->canFetchMore(parent) && useFetchMore) {
fetchingMore = true;
model->fetchMore(parent);
fetchingMore = false;
@@ -850,7 +867,7 @@ void QAbstractItemModelTesterPrivate::layoutChanged()
MODELTESTER_COMPARE(changeInFlight, ChangeInFlight::LayoutChanged);
changeInFlight = ChangeInFlight::None;
- for (int i = 0; i < changing.count(); ++i) {
+ for (int i = 0; i < changing.size(); ++i) {
QPersistentModelIndex p = changing[i];
MODELTESTER_COMPARE(model->index(p.row(), p.column(), p.parent()), QModelIndex(p));
}