summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2016-04-30 08:00:52 +0200
committerAndré Hartmann <aha_1980@gmx.de>2016-06-24 10:50:14 +0000
commit55ad040de1ac6a33b4f2efe29038e97e8d43dbc2 (patch)
treee0d58669439d443fbdbc0000818a6d7fd170b89c /tests
parent0b0daef5bcf752da52183c318291c9e05d5ff3c6 (diff)
QCanBusFrame: Add toString()
This allows to display CAN frames to the user and reduces a lot of duplication. [ChangeLog][QtSerialBus][QCanBusFrame] Added toString() to QCanBusFrame. Task-number: QTBUG-53171 Change-Id: I56c4c8c41012f76e2db6e1c97307325b0c73b14a Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/plugins/genericcanbus/dummybackend.cpp2
-rw-r--r--tests/auto/qcanbusframe/tst_qcanbusframe.cpp75
2 files changed, 76 insertions, 1 deletions
diff --git a/tests/auto/plugins/genericcanbus/dummybackend.cpp b/tests/auto/plugins/genericcanbus/dummybackend.cpp
index 71d1c0f..73edddb 100644
--- a/tests/auto/plugins/genericcanbus/dummybackend.cpp
+++ b/tests/auto/plugins/genericcanbus/dummybackend.cpp
@@ -75,7 +75,7 @@ void DummyBackend::sendMessage()
bool DummyBackend::writeFrame(const QCanBusFrame &data)
{
- qDebug() << "DummyBackend::writeFrame: " << data.payload();
+ qDebug() << "DummyBackend::writeFrame: " << data.toString();
return true;
}
diff --git a/tests/auto/qcanbusframe/tst_qcanbusframe.cpp b/tests/auto/qcanbusframe/tst_qcanbusframe.cpp
index eb427fb..4aae1a6 100644
--- a/tests/auto/qcanbusframe/tst_qcanbusframe.cpp
+++ b/tests/auto/qcanbusframe/tst_qcanbusframe.cpp
@@ -52,6 +52,9 @@ private slots:
void tst_isValid_data();
void tst_isValid();
+ void tst_toString_data();
+ void tst_toString();
+
void streaming_data();
void streaming();
@@ -205,6 +208,78 @@ void tst_QCanBusFrame::tst_isValid()
QCOMPARE(QCanBusFrame::InvalidFrame, frame.frameType());
}
+void tst_QCanBusFrame::tst_toString_data()
+{
+ QTest::addColumn<QCanBusFrame::FrameType>("frameType");
+ QTest::addColumn<quint32>("id");
+ QTest::addColumn<bool>("extended");
+ QTest::addColumn<QByteArray>("payload");
+ QTest::addColumn<QString>("expected");
+
+ QTest::newRow("invalid frame")
+ << QCanBusFrame::InvalidFrame << 0x0u << false
+ << QByteArray()
+ << "(Invalid)";
+ QTest::newRow("error frame")
+ << QCanBusFrame::ErrorFrame << 0x0u << false
+ << QByteArray()
+ << "(Error)";
+ QTest::newRow("unknown frame")
+ << QCanBusFrame::UnknownFrame << 0x0u << false
+ << QByteArray()
+ << "(Unknown)";
+ QTest::newRow("remote request frame")
+ << QCanBusFrame::RemoteRequestFrame << 0x123u << false
+ << QByteArray::fromHex("01") // fake data to get a DLC > 0
+ << " 123 [1] Remote Request";
+ QTest::newRow("data frame min std id")
+ << QCanBusFrame::DataFrame << 0x0u << false
+ << QByteArray()
+ << QString(" 000 [0]");
+ QTest::newRow("data frame max std id")
+ << QCanBusFrame::DataFrame << 0x7FFu << false
+ << QByteArray()
+ << QString(" 7FF [0]");
+ QTest::newRow("data frame min ext id")
+ << QCanBusFrame::DataFrame << 0x0u << true
+ << QByteArray()
+ << QString("00000000 [0]");
+ QTest::newRow("data frame max ext id")
+ << QCanBusFrame::DataFrame << 0x1FFFFFFFu << true
+ << QByteArray()
+ << QString("1FFFFFFF [0]");
+ QTest::newRow("data frame minimal size")
+ << QCanBusFrame::DataFrame << 0x7FFu << false
+ << QByteArray::fromHex("01")
+ << QString(" 7FF [1] 01");
+ QTest::newRow("data frame maximal size")
+ << QCanBusFrame::DataFrame << 0x1FFFFFFFu << true
+ << QByteArray::fromHex("0123456789ABCDEF")
+ << QString("1FFFFFFF [8] 01 23 45 67 89 AB CD EF");
+ QTest::newRow("data frame FD")
+ << QCanBusFrame::DataFrame << 0x123u << false
+ << QByteArray::fromHex("00112233445566778899AABBCCDDEEFF")
+ << QString(" 123 [16] 00 11 22 33 44 55 66 77 88 99 AA BB CC DD EE FF");
+}
+
+void tst_QCanBusFrame::tst_toString()
+{
+ QFETCH(QCanBusFrame::FrameType, frameType);
+ QFETCH(quint32, id);
+ QFETCH(bool, extended);
+ QFETCH(QByteArray, payload);
+ QFETCH(QString, expected);
+ QCanBusFrame frame;
+ frame.setFrameType(frameType);
+ frame.setFrameId(id);
+ frame.setExtendedFrameFormat(extended);
+ frame.setPayload(payload);
+
+ const QString result = frame.toString();
+
+ QCOMPARE(result, expected);
+}
+
void tst_QCanBusFrame::streaming_data()
{
QTest::addColumn<quint32>("frameId");