File indexing completed on 2024-04-28 03:58:56
0001 /* 0002 SPDX-FileCopyrightText: 2023 Volker Krause <vkrause@kde.org> 0003 SPDX-License-Identifier: LGPL-2.0-or-later 0004 */ 0005 0006 #include "klineediteventhandler.h" 0007 0008 #include <QDialog> 0009 #include <QDialogButtonBox> 0010 #include <QLineEdit> 0011 #include <QObject> 0012 #include <QSignalSpy> 0013 #include <QTest> 0014 0015 class KLineEditEventHandlerTest : public QObject 0016 { 0017 Q_OBJECT 0018 private Q_SLOTS: 0019 void testReturnCatching() 0020 { 0021 QDialog dialog; 0022 auto lineEdit = new QLineEdit(&dialog); 0023 auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok, &dialog); 0024 connect(buttonBox, &QDialogButtonBox::accepted, &dialog, &QDialog::accept); 0025 0026 QSignalSpy returnSpy(lineEdit, &QLineEdit::returnPressed); 0027 QSignalSpy dialogSpy(&dialog, &QDialog::accepted); 0028 0029 dialog.show(); 0030 QTest::keyPress(lineEdit, Qt::Key_Enter); 0031 QCOMPARE(returnSpy.size(), 1); 0032 QCOMPARE(dialogSpy.size(), 1); 0033 0034 KLineEditEventHandler::catchReturnKey(lineEdit); 0035 dialog.show(); 0036 QTest::keyPress(lineEdit, Qt::Key_Enter); 0037 QCOMPARE(returnSpy.size(), 2); 0038 QCOMPARE(dialogSpy.size(), 1); 0039 } 0040 }; 0041 0042 QTEST_MAIN(KLineEditEventHandlerTest) 0043 0044 #include "klineediteventhandlertest.moc"