sysdep.h moved to endianhelper.h for MsgPackStream

MsgPackStream integers fixed (unpack_upto_* removed, bad idea)
MsgPackStream::test_array added
This commit is contained in:
Isaikin Roman
2015-06-10 17:42:06 +03:00
parent 9e61498ca2
commit 318aa870cd
11 changed files with 199 additions and 221 deletions

View File

@@ -17,6 +17,7 @@ private Q_SLOTS:
void test_float();
void test_double();
void test_bin();
void test_array();
};
void StreamTest::test_unpack_integers()
@@ -307,5 +308,64 @@ void StreamTest::test_bin()
QVERIFY(stream.status() == MsgPackStream::Ok);
}
void StreamTest::test_array()
{
{
QList<qint64> list;
list << 0 << 127 << -1 << -31 << 128 << 255 << -33 << -128 << 256;
list << 65535 << -129 << -32768 << 65536;
list << -32769 << (qint32)-2147483648;
list << (qint64)-2147483649;
list << std::numeric_limits<qint64>::min();
QByteArray packed;
{
MsgPackStream stream(&packed, QIODevice::WriteOnly);
stream << list;
QVERIFY(stream.status() == MsgPackStream::Ok);
}
QVariantList list2 = MsgPack::unpack(packed).toList();
QVERIFY(list.size() == list2.size());
for (int i = 0; i < list.size(); ++i)
QVERIFY(list[i] == list2[i]);
packed = MsgPack::pack(list2);
MsgPackStream stream(packed);
QList<qint64> list3;
stream >> list3;
QVERIFY(stream.status() == MsgPackStream::Ok);
QVERIFY(list2.size() == list3.size());
for (int i = 0; i < list2.size(); ++i)
QVERIFY(list2[i] == list3[i]);
}
{
QList<quint64> list;
list << 6;
list << std::numeric_limits<quint64>::min();
list << std::numeric_limits<quint64>::max();
list << -4;
QByteArray packed;
{
MsgPackStream stream(&packed, QIODevice::WriteOnly);
stream << list;
QVERIFY(stream.status() == MsgPackStream::Ok);
}
QVariantList list2 = MsgPack::unpack(packed).toList();
QVERIFY(list.size() == list2.size());
for (int i = 0; i < list.size(); ++i)
QVERIFY(list[i] == list2[i]);
packed = MsgPack::pack(list2);
MsgPackStream stream(packed);
QList<quint64> list3;
stream >> list3;
QVERIFY(stream.status() == MsgPackStream::Ok);
QVERIFY(list2.size() == list3.size());
for (int i = 0; i < list2.size(); ++i)
QVERIFY(list2[i] == list3[i]);
}
}
QTEST_APPLESS_MAIN(StreamTest)
#include "stream_test.moc"