diff options
Diffstat (limited to 'tests/auto/quick/qquickitem2/tst_qquickitem.cpp')
-rw-r--r-- | tests/auto/quick/qquickitem2/tst_qquickitem.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/auto/quick/qquickitem2/tst_qquickitem.cpp b/tests/auto/quick/qquickitem2/tst_qquickitem.cpp index aa0b5b7693..a31f7ab9ce 100644 --- a/tests/auto/quick/qquickitem2/tst_qquickitem.cpp +++ b/tests/auto/quick/qquickitem2/tst_qquickitem.cpp @@ -87,6 +87,7 @@ private slots: void keyNavigation_skipNotVisible(); void keyNavigation_implicitSetting(); void keyNavigation_focusReason(); + void keyNavigation_loop(); void layoutMirroring(); void layoutMirroringIllegalParent(); void smooth(); @@ -2102,6 +2103,31 @@ void tst_QQuickItem::keyNavigation_focusReason() delete window; } +void tst_QQuickItem::keyNavigation_loop() +{ + // QTBUG-47229 + QQuickView *window = new QQuickView(0); + window->setBaseSize(QSize(240,320)); + + window->setSource(testFileUrl("keynavigationtest_loop.qml")); + window->show(); + window->requestActivate(); + + QVERIFY(QTest::qWaitForWindowActive(window)); + QCOMPARE(QGuiApplication::focusWindow(), window); + + QQuickItem *item = findItem<QQuickItem>(window->rootObject(), "item1"); + QVERIFY(item); + QVERIFY(item->hasActiveFocus()); + + QKeyEvent key = QKeyEvent(QEvent::KeyPress, Qt::Key_Down, Qt::NoModifier, "", false, 1); + QGuiApplication::sendEvent(window, &key); + QVERIFY(key.isAccepted()); + QVERIFY(item->hasActiveFocus()); + + delete window; +} + void tst_QQuickItem::smooth() { QQmlComponent component(&engine); |