on xenial help sign in
fix tests
commit8d1a4aa8802ae5e35ad6763b3b916c624ada4a1f authorMichael Zanetti <michael.zanetti@canonical.com> dateTue 20 Dec 2016, 15:17 (10 years ago) parent7d681a3
2 files changed+43−1
qml/Launcher/Drawer.qml+3 tests/qmltests/Launcher/tst_Drawer.qml+40−1
qml/Launcher/Drawer.qml+3
@@ -110,6 +110,7 @@ FocusScope {
110110
111111 Sections {
112112 id: sections
113+ objectName: "drawerSections"
113114 width: parent.width
114115
115116 KeyNavigation.up: searchField
@@ -138,6 +139,7 @@ FocusScope {
138139
139140 FocusScope {
140141 id: headerFocusScope
142+ objectName: "headerFocusScope"
141143 KeyNavigation.up: sections
142144 KeyNavigation.down: listLoader.item
143145 KeyNavigation.backtab: sections
@@ -166,6 +168,7 @@ FocusScope {
166168
167169 Loader {
168170 id: listLoader
171+ objectName: "drawerListLoader"
169172 anchors { left: parent.left; top: sectionsContainer.bottom; right: parent.right; bottom: parent.bottom; leftMargin: units.gu(1); rightMargin: units.gu(1) }
170173
171174 KeyNavigation.up: headerFocusScope
tests/qmltests/Launcher/tst_Drawer.qml+40−1
@@ -136,6 +136,8 @@ StyledItem {
136136 launcher.hide();
137137 var drawer = findChild(launcher, "drawer");
138138 tryCompare(drawer, "x", -drawer.width);
139+ var searchField = findChild(drawer, "searchField");
140+ searchField.text = "";
139141 }
140142
141143 function test_revealByEdgeDrag() {
@@ -173,7 +175,7 @@ StyledItem {
173175 var drawer = dragDrawerIntoView();
174176 waitForRendering(launcher);
175177
176− mouseFlick(root, drawer.width - units.gu(1), drawer.height / 2, units.gu(2), drawer.height / 2, true, true);
178+ mouseFlick(root, drawer.width - units.gu(1), drawer.height / 2, units.gu(10), drawer.height / 2, true, true);
177179
178180 tryCompare(drawer.anchors, "rightMargin", 0);
179181 tryCompare(launcher, "state", data.endState);
@@ -270,5 +272,42 @@ StyledItem {
270272 typeString("cam");
271273 tryCompare(searchField, "displayText", "cam");
272274 }
275+
276+ function test_kbdNavigation() {
277+ launcher.openDrawer(true);
278+ waitForRendering(launcher);
279+ waitUntilTransitionsEnd(launcher);
280+ compare(launcher.lastSelectedApplication, "");
281+
282+ var drawer = findChild(launcher, "drawer");
283+ var searchField = findChild(drawer, "searchField");
284+ var sections = findChild(drawer, "drawerSections");
285+ var header = findChild(drawer, "headerFocusScope");
286+ var listLoader = findChild(drawer, "drawerListLoader");
287+
288+ tryCompare(searchField, "activeFocus", true);
289+ // for some reason, even when the searchField has activeFocus already,
290+ // it won't react on key down events if they're coming in too early...
291+ // let's repeat the press for a bit before giving up
292+ tryCompareFunction(function() {
293+ wait(10)
294+ keyClick(Qt.Key_Down);
295+ return sections.activeFocus;
296+ }, true)
297+
298+ keyClick(Qt.Key_Down);
299+ tryCompare(header, "activeFocus", true);
300+
301+ keyClick(Qt.Key_Down);
302+ tryCompare(listLoader, "activeFocus", true);
303+
304+ keyClick(Qt.Key_Down);
305+ keyClick(Qt.Key_Left);
306+ tryCompare(listLoader, "activeFocus", true);
307+
308+ keyClick(Qt.Key_Enter);
309+
310+ compare(launcher.lastSelectedApplication, "calendar-app");
311+ }
273312 }
274313}