summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@digia.com>2014-01-10 13:53:50 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-14 19:03:34 +0100
commite48dc15b56a130b5a8bf0ea5ea8ca45167a70484 (patch)
tree4a7488aa53104a9790e38acd7394d99a0f65a9ab
parent08a32dff66a89fb517e86d3a2232407bd37fb715 (diff)
downloadqtquickcontrols-e48dc15b56a130b5a8bf0ea5ea8ca45167a70484.tar.gz
tests: update activeFocusOnTab to support editable ComboBox
ComboBox was editable since 4c184095d378622fb0c3bb1692b331b3cc04e010. It should get focus when editable is true in tab focus chain. The behavior was fixed in qtdeclarative side. Change-Id: I85f26e99e00f970b8603d8ca23b1e55daa52159b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
-rw-r--r--tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml6
-rw-r--r--tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp48
2 files changed, 48 insertions, 6 deletions
diff --git a/tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml b/tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml
index 210d377c..42f785ce 100644
--- a/tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml
+++ b/tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml
@@ -85,6 +85,12 @@ Item {
objectName: "combobox"
model: choices;
}
+ ComboBox {
+ id: editable_combobox;
+ objectName: "editable_combobox"
+ model: choices;
+ editable: true;
+ }
GroupBox {
id: group1
objectName: "group1"
diff --git a/tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp b/tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp
index 6278149e..f1697fdc 100644
--- a/tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp
+++ b/tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp
@@ -132,7 +132,16 @@ void tst_activeFocusOnTab::activeFocusOnTab()
QVERIFY(item);
QVERIFY(item->hasActiveFocus());
- // Tab: combobox->group1_checkbox
+ // Tab: combobox->editable_combobox
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
+ QGuiApplication::sendEvent(window, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QQuickItem>(window->rootObject(), "editable_combobox");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // Tab: editable_combobox->group1_checkbox
key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
QGuiApplication::sendEvent(window, &key);
QVERIFY(key.isAccepted());
@@ -403,7 +412,16 @@ void tst_activeFocusOnTab::activeFocusOnTab()
QVERIFY(item);
QVERIFY(item->hasActiveFocus());
- // BackTab: group1_checkbox->combobox
+ // BackTab: group1_checkbox->editable_combobox
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::ShiftModifier, "", false, 1);
+ QGuiApplication::sendEvent(window, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QQuickItem>(window->rootObject(), "editable_combobox");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // BackTab: editable_combobox->combobox
key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::ShiftModifier, "", false, 1);
QGuiApplication::sendEvent(window, &key);
QVERIFY(key.isAccepted());
@@ -465,17 +483,26 @@ void tst_activeFocusOnTab::activeFocusOnTab2()
QVERIFY(QTest::qWaitForWindowActive(window));
QVERIFY(QGuiApplication::focusWindow() == window);
- // original: spinbox
- QQuickItem *item = findItem<QQuickItem>(window->rootObject(), "spinbox");
+ // original: editable_combobox
+ QQuickItem *item = findItem<QQuickItem>(window->rootObject(), "editable_combobox");
QVERIFY(item);
item->forceActiveFocus();
QVERIFY(item->hasActiveFocus());
- // Tab: spinbox->textfield
+ // Tab: editable_combobox->spinbox
QKeyEvent key(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
QGuiApplication::sendEvent(window, &key);
QVERIFY(key.isAccepted());
+ item = findItem<QQuickItem>(window->rootObject(), "spinbox");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // Tab: spinbox->textfield
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
+ QGuiApplication::sendEvent(window, &key);
+ QVERIFY(key.isAccepted());
+
item = findItem<QQuickItem>(window->rootObject(), "textfield");
QVERIFY(item);
QVERIFY(item->hasActiveFocus());
@@ -525,7 +552,16 @@ void tst_activeFocusOnTab::activeFocusOnTab2()
QVERIFY(item);
QVERIFY(item->hasActiveFocus());
- // BackTab: spinbox->textarea
+ // BackTab: spinbox->editable_combobox
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::ShiftModifier, "", false, 1);
+ QGuiApplication::sendEvent(window, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QQuickItem>(window->rootObject(), "editable_combobox");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // BackTab: editable_combobox->textarea
key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::ShiftModifier, "", false, 1);
QGuiApplication::sendEvent(window, &key);
QVERIFY(key.isAccepted());