on xenial help sign in
add a test for clicking to get focus (instead of tap)

simplify the foreach loops

commit4b5cefabc7807c829bc41c9115478caf2b5db1fe authorLukáš Tinkl <lukas.tinkl@canonical.com> dateMon 19 Oct 2015, 23:46 (11 years ago) parenta584a29
1 file changed+45−14
tests/qmltests/Stages/tst_DesktopStage.qml+45−14
tests/qmltests/Stages/tst_DesktopStage.qml+45−14
@@ -147,10 +147,7 @@ Item {
147147 }
148148
149149 function test_appFocusSwitch(data) {
150− var i;
151− for (i = 0; i < data.apps.length; i++) {
152− startApplication(data.apps[i]);
153− }
150+ data.apps.forEach(startApplication);
154151
155152 ApplicationManager.requestFocusApplication(data.apps[data.focusfrom]);
156153 tryCompare(ApplicationManager.findApplication(data.apps[data.focusfrom]).session.surface, "activeFocus", true);
@@ -167,10 +164,7 @@ Item {
167164 }
168165
169166 function test_tappingOnWindowChangesFocusedApp(data) {
170− var i;
171− for (i = 0; i < data.apps.length; i++) {
172− startApplication(data.apps[i]);
173− }
167+ data.apps.forEach(startApplication);
174168 var fromAppId = data.apps[data.focusfrom];
175169 var toAppId = data.apps[data.focusTo]
176170
@@ -187,18 +181,37 @@ Item {
187181 compare(ApplicationManager.focusedApplicationId, toAppId);
188182 }
189183
184+ function test_clickingOnWindowChangesFocusedApp_data() {
185+ return test_tappingOnWindowChangesFocusedApp_data(); // reuse test data
186+ }
187+
188+ function test_clickingOnWindowChangesFocusedApp(data) {
189+ data.apps.forEach(startApplication);
190+ var fromAppId = data.apps[data.focusfrom];
191+ var toAppId = data.apps[data.focusTo]
192+
193+ var fromAppWindow = findChild(desktopStage, "appWindow_" + fromAppId);
194+ verify(fromAppWindow);
195+ mouseClick(fromAppWindow);
196+ compare(fromAppWindow.application.session.surface.activeFocus, true);
197+ compare(ApplicationManager.focusedApplicationId, fromAppId);
198+
199+ var toAppWindow = findChild(desktopStage, "appWindow_" + toAppId);
200+ verify(toAppWindow);
201+ mouseClick(toAppWindow);
202+ compare(toAppWindow.application.session.surface.activeFocus, true);
203+ compare(ApplicationManager.focusedApplicationId, toAppId);
204+ }
205+
190206 function test_tappingOnDecorationFocusesApplication_data() {
191207 return [
192− {tag: "dash", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 0, focusTo: 1 },
193− {tag: "dash", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 1, focusTo: 0 },
208+ {tag: "dash to dialer", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 0, focusTo: 1 },
209+ {tag: "dialer to dash", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 1, focusTo: 0 },
194210 ]
195211 }
196212
197213 function test_tappingOnDecorationFocusesApplication(data) {
198− var i;
199− for (i = 0; i < data.apps.length; i++) {
200− startApplication(data.apps[i]);
201− }
214+ data.apps.forEach(startApplication);
202215
203216 var fromAppDecoration = findChild(desktopStage, "appWindowDecoration_" + data.apps[data.focusfrom]);
204217 verify(fromAppDecoration);
@@ -210,5 +223,23 @@ Item {
210223 tap(toAppDecoration);
211224 tryCompare(ApplicationManager.findApplication(data.apps[data.focusTo]).session.surface, "activeFocus", true);
212225 }
226+
227+ function test_clickingOnDecorationFocusesApplication_data() {
228+ return test_tappingOnDecorationFocusesApplication_data(); // reuse test data
229+ }
230+
231+ function test_clickingOnDecorationFocusesApplication(data) {
232+ data.apps.forEach(startApplication);
233+
234+ var fromAppDecoration = findChild(desktopStage, "appWindowDecoration_" + data.apps[data.focusfrom]);
235+ verify(fromAppDecoration);
236+ mouseClick(fromAppDecoration);
237+ tryCompare(ApplicationManager.findApplication(data.apps[data.focusfrom]).session.surface, "activeFocus", true);
238+
239+ var toAppDecoration = findChild(desktopStage, "appWindowDecoration_" + data.apps[data.focusTo]);
240+ verify(toAppDecoration);
241+ mouseClick(toAppDecoration);
242+ tryCompare(ApplicationManager.findApplication(data.apps[data.focusTo]).session.surface, "activeFocus", true);
243+ }
213244 }
214245}