From 60ea10e70b408b87243b5f0511b91c4848a7ab6f Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 1 Dec 2020 15:02:03 +0100 Subject: Add a way to check whether a metatype has datastream operators Add QMetaType::hasRegisteredDataStreamOperators() to complement the method to check whether a data stream operator exists. Fixes: QTBUG-82916 Change-Id: Ib2f841131b7c401d5a3ae76d49104e41697c4eac Reviewed-by: Fabian Kosmale --- tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tests/auto/corelib/kernel/qmetatype') diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp index b49f770919..8d5dcbb884 100644 --- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp +++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp @@ -2033,11 +2033,14 @@ void tst_QMetaType::saveAndLoadBuiltin() QCOMPARE(stream.status(), QDataStream::Ok); if (isStreamable) { + QVERIFY(QMetaType(type).hasRegisteredDataStreamOperators()); QVERIFY(QMetaType::load(stream, type, value)); // Hmmm, shouldn't it return false? // std::nullptr_t is nullary: it doesn't actually read anything if (type != QMetaType::Nullptr) QCOMPARE(stream.status(), QDataStream::ReadPastEnd); + } else { + QVERIFY(!QMetaType(type).hasRegisteredDataStreamOperators()); } stream.device()->seek(0); -- cgit v1.2.3