Test desktop composer edit confirmation cancel failure and channel changes
This commit is contained in:
1 parent
48bdb85ff9
commit
5b6c96d3d8
1 file changed
+24
@@ -181,6 +181,30 @@ private slots:
|
||||
QVERIFY(!encrypt->isVisible()); QVERIFY(!encrypt->isChecked());
|
||||
}
|
||||
|
||||
void editDraftSaveCancelAndFailure() {
|
||||
InputBar bar(nullptr, nullptr); bar.resize(600, 160); bar.show(); bar.setRecordingContext("/tmp", "123");
|
||||
auto* editor = bar.findChild<QTextEdit*>(); QVERIFY(editor);
|
||||
const QByteArray id(32, 'm'), reply(32, 'r');
|
||||
QSignalSpy edits(&bar, &InputBar::saveEdit), sends(&bar, &InputBar::sendMessage), errors(&bar, &InputBar::attachmentRejected);
|
||||
bar.setReply(reply, "Alice", "original"); editor->setPlainText("draft");
|
||||
bar.editMessage(id, 2, "old"); QCOMPARE(editor->toPlainText(), QString("old"));
|
||||
QTest::keyClick(editor, Qt::Key_Escape); QCOMPARE(editor->toPlainText(), QString("draft"));
|
||||
bar.editMessage(id, 2, "old"); editor->setPlainText("new"); QTest::keyClick(editor, Qt::Key_Return);
|
||||
QCOMPARE(edits.size(), 1); QVERIFY(sends.isEmpty());
|
||||
QCOMPARE(edits[0][0].toString(), QString("123")); QCOMPARE(edits[0][1].toByteArray(), id);
|
||||
QCOMPARE(edits[0][2].toULongLong(), quint64(2)); QCOMPARE(edits[0][3].toString(), QString("new"));
|
||||
QVERIFY(editor->isReadOnly()); const auto request = edits[0][4].toULongLong(); QVERIFY(request);
|
||||
QTest::keyClick(editor, Qt::Key_Return); QCOMPARE(edits.size(), 1);
|
||||
bar.submissionResult(request, false); QCOMPARE(errors.size(), 1); QVERIFY(!editor->isReadOnly());
|
||||
QCOMPARE(editor->toPlainText(), QString("new")); QTest::keyClick(editor, Qt::Key_Return); QCOMPARE(edits.size(), 2);
|
||||
bar.submissionResult(edits[1][4].toULongLong(), true); QCOMPARE(editor->toPlainText(), QString("draft"));
|
||||
QTest::keyClick(editor, Qt::Key_Return); QCOMPARE(sends.size(), 1); QCOMPARE(sends[0][1].toByteArray(), reply);
|
||||
bar.submissionResult(sends[0][2].toULongLong(), true);
|
||||
editor->setPlainText("another draft"); bar.editMessage(id, 3, "edit"); QTest::keyClick(editor, Qt::Key_Return);
|
||||
bar.setRecordingContext("/tmp", "456"); editor->setPlainText("new channel draft");
|
||||
bar.submissionResult(edits.last()[4].toULongLong(), true); QCOMPARE(editor->toPlainText(), QString("new channel draft"));
|
||||
}
|
||||
|
||||
void replyDraftAndLateResults() {
|
||||
InputBar bar(nullptr, nullptr); bar.resize(600, 160); bar.show(); bar.setRecordingContext("/tmp", "123");
|
||||
auto* editor = bar.findChild<QTextEdit*>(); QVERIFY(editor);
|
||||
|
||||
Reference in new issue
Block a user