diff options
author | Liang Qi <liang.qi@qt.io> | 2016-06-17 10:53:42 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-06-17 10:53:42 +0200 |
commit | 3cb56800d581dabd18e354a24f018c55bd91f748 (patch) | |
tree | 9b8e95cf62e22026463a0f87a3625b279f457aad /tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp | |
parent | aed7540d45096791d1a824f500694a15426fd94b (diff) | |
parent | 3d8c8daae109fbd6d60e43c3d4457b581e5e62a3 (diff) |
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp
Change-Id: If899cda251b4dc8b8a7c6764520e88ab719737cd
Diffstat (limited to 'tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp')
-rw-r--r-- | tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp b/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp index 912d782ffa..4a5aead17a 100644 --- a/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp +++ b/tests/auto/corelib/io/qdatastream/tst_qdatastream.cpp @@ -2721,10 +2721,11 @@ void tst_QDataStream::status_QBitArray() QCOMPARE(str, expectedString); } -#define MAP_TEST(byteArray, expectedStatus, expectedHash) \ +#define MAP_TEST(byteArray, initialStatus, expectedStatus, expectedHash) \ { \ QByteArray ba = byteArray; \ QDataStream stream(&ba, QIODevice::ReadOnly); \ + stream.setStatus(initialStatus); \ stream >> hash; \ QCOMPARE((int)stream.status(), (int)expectedStatus); \ QCOMPARE(hash.size(), expectedHash.size()); \ @@ -2737,6 +2738,7 @@ void tst_QDataStream::status_QBitArray() for (; it != expectedHash.constEnd(); ++it) \ expectedMap.insert(it.key(), it.value()); \ QDataStream stream(&ba, QIODevice::ReadOnly); \ + stream.setStatus(initialStatus); \ stream >> map; \ QCOMPARE((int)stream.status(), (int)expectedStatus); \ QCOMPARE(map.size(), expectedMap.size()); \ @@ -2758,25 +2760,30 @@ void tst_QDataStream::status_QHash_QMap() hash2.insert("L", "MN"); // ok - MAP_TEST(QByteArray("\x00\x00\x00\x00", 4), QDataStream::Ok, StringHash()); - MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", 12), QDataStream::Ok, hash1); + MAP_TEST(QByteArray("\x00\x00\x00\x00", 4), QDataStream::Ok, QDataStream::Ok, StringHash()); + MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", 12), QDataStream::Ok, QDataStream::Ok, hash1); MAP_TEST(QByteArray("\x00\x00\x00\x02\x00\x00\x00\x02\x00J\x00\x00\x00\x02\x00K" - "\x00\x00\x00\x02\x00L\x00\x00\x00\x04\x00M\x00N", 30), QDataStream::Ok, hash2); + "\x00\x00\x00\x02\x00L\x00\x00\x00\x04\x00M\x00N", 30), QDataStream::Ok, QDataStream::Ok, hash2); // past end - MAP_TEST(QByteArray(), QDataStream::ReadPastEnd, StringHash()); - MAP_TEST(QByteArray("\x00", 1), QDataStream::ReadPastEnd, StringHash()); - MAP_TEST(QByteArray("\x00\x00", 2), QDataStream::ReadPastEnd, StringHash()); - MAP_TEST(QByteArray("\x00\x00\x00", 3), QDataStream::ReadPastEnd, StringHash()); - MAP_TEST(QByteArray("\x00\x00\x00\x01", 4), QDataStream::ReadPastEnd, StringHash()); + MAP_TEST(QByteArray(), QDataStream::Ok, QDataStream::ReadPastEnd, StringHash()); + MAP_TEST(QByteArray("\x00", 1), QDataStream::Ok, QDataStream::ReadPastEnd, StringHash()); + MAP_TEST(QByteArray("\x00\x00", 2), QDataStream::Ok, QDataStream::ReadPastEnd, StringHash()); + MAP_TEST(QByteArray("\x00\x00\x00", 3), QDataStream::Ok, QDataStream::ReadPastEnd, StringHash()); + MAP_TEST(QByteArray("\x00\x00\x00\x01", 4), QDataStream::Ok, QDataStream::ReadPastEnd, StringHash()); for (int i = 4; i < 12; ++i) { - MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", i), QDataStream::ReadPastEnd, StringHash()); + MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", i), QDataStream::Ok, QDataStream::ReadPastEnd, StringHash()); } // corrupt data - MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x01", 8), QDataStream::ReadCorruptData, StringHash()); + MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x01", 8), QDataStream::Ok, QDataStream::ReadCorruptData, StringHash()); MAP_TEST(QByteArray("\x00\x00\x00\x02\x00\x00\x00\x01\x00J\x00\x00\x00\x01\x00K" - "\x00\x00\x00\x01\x00L\x00\x00\x00\x02\x00M\x00N", 30), QDataStream::ReadCorruptData, StringHash()); + "\x00\x00\x00\x01\x00L\x00\x00\x00\x02\x00M\x00N", 30), QDataStream::Ok, QDataStream::ReadCorruptData, StringHash()); + + // test the previously latched error status is not affected by reading + MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", 12), QDataStream::ReadPastEnd, QDataStream::ReadPastEnd, hash1); + MAP_TEST(QByteArray("\x00\x00\x00\x01", 4), QDataStream::ReadCorruptData, QDataStream::ReadCorruptData, StringHash()); + MAP_TEST(QByteArray("\x00\x00\x00\x01\x00\x00\x00\x01", 8), QDataStream::ReadPastEnd, QDataStream::ReadPastEnd, StringHash()); } #define LIST_TEST(byteArray, expectedStatus, expectedList) \ |