summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp')
-rw-r--r--tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
index f26af0e1f4..4631154230 100644
--- a/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
+++ b/tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
@@ -161,6 +161,7 @@ private slots:
void task_QTBUG_10491_currentIndexAndModelColumn();
void highlightedSignal();
void itemData();
+ void task_QTBUG_31146_popupCompletion();
};
class MyAbstractItemDelegate : public QAbstractItemDelegate
@@ -2901,5 +2902,39 @@ void tst_QComboBox::itemData()
}
}
+void tst_QComboBox::task_QTBUG_31146_popupCompletion()
+{
+ QComboBox comboBox;
+ comboBox.setEditable(true);
+ comboBox.setAutoCompletion(true);
+ comboBox.setInsertPolicy(QComboBox::NoInsert);
+ comboBox.completer()->setCaseSensitivity(Qt::CaseInsensitive);
+ comboBox.completer()->setCompletionMode(QCompleter::PopupCompletion);
+
+ comboBox.addItems(QStringList() << QStringLiteral("item") << QStringLiteral("item"));
+
+ comboBox.show();
+ comboBox.activateWindow();
+ QVERIFY(QTest::qWaitForWindowActive(&comboBox));
+
+ QCOMPARE(comboBox.currentIndex(), 0);
+
+ comboBox.lineEdit()->selectAll();
+ QTest::keyClicks(comboBox.lineEdit(), "item");
+
+ QTest::keyClick(comboBox.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(comboBox.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(comboBox.completer()->popup(), Qt::Key_Enter);
+ QCOMPARE(comboBox.currentIndex(), 1);
+
+ comboBox.lineEdit()->selectAll();
+ QTest::keyClicks(comboBox.lineEdit(), "item");
+
+ QTest::keyClick(comboBox.completer()->popup(), Qt::Key_Up);
+ QTest::keyClick(comboBox.completer()->popup(), Qt::Key_Up);
+ QTest::keyClick(comboBox.completer()->popup(), Qt::Key_Enter);
+ QCOMPARE(comboBox.currentIndex(), 0);
+}
+
QTEST_MAIN(tst_QComboBox)
#include "tst_qcombobox.moc"