Qt4 user type fixes

QDate, QTime, QDateTime, QPoint, QSize, QRect isNull() checks
This commit is contained in:
Roman committed 2015-06-29 19:52:59 +03:00
1 parent ce6ddab5e4
commit 63c15f9ead
3 files changed
+74 -31

No files matched your search

+31 -13
View File
@@ -19,11 +19,11 @@ private Q_SLOTS:
void QtTypesTest::test_qtime()
{
MsgPack::registerType(QMetaType::QTime, 0x77);
QTime t(0, 0, 0, 0);
QTime t;
QByteArray packed = MsgPack::pack(t);
QTime t2 = MsgPack::unpack(packed).toTime();
QVERIFY(t == t2);
QVERIFY(packed.size() == 4);
QVERIFY(packed.size() == 3); // user, type, 0xc0
t = QTime(12, 01, 01, 0);
packed = MsgPack::pack(t);
@@ -47,11 +47,11 @@ void QtTypesTest::test_qtime()
void QtTypesTest::test_qdate()
{
MsgPack::registerType(QMetaType::QDate, 0x78);
QDate d;
QDate d = QDate();
QByteArray packed = MsgPack::pack(d);
QDate d2 = MsgPack::unpack(packed).toDate();
QVERIFY(d == d2);
QVERIFY(packed.size() == 6);
QVERIFY(packed.size() == 3); // user, type, 0xc0
d = QDate(1234, 12, 1);
packed = MsgPack::pack(d);
@@ -67,18 +67,23 @@ void QtTypesTest::test_qdate()
void QtTypesTest::test_qpoint()
{
MsgPack::registerType(QMetaType::QPoint, 0x79);
QPoint pt(1, 2);
QByteArray packed = MsgPack::pack(pt);
QPoint pt;
QByteArray packed = MsgPack::pack(pt);
QVERIFY(packed.size() == 3);
QPoint pt2 = MsgPack::unpack(packed).toPoint();
QVERIFY(pt == pt2);
pt = QPoint(1, 2);
packed = MsgPack::pack(pt);
QVERIFY(packed.size() == 4);
QPoint pt2 = MsgPack::unpack(packed).toPoint();
pt2 = MsgPack::unpack(packed).toPoint();
QVERIFY(pt == pt2);
pt = QPoint(1234, 5678);
packed = MsgPack::pack(pt);
QVERIFY(packed.size() == 9);
pt2 = MsgPack::unpack(packed).toPoint();
qDebug() << pt << pt2;
qDebug() << packed.toHex() << packed.size();
QVERIFY(pt == pt2);
pt = QPoint(std::numeric_limits<qint32>::max(), std::numeric_limits<qint32>::max());
@@ -91,12 +96,19 @@ void QtTypesTest::test_qpoint()
void QtTypesTest::test_qsize()
{
MsgPack::registerType(QMetaType::QSize, 80);
QSize sz(1, 2);
QSize sz;
QByteArray packed = MsgPack::pack(sz);
QVERIFY(packed.size() == 4);
// QVERIFY(packed.size() == 3);
QSize sz2 = MsgPack::unpack(packed).toSize();
QVERIFY(sz == sz2);
sz = QSize(1, 2);
packed = MsgPack::pack(sz);
QVERIFY(packed.size() == 4);
sz2 = MsgPack::unpack(packed).toSize();
QVERIFY(sz == sz2);
sz = QSize(1234, 5678);
packed = MsgPack::pack(sz);
QVERIFY(packed.size() == 9);
@@ -107,12 +119,18 @@ void QtTypesTest::test_qsize()
void QtTypesTest::test_qrect()
{
MsgPack::registerType(QMetaType::QRect, 81);
QRect r(1, 2, 3, 4);
QRect r;
QByteArray packed = MsgPack::pack(r);
QVERIFY(packed.size() == 6);
QVERIFY(packed.size() == 3);
QRect r2 = MsgPack::unpack(packed).toRect();
QVERIFY(r == r2);
r = QRect(1, 2, 3, 4);
packed = MsgPack::pack(r);
QVERIFY(packed.size() == 6);
r2 = MsgPack::unpack(packed).toRect();
QVERIFY(r == r2);
qint32 max = std::numeric_limits<qint32>::max();
r = QRect(0, 0, max, max);
packed = MsgPack::pack(r);