summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/kernel')
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp4
-rw-r--r--tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp13
2 files changed, 17 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
index 717a7633f5..88b1bebb29 100644
--- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
+++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
@@ -661,6 +661,9 @@ template<> struct TestValueFactory<QMetaType::QUuid> {
template<> struct TestValueFactory<QMetaType::QModelIndex> {
static QModelIndex *create() { return new QModelIndex(); }
};
+template<> struct TestValueFactory<QMetaType::QPersistentModelIndex> {
+ static QPersistentModelIndex *create() { return new QPersistentModelIndex(); }
+};
template<> struct TestValueFactory<QMetaType::QRegExp> {
static QRegExp *create()
{
@@ -1735,6 +1738,7 @@ struct StreamingTraits
DECLARE_NONSTREAMABLE(void)
DECLARE_NONSTREAMABLE(void*)
DECLARE_NONSTREAMABLE(QModelIndex)
+DECLARE_NONSTREAMABLE(QPersistentModelIndex)
DECLARE_NONSTREAMABLE(QJsonValue)
DECLARE_NONSTREAMABLE(QJsonObject)
DECLARE_NONSTREAMABLE(QJsonArray)
diff --git a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
index 32674c587c..1f5132d369 100644
--- a/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
+++ b/tests/auto/corelib/kernel/qvariant/tst_qvariant.cpp
@@ -248,6 +248,7 @@ private slots:
void movabilityTest();
void variantInVariant();
void userConversion();
+ void modelIndexConversion();
void forwardDeclare();
void debugStream_data();
@@ -3846,6 +3847,17 @@ void tst_QVariant::userConversion()
}
}
+void tst_QVariant::modelIndexConversion()
+{
+ QVariant modelIndexVariant = QModelIndex();
+ QVERIFY(modelIndexVariant.canConvert(QMetaType::QPersistentModelIndex));
+ QVERIFY(modelIndexVariant.convert(QMetaType::QPersistentModelIndex));
+ QCOMPARE(modelIndexVariant.type(), QVariant::PersistentModelIndex);
+ QVERIFY(modelIndexVariant.canConvert(QMetaType::QModelIndex));
+ QVERIFY(modelIndexVariant.convert(QMetaType::QModelIndex));
+ QCOMPARE(modelIndexVariant.type(), QVariant::ModelIndex);
+}
+
class Forward;
Q_DECLARE_OPAQUE_POINTER(Forward*)
Q_DECLARE_METATYPE(Forward*)
@@ -4073,6 +4085,7 @@ void tst_QVariant::implicitConstruction()
F(EasingCurve) \
F(Uuid) \
F(ModelIndex) \
+ F(PersistentModelIndex) \
F(RegularExpression) \
F(JsonValue) \
F(JsonObject) \