aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/activeFocusOnTab
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/activeFocusOnTab')
-rw-r--r--tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml4
-rw-r--r--tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp44
2 files changed, 46 insertions, 2 deletions
diff --git a/tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml b/tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml
index 05cb464b..5ab0191e 100644
--- a/tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml
+++ b/tests/auto/activeFocusOnTab/data/activeFocusOnTab.qml
@@ -127,6 +127,10 @@ Item {
}
}
}
+ RangeSlider {
+ id: rangeslider
+ objectName: "rangeslider"
+ }
// ScrollBar
ScrollIndicator {
id: scrollindicator
diff --git a/tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp b/tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp
index 79532b45..88607514 100644
--- a/tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp
+++ b/tests/auto/activeFocusOnTab/tst_activeFocusOnTab.cpp
@@ -162,7 +162,27 @@ void tst_activeFocusOnTab::allControls()
QVERIFY(item);
QVERIFY(item->hasActiveFocus());
- // Tab: radiobutton2->slider
+ // Tab: radiobutton2->rangeslider.first.handle
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
+ QGuiApplication::sendEvent(window, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QQuickItem>(window->rootObject(), "rangeslider");
+ QVERIFY(item);
+ item = item->property("first").value<QObject*>()->property("handle").value<QQuickItem*>();
+ QVERIFY(item->hasActiveFocus());
+
+ // Tab: rangeslider.first.handle->rangeslider.second.handle
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
+ QGuiApplication::sendEvent(window, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QQuickItem>(window->rootObject(), "rangeslider");
+ QVERIFY(item);
+ item = item->property("second").value<QObject*>()->property("handle").value<QQuickItem*>();
+ QVERIFY(item->hasActiveFocus());
+
+ // Tab: rangeslider.second.handle->slider
key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
QGuiApplication::sendEvent(window, &key);
QVERIFY(key.isAccepted());
@@ -279,7 +299,27 @@ void tst_activeFocusOnTab::allControls()
QVERIFY(item);
QVERIFY(item->hasActiveFocus());
- // BackTab: slider->radiobutton2
+ // BackTab: slider->rangeslider.second.handle
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::ShiftModifier, "", false, 1);
+ QGuiApplication::sendEvent(window, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QQuickItem>(window->rootObject(), "rangeslider");
+ QVERIFY(item);
+ item = item->property("second").value<QObject*>()->property("handle").value<QQuickItem*>();
+ QVERIFY(item->hasActiveFocus());
+
+ // BackTab: rangeslider.second.handle->rangeslider.first.handle
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::ShiftModifier, "", false, 1);
+ QGuiApplication::sendEvent(window, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QQuickItem>(window->rootObject(), "rangeslider");
+ QVERIFY(item);
+ item = item->property("first").value<QObject*>()->property("handle").value<QQuickItem*>();
+ QVERIFY(item->hasActiveFocus());
+
+ // BackTab: rangeslider.first.handle->radiobutton2
key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::ShiftModifier, "", false, 1);
QGuiApplication::sendEvent(window, &key);
QVERIFY(key.isAccepted());