mirror of
https://github.com/romixlab/qmsgpack.git
synced 2025-07-30 02:17:15 +02:00
Qt4 user type fixes
QDate, QTime, QDateTime, QPoint, QSize, QRect isNull() checks
This commit is contained in:
@ -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);
|
||||
|
Reference in New Issue
Block a user