diff options
author | Liang Qi <liang.qi@digia.com> | 2014-01-10 13:53:50 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-14 19:03:34 +0100 |
commit | e48dc15b56a130b5a8bf0ea5ea8ca45167a70484 (patch) | |
tree | 4a7488aa53104a9790e38acd7394d99a0f65a9ab | |
parent | 08a32dff66a89fb517e86d3a2232407bd37fb715 (diff) | |
download | qtquickcontrols-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.qml | 6 | ||||
-rw-r--r-- | tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp | 48 |
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()); |