summaryrefslogtreecommitdiffstats
path: root/src/testlib
diff options
context:
space:
mode:
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2022-03-21 14:33:47 +0100
committerGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>2022-03-24 07:19:54 +0100
commit56f2407dc00de4adb4e2479202a58f1a8f5b096f (patch)
treed3fd576546aacdb466791871ae9fb167d3249804 /src/testlib
parent3ec95f943af69d30b9e5722c8ce086e40401f54e (diff)
QAbstractItemModelTester: use the right types for some roles
Models are expected to return Qt::Alignment and Qt::CheckState when asked for the text alignment / check state roles, respectively. However, for legacy reasons, models may return `int` for either possibility. Extend the tester to cover this. Task-number: QTBUG-75172 Change-Id: I64bfc898466e8bb4d4a8a35726986ae610a8ffbe Pick-to: 6.2 6.3 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Diffstat (limited to 'src/testlib')
-rw-r--r--src/testlib/qabstractitemmodeltester.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/testlib/qabstractitemmodeltester.cpp b/src/testlib/qabstractitemmodeltester.cpp
index fd211b3fc5..a3ba99459d 100644
--- a/src/testlib/qabstractitemmodeltester.cpp
+++ b/src/testlib/qabstractitemmodeltester.cpp
@@ -41,6 +41,7 @@
#include "qabstractitemmodeltester.h"
#include <private/qobject_p.h>
+#include <private/qabstractitemmodel_p.h>
#include <QtCore/QPointer>
#include <QtCore/QAbstractItemModel>
#include <QtCore/QStack>
@@ -674,14 +675,14 @@ void QAbstractItemModelTesterPrivate::data()
// Check that the alignment is one we know about
QVariant textAlignmentVariant = model->data(model->index(0, 0), Qt::TextAlignmentRole);
if (textAlignmentVariant.isValid()) {
- Qt::Alignment alignment = qvariant_cast<Qt::Alignment>(textAlignmentVariant);
+ Qt::Alignment alignment = QtPrivate::legacyFlagValueFromModelData<Qt::Alignment>(textAlignmentVariant);
MODELTESTER_COMPARE(alignment, (alignment & (Qt::AlignHorizontal_Mask | Qt::AlignVertical_Mask)));
}
// Check that the "check state" is one we know about.
QVariant checkStateVariant = model->data(model->index(0, 0), Qt::CheckStateRole);
if (checkStateVariant.isValid()) {
- int state = checkStateVariant.toInt();
+ Qt::CheckState state = QtPrivate::legacyEnumValueFromModelData<Qt::CheckState>(checkStateVariant);
MODELTESTER_VERIFY(state == Qt::Unchecked
|| state == Qt::PartiallyChecked
|| state == Qt::Checked);