From 7fbdcd3fed90527f6f92094166c1a7e40c38c853 Mon Sep 17 00:00:00 2001 From: Janek Bevendorff Date: Sun, 25 Feb 2018 20:59:59 +0100 Subject: [PATCH] Add tests for newline sanitization --- tests/gui/TestGui.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/gui/TestGui.cpp b/tests/gui/TestGui.cpp index dd201c3de..b2ccd332d 100644 --- a/tests/gui/TestGui.cpp +++ b/tests/gui/TestGui.cpp @@ -364,6 +364,22 @@ void TestGui::testEditEntry() // Confirm modified indicator is showing QTRY_COMPARE(m_tabWidget->tabText(m_tabWidget->currentIndex()), QString("%1*").arg(m_dbFileName)); + + // Test copy & paste newline sanitization + QTest::mouseClick(entryEditWidget, Qt::LeftButton); + QCOMPARE(m_dbWidget->currentMode(), DatabaseWidget::EditMode); + titleEdit->setText("multiline\ntitle"); + editEntryWidget->findChild("usernameEdit")->setText("multiline\nusername"); + editEntryWidget->findChild("passwordEdit")->setText("multiline\npassword"); + editEntryWidget->findChild("passwordRepeatEdit")->setText("multiline\npassword"); + editEntryWidget->findChild("urlEdit")->setText("multiline\nurl"); + QTest::mouseClick(editEntryWidgetButtonBox->button(QDialogButtonBox::Ok), Qt::LeftButton); + + QCOMPARE(entry->title(), QString("multiline title")); + QCOMPARE(entry->username(), QString("multiline username")); + // here we keep newlines, so users can't lock themselves out accidentally + QCOMPARE(entry->password(), QString("multiline\npassword")); + QCOMPARE(entry->url(), QString("multiline url")); } void TestGui::testSearchEditEntry()