diff options
author | Liang Qi <liang.qi@qt.io> | 2017-01-25 10:26:13 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-01-25 10:26:13 +0100 |
commit | 4458f9376aa88b556e38d81180c5966889009bfb (patch) | |
tree | 44b5b9921eb4f9cf5030317685544c4d20820935 /tests/auto/qserialport/tst_qserialport.cpp | |
parent | 23902340662f1ef6f5dafe68a34b593aed6ea497 (diff) | |
parent | f640521532087dc76d36b25a6c49b2f64afcd4de (diff) | |
download | qtserialport-4458f9376aa88b556e38d81180c5966889009bfb.tar.gz |
Merge remote-tracking branch 'origin/5.8' into devv5.9.0-alpha1
Conflicts:
.qmake.conf
Change-Id: Ie713faf0d6395f11477fceb35c93388756e33fae
Diffstat (limited to 'tests/auto/qserialport/tst_qserialport.cpp')
-rw-r--r-- | tests/auto/qserialport/tst_qserialport.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/auto/qserialport/tst_qserialport.cpp b/tests/auto/qserialport/tst_qserialport.cpp index 33a48fe..94eaaa5 100644 --- a/tests/auto/qserialport/tst_qserialport.cpp +++ b/tests/auto/qserialport/tst_qserialport.cpp @@ -98,6 +98,7 @@ private slots: void rts(); void dtr(); + void independenceRtsAndDtr(); void flush(); void doubleFlush(); @@ -549,6 +550,58 @@ void tst_QSerialPort::dtr() QCOMPARE(qvariant_cast<bool>(dtrSpy.at(2).at(0)), toggle3); } +void tst_QSerialPort::independenceRtsAndDtr() +{ + QSerialPort serialPort(m_senderPortName); + QVERIFY(serialPort.open(QIODevice::ReadWrite)); // No flow control by default! + + QVERIFY(serialPort.setDataTerminalReady(true)); + QVERIFY(serialPort.setRequestToSend(true)); + QVERIFY(serialPort.isDataTerminalReady()); + QVERIFY(serialPort.isRequestToSend()); + + // check that DTR changing does not change RTS + QVERIFY(serialPort.setDataTerminalReady(false)); + QVERIFY(!serialPort.isDataTerminalReady()); + QVERIFY(serialPort.isRequestToSend()); + QVERIFY(serialPort.setDataTerminalReady(true)); + QVERIFY(serialPort.isDataTerminalReady()); + QVERIFY(serialPort.isRequestToSend()); + + // check that RTS changing does not change DTR + QVERIFY(serialPort.setRequestToSend(false)); + QVERIFY(!serialPort.isRequestToSend()); + QVERIFY(serialPort.isDataTerminalReady()); + QVERIFY(serialPort.setRequestToSend(true)); + QVERIFY(serialPort.isRequestToSend()); + QVERIFY(serialPort.isDataTerminalReady()); + + // check that baud rate changing does not change DTR or RTS + QVERIFY(serialPort.setBaudRate(115200)); + QVERIFY(serialPort.isRequestToSend()); + QVERIFY(serialPort.isDataTerminalReady()); + + // check that data bits changing does not change DTR or RTS + QVERIFY(serialPort.setDataBits(QSerialPort::Data7)); + QVERIFY(serialPort.isRequestToSend()); + QVERIFY(serialPort.isDataTerminalReady()); + + // check that parity changing does not change DTR or RTS + QVERIFY(serialPort.setParity(QSerialPort::EvenParity)); + QVERIFY(serialPort.isRequestToSend()); + QVERIFY(serialPort.isDataTerminalReady()); + + // check that stop bits changing does not change DTR or RTS + QVERIFY(serialPort.setStopBits(QSerialPort::TwoStop)); + QVERIFY(serialPort.isRequestToSend()); + QVERIFY(serialPort.isDataTerminalReady()); + + // check that software flow control changing does not change DTR or RTS + QVERIFY(serialPort.setFlowControl(QSerialPort::SoftwareControl)); + QVERIFY(serialPort.isRequestToSend()); + QVERIFY(serialPort.isDataTerminalReady()); +} + void tst_QSerialPort::handleBytesWrittenAndExitLoopSlot(qint64 bytesWritten) { QCOMPARE(bytesWritten, qint64(alphabetArray.size() + newlineArray.size())); |