summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/plugin/quuid
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2023-08-15 17:18:55 +0200
committerIvan Solovev <ivan.solovev@qt.io>2023-08-18 18:00:09 +0200
commit470b2b8ad9f28eaf24518dfa3f48cc13fcdc421f (patch)
tree87795e68fd815b1666ad451f884a345a0858da99 /tests/auto/corelib/plugin/quuid
parente6a36f21a3c44943afc8c60b9dc2e40976fcdb49 (diff)
QUuid: convert bswap(Id128Bytes) to a hidden friend of Id128Bytes
... and rename it to qbswap(), thus enabling the endian conversions for Id128bytes via q{To,From}{Little,Big}Endian() functions. Found during Qt 6.6 API Review. Pick-to: 6.6 Change-Id: Ie320cee52ec2b9de0aaa112adec8febb7f5b68a2 Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Diffstat (limited to 'tests/auto/corelib/plugin/quuid')
-rw-r--r--tests/auto/corelib/plugin/quuid/tst_quuid.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/auto/corelib/plugin/quuid/tst_quuid.cpp b/tests/auto/corelib/plugin/quuid/tst_quuid.cpp
index 80924daa60..b637596536 100644
--- a/tests/auto/corelib/plugin/quuid/tst_quuid.cpp
+++ b/tests/auto/corelib/plugin/quuid/tst_quuid.cpp
@@ -244,6 +244,23 @@ void tst_QUuid::id128()
leBytesA.data[15 - i] = bytesA.data[i];
QCOMPARE(QUuid(leBytesA, QSysInfo::LittleEndian), uuidA);
QVERIFY(memcmp(uuidA.toBytes(QSysInfo::LittleEndian).data, leBytesA.data, sizeof(leBytesA)) == 0);
+
+ // check the new q{To,From}{Big,Little}Endian() overloads
+ QUuid::Id128Bytes roundtrip = qFromLittleEndian(qToLittleEndian(bytesA));
+ QVERIFY(memcmp(roundtrip.data, bytesA.data, sizeof(bytesA)) == 0);
+ roundtrip = qFromBigEndian(qToBigEndian(bytesA));
+ QVERIFY(memcmp(roundtrip.data, bytesA.data, sizeof(bytesA)) == 0);
+#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
+ const QUuid::Id128Bytes beBytesA = qToBigEndian(leBytesA);
+ QVERIFY(memcmp(beBytesA.data, bytesA.data, sizeof(beBytesA)) == 0);
+ const QUuid::Id128Bytes otherLeBytesA = qFromBigEndian(bytesA);
+ QVERIFY(memcmp(otherLeBytesA.data, leBytesA.data, sizeof(leBytesA)) == 0);
+#else // Q_BIG_ENDIAN
+ const QUuid::Id128Bytes otherLeBytesA = qToLittleEndian(bytesA);
+ QVERIFY(memcmp(otherLeBytesA.data, leBytesA.data, sizeof(leBytesA)) == 0);
+ const QUuid::Id128Bytes beBytesA = qFromLittleEndian(leBytesA);
+ QVERIFY(memcmp(beBytesA.data, bytesA.data, sizeof(beBytesA)) == 0);
+#endif // Q_BYTE_ORDER == Q_LITTLE_ENDIAN
}
void tst_QUuid::uint128()