diff options
Diffstat (limited to 'tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp')
-rw-r--r-- | tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp | 160 |
1 files changed, 124 insertions, 36 deletions
diff --git a/tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp b/tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp index aed84cb14e..d777d69d3c 100644 --- a/tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp +++ b/tests/auto/corelib/serialization/qdatastream/tst_qdatastream.cpp @@ -121,9 +121,15 @@ private slots: void stream_Map_data(); void stream_Map(); + void stream_MultiMap_data(); + void stream_MultiMap(); + void stream_Hash_data(); void stream_Hash(); + void stream_MultiHash_data(); + void stream_MultiHash(); + void stream_qint64_data(); void stream_qint64(); @@ -180,7 +186,7 @@ private slots: void status_QHash_QMap(); - void status_QLinkedList_QList_QVector(); + void status_QList_QVector(); void streamToAndFromQByteArray(); @@ -230,7 +236,9 @@ private: void writeQRegularExpression(QDataStream *dev); #endif void writeMap(QDataStream* dev); + void writeMultiMap(QDataStream* dev); void writeHash(QDataStream* dev); + void writeMultiHash(QDataStream* dev); void writeqint64(QDataStream *s); void writeQIcon(QDataStream *s); void writeQEasingCurve(QDataStream *s); @@ -262,7 +270,9 @@ private: void readQRegularExpression(QDataStream *s); #endif void readMap(QDataStream *s); + void readMultiMap(QDataStream *s); void readHash(QDataStream *s); + void readMultiHash(QDataStream *s); void readqint64(QDataStream *s); void readQIcon(QDataStream *s); void readQEasingCurve(QDataStream *s); @@ -650,16 +660,10 @@ static Map MapData(int index) map.insert(2, "bbb"); map.insert(3, "cccccc"); break; - case 2: - map.insert(1, "a"); - map.insert(2, "one"); - map.insertMulti(2, "two"); - map.insertMulti(2, "three"); - map.insert(3, "cccccc"); } return map; } -#define MAX_MAP_DATA 3 +#define MAX_MAP_DATA 2 void tst_QDataStream::stream_Map_data() { @@ -689,6 +693,60 @@ void tst_QDataStream::readMap(QDataStream *s) QCOMPARE(S, test); } +typedef QMultiMap<int, QString> MultiMap; + +static MultiMap MultiMapData(int index) +{ + MultiMap map; + + switch (index) { + case 0: + default: + break; + case 1: + map.insert(1, "a"); + map.insert(2, "bbb"); + map.insert(3, "cccccc"); + break; + case 2: + map.insert(1, "a"); + map.insert(2, "one"); + map.insert(2, "two"); + map.insert(2, "three"); + map.insert(3, "cccccc"); + } + return map; +} +#define MAX_MULTIMAP_DATA 3 + +void tst_QDataStream::stream_MultiMap_data() +{ + stream_data(MAX_MULTIMAP_DATA); +} + +void tst_QDataStream::stream_MultiMap() +{ + STREAM_IMPL(MultiMap); +} + +void tst_QDataStream::writeMultiMap(QDataStream* s) +{ + MultiMap test(MultiMapData(dataIndex(QTest::currentDataTag()))); + *s << test; + *s << test; +} + +void tst_QDataStream::readMultiMap(QDataStream *s) +{ + MultiMap S; + MultiMap test(MultiMapData(dataIndex(QTest::currentDataTag()))); + + *s >> S; + QCOMPARE(S, test); + *s >> S; + QCOMPARE(S, test); +} + // ************************************ typedef QHash<int, QString> Hash; @@ -706,16 +764,10 @@ static Hash HashData(int index) map.insert(2, "bbb"); map.insert(3, "cccccc"); break; - case 2: - map.insert(1, "a"); - map.insert(2, "one"); - map.insertMulti(2, "two"); - map.insertMulti(2, "three"); - map.insert(3, "cccccc"); } return map; } -#define MAX_HASH_DATA 3 +#define MAX_HASH_DATA 2 void tst_QDataStream::stream_Hash_data() { @@ -745,6 +797,60 @@ void tst_QDataStream::readHash(QDataStream *s) QCOMPARE(S, test); } +typedef QMultiHash<int, QString> MultiHash; + +static MultiHash MultiHashData(int index) +{ + MultiHash map; + + switch (index) { + case 0: + default: + break; + case 1: + map.insert(1, "a"); + map.insert(2, "bbb"); + map.insert(3, "cccccc"); + break; + case 2: + map.insert(1, "a"); + map.insert(2, "one"); + map.insert(2, "two"); + map.insert(2, "three"); + map.insert(3, "cccccc"); + } + return map; +} +#define MAX_MULTIHASH_DATA 3 + +void tst_QDataStream::stream_MultiHash_data() +{ + stream_data(MAX_HASH_DATA); +} + +void tst_QDataStream::stream_MultiHash() +{ + STREAM_IMPL(MultiHash); +} + +void tst_QDataStream::writeMultiHash(QDataStream* s) +{ + MultiHash test(MultiHashData(dataIndex(QTest::currentDataTag()))); + *s << test; + *s << test; +} + +void tst_QDataStream::readMultiHash(QDataStream *s) +{ + MultiHash S; + MultiHash test(MultiHashData(dataIndex(QTest::currentDataTag()))); + + *s >> S; + QCOMPARE(S, test); + *s >> S; + QCOMPARE(S, test); +} + // ************************************ static QEasingCurve QEasingCurveData(int index) @@ -2327,6 +2433,7 @@ void tst_QDataStream::setVersion() QDataStream latest; QFETCH(int, vers); +#if QT_CONFIG(shortcut) /* Test QKeySequence. */ @@ -2351,6 +2458,7 @@ void tst_QDataStream::setVersion() } QCOMPARE(deadbeef, 0xDEADBEEF); } +#endif // QT_CONFIG(shortcut) /* Test QPalette. @@ -3064,24 +3172,6 @@ void tst_QDataStream::status_QHash_QMap() } \ } \ { \ - LinkedList expectedLinkedList; \ - for (int i = 0; i < expectedList.count(); ++i) \ - expectedLinkedList << expectedList.at(i); \ - QByteArray ba = byteArray; \ - QDataStream stream(&ba, QIODevice::ReadOnly); \ - if (inTransaction) \ - stream.startTransaction(); \ - stream.setStatus(initialStatus); \ - stream >> linkedList; \ - QCOMPARE((int)stream.status(), (int)expectedStatus); \ - if (!inTransaction || stream.commitTransaction()) { \ - QCOMPARE(linkedList.size(), expectedLinkedList.size()); \ - QCOMPARE(linkedList, expectedLinkedList); \ - } else { \ - QVERIFY(linkedList.isEmpty()); \ - } \ - } \ - { \ Vector expectedVector; \ for (int i = 0; i < expectedList.count(); ++i) \ expectedVector << expectedList.at(i); \ @@ -3103,12 +3193,10 @@ void tst_QDataStream::status_QHash_QMap() break; \ } -void tst_QDataStream::status_QLinkedList_QList_QVector() +void tst_QDataStream::status_QList_QVector() { - typedef QLinkedList<QString> LinkedList; typedef QList<QString> List; typedef QVector<QString> Vector; - LinkedList linkedList; List list; Vector vector; |