summaryrefslogtreecommitdiffstats
path: root/tests/auto/qserialport/tst_qserialport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qserialport/tst_qserialport.cpp')
-rw-r--r--tests/auto/qserialport/tst_qserialport.cpp40
1 files changed, 24 insertions, 16 deletions
diff --git a/tests/auto/qserialport/tst_qserialport.cpp b/tests/auto/qserialport/tst_qserialport.cpp
index 268b8475..f700a178 100644
--- a/tests/auto/qserialport/tst_qserialport.cpp
+++ b/tests/auto/qserialport/tst_qserialport.cpp
@@ -1404,30 +1404,38 @@ void tst_QSerialPort::bindingsAndProperties()
QCOMPARE(errorChangedSpy.at(0).value(0).toInt(), QSerialPort::SerialPortError::NoError);
sp.setPortName(m_receiverPortName);
- sp.open(QIODevice::ReadOnly);
+ const bool portOpened = sp.open(QIODevice::ReadOnly);
// -- break enabled
- QProperty<bool> beProp(false);
- QCOMPARE(beProp.value(), false);
+ if (portOpened) {
+ QProperty<bool> beProp(false);
+ QCOMPARE(beProp.value(), false);
- sp.bindableIsBreakEnabled().setBinding(Qt::makePropertyBinding(beProp));
- QCOMPARE(sp.isBreakEnabled(), false);
+ sp.bindableIsBreakEnabled().setBinding(Qt::makePropertyBinding(beProp));
+ QCOMPARE(sp.isBreakEnabled(), false);
- const QSignalSpy breakEnabledChangedSpy(&sp, &QSerialPort::breakEnabledChanged);
+ const QSignalSpy breakEnabledChangedSpy(&sp, &QSerialPort::breakEnabledChanged);
- beProp = true;
- QCOMPARE(sp.isBreakEnabled(), true);
- QCOMPARE(breakEnabledChangedSpy.count(), 1);
- QCOMPARE(breakEnabledChangedSpy.at(0).value(0).toBool(), true);
+ beProp = true;
+ QCOMPARE(sp.isBreakEnabled(), true);
+ QCOMPARE(breakEnabledChangedSpy.size(), 1);
+ QCOMPARE(breakEnabledChangedSpy.at(0).value(0).toBool(), true);
- beProp.setBinding(sp.bindableIsBreakEnabled().makeBinding());
- sp.setBreakEnabled(false);
- QCOMPARE(beProp.value(), false);
+ beProp.setBinding(sp.bindableIsBreakEnabled().makeBinding());
+ sp.setBreakEnabled(false);
+ QCOMPARE(beProp.value(), false);
- beProp.setBinding([&] { return sp.isBreakEnabled(); });
- sp.setBreakEnabled(true);
- QCOMPARE(beProp.value(), true);
+ beProp.setBinding([&] { return sp.isBreakEnabled(); });
+ sp.setBreakEnabled(true);
+ QCOMPARE(beProp.value(), true);
+ } else {
+ // setting isBreakEnabled() will return false and raise an error
+ const auto currErrorCount = errorChangedSpy.size();
+ sp.setBreakEnabled(true);
+ QCOMPARE(errorProp.value(), QSerialPort::SerialPortError::NotOpenError);
+ QCOMPARE(errorChangedSpy.size(), currErrorCount + 1);
+ }
}
QTEST_MAIN(tst_QSerialPort)