summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-08-04 10:35:46 +0200
committerLars Knoll <lars.knoll@qt.io>2020-08-24 00:19:05 +0200
commit1697fbdf05ff643d617a9ba1614454926e86a3d9 (patch)
tree1c090fd9254ccedf33e724158e115157998304cf /tests/auto/corelib/kernel
parent92b37676328a960bc092b1f3834233c550376457 (diff)
Deprecate the static int based API in QMetaType
And remove one of the type id to name mapping that still existed in QMetaType. QMetaTypeInterface can provide that, so there's no need to have a second copy of the data. qMetaTypeTypeInternal() can still map all the names of all builtin types to ids. That functionality is for now still required by moc and can't be removed yet. Change-Id: Ib4f8e9c71e1e7d99d52da9e44477c9a1f1805e57 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'tests/auto/corelib/kernel')
-rw-r--r--tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp6
-rw-r--r--tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp2
-rw-r--r--tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp12
-rw-r--r--tests/auto/corelib/kernel/qmetatype/.prev_CMakeLists.txt1
-rw-r--r--tests/auto/corelib/kernel/qmetatype/CMakeLists.txt1
-rw-r--r--tests/auto/corelib/kernel/qmetatype/qmetatype.pro2
-rw-r--r--tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp16
7 files changed, 21 insertions, 19 deletions
diff --git a/tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp b/tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp
index 057f61e6c1..03c76aba5d 100644
--- a/tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp
+++ b/tests/auto/corelib/kernel/qmetamethod/tst_qmetamethod.cpp
@@ -629,7 +629,7 @@ void tst_QMetaMethod::method()
QVERIFY(method.typeName() != 0);
if (QByteArray(method.typeName()) != returnTypeName) {
// QMetaMethod should always produce a semantically equivalent typename
- QCOMPARE(QMetaType::type(method.typeName()), QMetaType::type(returnTypeName));
+ QCOMPARE(QMetaType::fromName(method.typeName()), QMetaType::fromName(returnTypeName));
}
if (method.parameterTypes() != parameterTypeNames) {
@@ -637,8 +637,8 @@ void tst_QMetaMethod::method()
QList<QByteArray> actualTypeNames = method.parameterTypes();
QCOMPARE(actualTypeNames.size(), parameterTypeNames.size());
for (int i = 0; i < parameterTypeNames.size(); ++i) {
- QCOMPARE(QMetaType::type(actualTypeNames.at(i)),
- QMetaType::type(parameterTypeNames.at(i)));
+ QCOMPARE(QMetaType::fromName(actualTypeNames.at(i)),
+ QMetaType::fromName(parameterTypeNames.at(i)));
}
}
QCOMPARE(method.parameterNames(), parameterNames);
diff --git a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
index 06e586322f..fde1255443 100644
--- a/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
+++ b/tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp
@@ -1452,7 +1452,7 @@ void tst_QMetaObject::customPropertyType()
QCOMPARE(prop.metaType(), QMetaType::fromType<MyStruct>());
qRegisterMetaType<MyStruct>("MyStruct");
- QCOMPARE(prop.userType(), QMetaType::type("MyStruct"));
+ QCOMPARE(prop.userType(), QMetaType::fromName("MyStruct").id());
prop = metaObject()->property(metaObject()->indexOfProperty("value4"));
QCOMPARE(prop.type(), QVariant::List);
diff --git a/tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp b/tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp
index 9bce6a7a28..06bca28001 100644
--- a/tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp
+++ b/tests/auto/corelib/kernel/qmetaproperty/tst_qmetaproperty.cpp
@@ -211,20 +211,20 @@ Q_DECLARE_OPERATORS_FOR_FLAGS(EnumFlagsTester::TestFlags)
void tst_QMetaProperty::readAndWriteWithLazyRegistration()
{
- QCOMPARE(QMetaType::type("CustomReadObject*"), int(QMetaType::UnknownType));
- QCOMPARE(QMetaType::type("CustomWriteObject*"), int(QMetaType::UnknownType));
+ QVERIFY(!QMetaType::fromName("CustomReadObject*").isValid());
+ QVERIFY(!QMetaType::fromName("CustomWriteObject*").isValid());
TypeLazyRegistration o;
QVERIFY(o.property("read").isValid());
- QVERIFY(QMetaType::type("CustomReadObject*") != QMetaType::UnknownType);
- QCOMPARE(QMetaType::type("CustomWriteObject*"), int(QMetaType::UnknownType));
+ QVERIFY(QMetaType::fromName("CustomReadObject*").isValid());
+ QVERIFY(!QMetaType::fromName("CustomWriteObject*").isValid());
CustomWriteObjectChild data;
QVariant value = QVariant::fromValue(&data); // this register CustomWriteObjectChild
// check if base classes are not registered automatically, otherwise this test would be meaningless
- QCOMPARE(QMetaType::type("CustomWriteObject*"), int(QMetaType::UnknownType));
+ QVERIFY(!QMetaType::fromName("CustomWriteObject*").isValid());
QVERIFY(o.setProperty("write", value));
- QVERIFY(QMetaType::type("CustomWriteObject*") != QMetaType::UnknownType);
+ QVERIFY(QMetaType::fromName("CustomWriteObject*").isValid());
QCOMPARE(o.property("write").value<CustomWriteObjectChild*>(), &data);
}
diff --git a/tests/auto/corelib/kernel/qmetatype/.prev_CMakeLists.txt b/tests/auto/corelib/kernel/qmetatype/.prev_CMakeLists.txt
index a6a3bb58c1..16188d2d33 100644
--- a/tests/auto/corelib/kernel/qmetatype/.prev_CMakeLists.txt
+++ b/tests/auto/corelib/kernel/qmetatype/.prev_CMakeLists.txt
@@ -16,6 +16,7 @@ qt_add_test(tst_qmetatype
../../../other/qvariant_common
PUBLIC_LIBRARIES
Qt::CorePrivate
+ Qt::Gui
TESTDATA ${test_data}
)
diff --git a/tests/auto/corelib/kernel/qmetatype/CMakeLists.txt b/tests/auto/corelib/kernel/qmetatype/CMakeLists.txt
index a6a3bb58c1..16188d2d33 100644
--- a/tests/auto/corelib/kernel/qmetatype/CMakeLists.txt
+++ b/tests/auto/corelib/kernel/qmetatype/CMakeLists.txt
@@ -16,6 +16,7 @@ qt_add_test(tst_qmetatype
../../../other/qvariant_common
PUBLIC_LIBRARIES
Qt::CorePrivate
+ Qt::Gui
TESTDATA ${test_data}
)
diff --git a/tests/auto/corelib/kernel/qmetatype/qmetatype.pro b/tests/auto/corelib/kernel/qmetatype/qmetatype.pro
index ae36fb07f9..f9c08377dd 100644
--- a/tests/auto/corelib/kernel/qmetatype/qmetatype.pro
+++ b/tests/auto/corelib/kernel/qmetatype/qmetatype.pro
@@ -1,6 +1,6 @@
CONFIG += testcase
TARGET = tst_qmetatype
-QT = core-private testlib
+QT = core-private testlib gui
INCLUDEPATH += $$PWD/../../../other/qvariant_common
SOURCES = tst_qmetatype.cpp
TESTDATA=./typeFlags.bin
diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
index caeb9f656f..49f9be0ce2 100644
--- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
+++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
@@ -268,8 +268,8 @@ struct GenericGadgetType : BaseGenericType
if (_c == QMetaObject::ReadProperty) {
if (_id < properties.size()) {
const auto &prop = properties.at(_id);
- QMetaType::destruct(int(prop.userType()), _a[0]);
- QMetaType::construct(int(prop.userType()), _a[0], prop.constData());
+ prop.metaType().destruct(_a[0]);
+ prop.metaType().construct(_a[0], prop.constData());
}
} else if (_c == QMetaObject::WriteProperty) {
if (_id < properties.size()) {
@@ -402,7 +402,7 @@ void tst_QMetaType::registerGadget(const char *name, const QList<GadgetPropertyT
gadgetBuilder.setFlags(metaObjectflags);
auto dynamicGadgetProperties = std::make_shared<GenericGadgetType>();
for (const auto &prop : gadgetProperties) {
- int propertyType = QMetaType::type(prop.type);
+ int propertyType = QMetaType::fromName(prop.type).id();
dynamicGadgetProperties->properties.push_back(QVariant(QMetaType(propertyType)));
auto dynamicPropery = gadgetBuilder.addProperty(prop.name, prop.type);
dynamicPropery.setWritable(true);
@@ -715,6 +715,9 @@ void tst_QMetaType::typeName()
QFETCH(int, aType);
QFETCH(QString, aTypeName);
+ if (aType >= QMetaType::FirstWidgetsType)
+ QSKIP("The test doesn't link against QtWidgets.");
+
const char *rawname = QMetaType::typeName(aType);
QString name = QString::fromLatin1(rawname);
@@ -753,6 +756,8 @@ void tst_QMetaType::type()
QFETCH(int, aType);
QFETCH(QByteArray, aTypeName);
+ if (aType >= QMetaType::FirstWidgetsType)
+ QSKIP("The test doesn't link against QtWidgets.");
// QMetaType::type(QByteArray)
QCOMPARE(QMetaType::type(aTypeName), aType);
// QMetaType::type(const char *)
@@ -1978,11 +1983,6 @@ DECLARE_NONSTREAMABLE(QPersistentModelIndex)
DECLARE_NONSTREAMABLE(QObject*)
DECLARE_NONSTREAMABLE(QWidget*)
-#define DECLARE_GUI_CLASS_NONSTREAMABLE(MetaTypeName, MetaTypeId, RealType) \
- DECLARE_NONSTREAMABLE(RealType)
-QT_FOR_EACH_STATIC_GUI_CLASS(DECLARE_GUI_CLASS_NONSTREAMABLE)
-#undef DECLARE_GUI_CLASS_NONSTREAMABLE
-
#define DECLARE_WIDGETS_CLASS_NONSTREAMABLE(MetaTypeName, MetaTypeId, RealType) \
DECLARE_NONSTREAMABLE(RealType)
QT_FOR_EACH_STATIC_WIDGETS_CLASS(DECLARE_WIDGETS_CLASS_NONSTREAMABLE)