From c53bf1b45e414f25037dad0d02f3829dd83c11f5 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Fri, 4 Nov 2022 21:08:32 -0700 Subject: [PATCH] qfloat16: add QDataStream tests Change-Id: I3d74c753055744deb8acfffd172494bf935864b8 Reviewed-by: Allan Sandfeld Jensen Reviewed-by: Edward Welbourne --- .../corelib/global/qfloat16/tst_qfloat16.cpp | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/auto/corelib/global/qfloat16/tst_qfloat16.cpp b/tests/auto/corelib/global/qfloat16/tst_qfloat16.cpp index ffd44b1ff8a..39470b7d30a 100644 --- a/tests/auto/corelib/global/qfloat16/tst_qfloat16.cpp +++ b/tests/auto/corelib/global/qfloat16/tst_qfloat16.cpp @@ -41,6 +41,7 @@ private slots: void properties(); void limits(); void mantissaOverflow(); + void dataStream(); }; void tst_qfloat16::fuzzyCompare_data() @@ -631,5 +632,29 @@ void tst_qfloat16::mantissaOverflow() QVERIFY(qIsNaN(f16)); } +void tst_qfloat16::dataStream() +{ + QByteArray ba; + QDataStream ds(&ba, QIODevice::ReadWrite); + ds << qfloat16(1.5) << qfloat16(-1); + QCOMPARE(ba.size(), 4); + QCOMPARE(ds.status(), QDataStream::Ok); + QCOMPARE(ba, QByteArray("\x3e\0\xbc\0", 4)); + + ds.device()->seek(0); + ds.resetStatus(); + ds.setByteOrder(QDataStream::LittleEndian); + ds << qfloat16(0) << qfloat16(-1); + QCOMPARE(ds.status(), QDataStream::Ok); + QCOMPARE(ba, QByteArray("\0\0\0\xbc", 4)); + + ds.device()->seek(0); + ds.resetStatus(); + qfloat16 zero = 1; + ds >> zero; + QCOMPARE(ds.status(), QDataStream::Ok); + QCOMPARE(zero, qfloat16(0)); +} + QTEST_APPLESS_MAIN(tst_qfloat16) #include "tst_qfloat16.moc"