@@ -136,6 +136,8 @@ StyledItem {
136 launcher.hide();
136 launcher.hide();
137 var drawer = findChild(launcher, "drawer");
137 var drawer = findChild(launcher, "drawer");
138 tryCompare(drawer, "x", -drawer.width);
138 tryCompare(drawer, "x", -drawer.width);
139+ var searchField = findChild(drawer, "searchField");
140+ searchField.text = "";
141 function test_revealByEdgeDrag() {
143 function test_revealByEdgeDrag() {
@@ -173,7 +175,7 @@ StyledItem {
173 var drawer = dragDrawerIntoView();
175 var drawer = dragDrawerIntoView();
174 waitForRendering(launcher);
176 waitForRendering(launcher);
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);
178 tryCompare(drawer.anchors, "rightMargin", 0);
180 tryCompare(drawer.anchors, "rightMargin", 0);
179 tryCompare(launcher, "state", data.endState);
181 tryCompare(launcher, "state", data.endState);
@@ -270,5 +272,42 @@ StyledItem {
270 typeString("cam");
272 typeString("cam");
271 tryCompare(searchField, "displayText", "cam");
273 tryCompare(searchField, "displayText", "cam");
276+ function test_kbdNavigation() {
277+ launcher.openDrawer(true);
278+ waitForRendering(launcher);
279+ waitUntilTransitionsEnd(launcher);
280+ compare(launcher.lastSelectedApplication, "");
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");
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() {
294+ keyClick(Qt.Key_Down);
295+ return sections.activeFocus;
298+ keyClick(Qt.Key_Down);
299+ tryCompare(header, "activeFocus", true);
301+ keyClick(Qt.Key_Down);
302+ tryCompare(listLoader, "activeFocus", true);
304+ keyClick(Qt.Key_Down);
305+ keyClick(Qt.Key_Left);
306+ tryCompare(listLoader, "activeFocus", true);
308+ keyClick(Qt.Key_Enter);
310+ compare(launcher.lastSelectedApplication, "calendar-app");