summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qcanbusframe/tst_qcanbusframe.cpp44
1 files changed, 43 insertions, 1 deletions
diff --git a/tests/auto/qcanbusframe/tst_qcanbusframe.cpp b/tests/auto/qcanbusframe/tst_qcanbusframe.cpp
index 38c3784..1771325 100644
--- a/tests/auto/qcanbusframe/tst_qcanbusframe.cpp
+++ b/tests/auto/qcanbusframe/tst_qcanbusframe.cpp
@@ -54,6 +54,8 @@ private slots:
void tst_isValid_data();
void tst_isValid();
+ void tst_isValidSize_data();
+ void tst_isValidSize();
void tst_toString_data();
void tst_toString();
@@ -330,7 +332,7 @@ void tst_QCanBusFrame::tst_isValid_data()
<< QByteArray(9, 0) << 512u << false << false;
QTest::newRow("data frame CAN FD long payload")
<< QCanBusFrame::DataFrame << true
- << QByteArray(9, 0) << 512u << false << true;
+ << QByteArray(12, 0) << 512u << false << true;
QTest::newRow("data frame CAN FD too long payload")
<< QCanBusFrame::DataFrame << false
<< QByteArray(65, 0) << 512u << false << true;
@@ -362,6 +364,46 @@ void tst_QCanBusFrame::tst_isValid()
QCOMPARE(QCanBusFrame::InvalidFrame, frame.frameType());
}
+void tst_QCanBusFrame::tst_isValidSize_data()
+{
+ QTest::addColumn<int>("payloadLength");
+ QTest::addColumn<bool>("isFlexibleDataRate");
+ QTest::addColumn<bool>("isValid");
+
+ QTest::newRow("2.0-0") << 0 << false << true;
+ QTest::newRow("2.0-8") << 8 << false << true;
+ QTest::newRow("2.0-9") << 9 << false << false;
+
+ QTest::newRow("FD-0") << 0 << true << true;
+ QTest::newRow("FD-8") << 8 << true << true;
+ QTest::newRow("FD-9") << 9 << true << false;
+ QTest::newRow("FD-11") << 11 << true << false;
+ QTest::newRow("FD-12") << 12 << true << true;
+ QTest::newRow("FD-13") << 13 << true << false;
+ QTest::newRow("FD-16") << 16 << true << true;
+
+ QTest::newRow("FD-20") << 20 << true << true;
+ QTest::newRow("FD-24") << 24 << true << true;
+ QTest::newRow("FD-32") << 32 << true << true;
+ QTest::newRow("FD-48") << 48 << true << true;
+
+ QTest::newRow("FD-63") << 63 << true << false;
+ QTest::newRow("FD-64") << 64 << true << true;
+ QTest::newRow("FD-65") << 65 << true << false;
+}
+
+void tst_QCanBusFrame::tst_isValidSize()
+{
+ QFETCH(int, payloadLength);
+ QFETCH(bool, isFlexibleDataRate);
+ QFETCH(bool, isValid);
+
+ QCanBusFrame frame(0, QByteArray(payloadLength, ' '));
+ frame.setFlexibleDataRateFormat(isFlexibleDataRate);
+
+ QCOMPARE(frame.isValid(), isValid);
+}
+
void tst_QCanBusFrame::tst_toString_data()
{
QTest::addColumn<QCanBusFrame::FrameType>("frameType");