Warning, /frameworks/kirigami/autotests/tst_listskeynavigation.qml is written in an unsupported language. File is not indexed.

0001 /*
0002  *  SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez <aleixpol@kde.org>
0003  *  SPDX-FileCopyrightText: 2016 Marco Martin <mart@kde.org>
0004  *  SPDX-FileCopyrightText: 2023 ivan tkachenko <me@ratijas.tk>
0005  *
0006  *  SPDX-License-Identifier: LGPL-2.0-or-later
0007  */
0008 
0009 import QtQuick
0010 import QtQuick.Controls
0011 import QtQuick.Window
0012 import org.kde.kirigami as Kirigami
0013 import QtTest
0014 import "../tests"
0015 
0016 TestCase {
0017     id: testCase
0018     width: 400
0019     height: 400
0020     name: "KeyboardListsNavigation"
0021 
0022     Component {
0023         id: mainComponent
0024         KeyboardListTest {
0025             id: window
0026 
0027             width: 480
0028             height: 360
0029         }
0030     }
0031 
0032     Component {
0033         id: spyComponent
0034         SignalSpy {}
0035     }
0036 
0037     // The following methods are adaptation of QtTest internals
0038 
0039     function waitForWindowActive(window: Window) {
0040         tryVerify(() => window.active);
0041     }
0042 
0043     function ensureWindowShown(window: Window) {
0044         window.requestActivate();
0045         waitForWindowActive(window);
0046         wait(0);
0047     }
0048 
0049     function test_press() {
0050         const window = createTemporaryObject(mainComponent, this);
0051         verify(window);
0052         const spy = createTemporaryObject(spyComponent, this, {
0053             target: window.pageStack.currentItem.flickable,
0054             signalName: "currentIndexChanged",
0055         })
0056         verify(spy.valid);
0057 
0058         ensureWindowShown(window);
0059 
0060         compare(window.pageStack.depth, 1);
0061         compare(window.pageStack.currentIndex, 0);
0062 
0063         compare(window.pageStack.currentItem.flickable.currentIndex, 0);
0064         keyClick(Qt.Key_Down);
0065         compare(spy.count, 1);
0066         compare(window.pageStack.currentItem.flickable.currentIndex, 1);
0067     }
0068 }