summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-11-16 09:12:21 +0100
committerLiang Qi <liang.qi@qt.io>2016-11-16 09:47:42 +0100
commit23ef4bab1faa867ba3614f0b5a325dc3a91550a1 (patch)
treec1f776ad4792bb8e3ce3688f509cb47cadbd006c /tests
parenta31a7e0b2b7b3de3e1867ad954ac7fad9531cc99 (diff)
parent498b1424ce273beed02c5e1c93ed0ffd610624b8 (diff)
Merge remote-tracking branch 'origin/5.7' into 5.8
Conflicts: src/plugins/canbus/peakcan/main.cpp src/plugins/canbus/tinycan/main.cpp src/serialbus/qcanbusframe.h Change-Id: I7a38350688086b5f5cd7072acccb3fa38af76f88
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qmodbuspdu/tst_qmodbuspdu.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/auto/qmodbuspdu/tst_qmodbuspdu.cpp b/tests/auto/qmodbuspdu/tst_qmodbuspdu.cpp
index 592a14e..f442344 100644
--- a/tests/auto/qmodbuspdu/tst_qmodbuspdu.cpp
+++ b/tests/auto/qmodbuspdu/tst_qmodbuspdu.cpp
@@ -844,6 +844,25 @@ private slots:
});
QCOMPARE(QModbusRequest::calculateDataSize(request), 27);
}
+
+ void testCalculateLongDataSize()
+ {
+ QByteArray longData = QByteArray(128, ' ');
+ longData[0] = longData.size();
+ const QModbusResponse response(QModbusResponse::ReadCoils, longData);
+ QCOMPARE(QModbusResponse::calculateDataSize(response), 1 + longData.size());
+
+ const QModbusRequest wfrRequest(QModbusPdu::WriteFileRecord, longData);
+ QCOMPARE(QModbusRequest::calculateDataSize(wfrRequest), 1 + longData.size());
+
+ longData = QByteArray(4 + 128, ' ');
+ longData[4] = 128;
+ const QModbusRequest wmcRequest(QModbusPdu::WriteMultipleCoils, longData);
+ QCOMPARE(QModbusRequest::calculateDataSize(wmcRequest), 1 + longData.size());
+
+ const QModbusRequest wmrRequest(QModbusPdu::WriteMultipleRegisters, longData);
+ QCOMPARE(QModbusRequest::calculateDataSize(wmrRequest), 1 + longData.size());
+ }
};
QTEST_MAIN(tst_QModbusPdu)