summaryrefslogtreecommitdiffstats
path: root/tests/auto/widgets/util
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/widgets/util')
-rw-r--r--tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp129
1 files changed, 129 insertions, 0 deletions
diff --git a/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp b/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp
index 3a6fca7146..4ba4cffb78 100644
--- a/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp
+++ b/tests/auto/widgets/util/qcompleter/tst_qcompleter.cpp
@@ -1418,6 +1418,135 @@ void tst_QCompleter::task253125_lineEditCompletion()
QCOMPARE(edit.text(), QString("iota"));
+ edit.clear();
+ completer->setCompletionMode(QCompleter::PopupCompletion);
+ completer->setFilterMode(Qt::MatchContains);
+
+ QTest::keyClick(&edit, 't');
+ QCOMPARE(edit.completer()->currentCompletion(), QString("beta"));
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("beta"));
+
+ edit.clear();
+
+ QTest::keyClick(&edit, 'p');
+ QTest::keyClick(&edit, 'p');
+ QCOMPARE(edit.completer()->currentCompletion(), QString("kappa"));
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("kappa"));
+
+ edit.clear();
+ completer->setFilterMode(Qt::MatchStartsWith);
+
+ QTest::keyClick(&edit, 't');
+ QCOMPARE(edit.completer()->currentCompletion(), QString("theta"));
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("theta"));
+
+ edit.clear();
+
+ QTest::keyClick(&edit, 'p');
+ QTest::keyClick(&edit, 'p');
+ QCOMPARE(edit.completer()->currentCompletion(), QString());
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("pp"));
+
+ edit.clear();
+
+ QTest::keyClick(&edit, 'u');
+ QTest::keyClick(&edit, 'p');
+ QTest::keyClick(&edit, 's');
+ QCOMPARE(edit.completer()->currentCompletion(), QString("upsilon"));
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("upsilon"));
+
+ edit.clear();
+ completer->setFilterMode(Qt::MatchEndsWith);
+
+ QTest::keyClick(&edit, 'm');
+ QTest::keyClick(&edit, 'm');
+ QTest::keyClick(&edit, 'a');
+ QCOMPARE(edit.completer()->currentCompletion(), QString("gamma"));
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("gamma"));
+
+ edit.clear();
+
+ QTest::keyClick(&edit, 'g');
+ QTest::keyClick(&edit, 'm');
+ QTest::keyClick(&edit, 'a');
+ QCOMPARE(edit.completer()->currentCompletion(), QString("sigma"));
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("sigma"));
+
+ edit.clear();
+
+ QTest::keyClick(&edit, 'm');
+ QTest::keyClick(&edit, 'm');
+ QCOMPARE(edit.completer()->currentCompletion(), QString());
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("mm"));
+
+ edit.clear();
+ completer->setFilterMode(Qt::MatchStartsWith);
+
+ QTest::keyClick(&edit, 'z');
+ QTest::keyClick(&edit, 'e');
+ QCOMPARE(edit.completer()->currentCompletion(), QString("zeta"));
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("zeta"));
+
+ edit.clear();
+ completer->setFilterMode(Qt::MatchEndsWith);
+
+ QTest::keyClick(&edit, 'e');
+ QTest::keyClick(&edit, 'g');
+ QTest::keyClick(&edit, 'a');
+ QCOMPARE(edit.completer()->currentCompletion(), QString("omega"));
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("omega"));
+
+ edit.clear();
+ completer->setFilterMode(Qt::MatchContains);
+
+ QTest::keyClick(&edit, 'c');
+ QTest::keyClick(&edit, 'r');
+ QCOMPARE(edit.completer()->currentCompletion(), QString("omicron"));
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("omicron"));
+
+ edit.clear();
+
+ QTest::keyClick(&edit, 'z');
+ QTest::keyClick(&edit, 'z');
+ QCOMPARE(edit.completer()->currentCompletion(), QString());
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Down);
+ QTest::keyClick(edit.completer()->popup(), Qt::Key_Enter);
+
+ QCOMPARE(edit.text(), QString("zz"));
+
delete completer;
delete model;
}