summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKarsten Heimrich <karsten.heimrich@theqtcompany.com>2015-11-11 21:45:17 +0100
committerKarsten Heimrich <karsten.heimrich@theqtcompany.com>2015-11-12 18:17:48 +0000
commit55e86c457ee4b5ae52c5e283fd40fe1ae6aa29ca (patch)
treed8f479cd83faedaa680f43cf6945d1455b9c9ff8 /tests
parentfd10c4eacc7679ae44ea3f5b96dd44beb963b06a (diff)
Implement handling of missing server registers, update docs.
Change-Id: I6de28ac751303b05305f3a335e9ee9c2de20c2a3 Reviewed-by: Ralf Nolden <nolden@kde.org> Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qmodbusserver/tst_qmodbusserver.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/qmodbusserver/tst_qmodbusserver.cpp b/tests/auto/qmodbusserver/tst_qmodbusserver.cpp
index 8f56128..99e948b 100644
--- a/tests/auto/qmodbusserver/tst_qmodbusserver.cpp
+++ b/tests/auto/qmodbusserver/tst_qmodbusserver.cpp
@@ -1082,6 +1082,22 @@ private slots:
}
QCOMPARE(s_msg, QString("QModbusServer::setData() call did end in the expected OVERRIDE."));
}
+
+ void testReadWriteDataMissingOrInvalidRegister()
+ {
+ TestServer local;
+ local.setMap({ { QModbusDataUnit::Invalid, QModbusDataUnit() },
+ { QModbusDataUnit::Coils, QModbusDataUnit(QModbusDataUnit::Coils) },
+ { QModbusDataUnit::DiscreteInputs, QModbusDataUnit(QModbusDataUnit::DiscreteInputs) }});
+
+ QModbusDataUnit invalid;
+ QCOMPARE(local.data(&invalid), false);
+ QCOMPARE(local.setData(invalid), false);
+
+ QModbusDataUnit missing(QModbusDataUnit::HoldingRegisters);
+ QCOMPARE(local.data(&missing), false);
+ QCOMPARE(local.setData(missing), false);
+ }
};
QTEST_MAIN(tst_QModbusServer)