on xenial help sign in
add a test for clicking to get focus (instead of tap)
4b5cefaLukáš Tinkl
tests/qmltests/Stages/tst_DesktopStage.qml+45−14
@@ -147,10 +147,7 @@ Item {
147 }
147 }
148
148
149 function test_appFocusSwitch(data) {
149 function test_appFocusSwitch(data) {
150− var i;
151− for (i = 0; i < data.apps.length; i++) {
152− startApplication(data.apps[i]);
150+ data.apps.forEach(startApplication);
153− }
154
151
155 ApplicationManager.requestFocusApplication(data.apps[data.focusfrom]);
152 ApplicationManager.requestFocusApplication(data.apps[data.focusfrom]);
156 tryCompare(ApplicationManager.findApplication(data.apps[data.focusfrom]).session.surface, "activeFocus", true);
153 tryCompare(ApplicationManager.findApplication(data.apps[data.focusfrom]).session.surface, "activeFocus", true);
@@ -167,10 +164,7 @@ Item {
167 }
164 }
168
165
169 function test_tappingOnWindowChangesFocusedApp(data) {
166 function test_tappingOnWindowChangesFocusedApp(data) {
170− var i;
171− for (i = 0; i < data.apps.length; i++) {
172− startApplication(data.apps[i]);
167+ data.apps.forEach(startApplication);
173− }
174 var fromAppId = data.apps[data.focusfrom];
168 var fromAppId = data.apps[data.focusfrom];
175 var toAppId = data.apps[data.focusTo]
169 var toAppId = data.apps[data.focusTo]
176
170
@@ -187,18 +181,37 @@ Item {
187 compare(ApplicationManager.focusedApplicationId, toAppId);
181 compare(ApplicationManager.focusedApplicationId, toAppId);
188 }
182 }
189
183
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+
190 function test_tappingOnDecorationFocusesApplication_data() {
206 function test_tappingOnDecorationFocusesApplication_data() {
191 return [
207 return [
192− {tag: "dash", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 0, focusTo: 1 },
208+ {tag: "dash to dialer", 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 },
209+ {tag: "dialer to dash", apps: [ "unity8-dash", "dialer-app", "camera-app" ], focusfrom: 1, focusTo: 0 },
194 ]
210 ]
195 }
211 }
196
212
197 function test_tappingOnDecorationFocusesApplication(data) {
213 function test_tappingOnDecorationFocusesApplication(data) {
198− var i;
199− for (i = 0; i < data.apps.length; i++) {
200− startApplication(data.apps[i]);
214+ data.apps.forEach(startApplication);
201− }
202
215
203 var fromAppDecoration = findChild(desktopStage, "appWindowDecoration_" + data.apps[data.focusfrom]);
216 var fromAppDecoration = findChild(desktopStage, "appWindowDecoration_" + data.apps[data.focusfrom]);
204 verify(fromAppDecoration);
217 verify(fromAppDecoration);
@@ -210,5 +223,23 @@ Item {
210 tap(toAppDecoration);
223 tap(toAppDecoration);
211 tryCompare(ApplicationManager.findApplication(data.apps[data.focusTo]).session.surface, "activeFocus", true);
224 tryCompare(ApplicationManager.findApplication(data.apps[data.focusTo]).session.surface, "activeFocus", true);
212 }
225 }
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+ }
213 }
244 }
214}
245}