@@ -24,6 +24,7 @@ import Ubuntu.SystemSettings.SecurityPrivacy 1.0
24import Ubuntu.SystemSettings.TimeDate 1.1
24import Ubuntu.SystemSettings.TimeDate 1.1
25import Unity.Test 0.1 as UT
25import Unity.Test 0.1 as UT
26import Wizard 0.1
26import Wizard 0.1
27+import Unity.InputInfo 0.1
27import "../../../qml/Wizard"
28import "../../../qml/Wizard"
@@ -41,7 +42,12 @@ Item {
41 id: wizard
42 id: wizard
42 anchors.fill: parent
43 anchors.fill: parent
45+ Component.onCompleted: {
46+ MockInputDeviceBackend.addMockDevice("/test", InputInfo.Keyboard);
44 Component.onDestruction: {
49 Component.onDestruction: {
50+ MockInputDeviceBackend.removeDevice("/test");
45 wizardLoader.itemDestroyed = true;
51 wizardLoader.itemDestroyed = true;
@@ -74,6 +80,12 @@ Item {
74 signalName: "timeZoneChangedCalled"
80 signalName: "timeZoneChangedCalled"
85+ target: AccountsService
86+ signalName: "keymapsChanged"
77 function setup() {
89 function setup() {
78 AccountsService.hereEnabled = false;
90 AccountsService.hereEnabled = false;
79 AccountsService.hereLicensePath = Qt.resolvedUrl("licenses");
91 AccountsService.hereLicensePath = Qt.resolvedUrl("licenses");
@@ -88,6 +100,7 @@ Item {
88 activateLocationSpy.clear();
100 activateLocationSpy.clear();
89 activateGPSSpy.clear();
101 activateGPSSpy.clear();
90 timezoneSpy.clear();
102 timezoneSpy.clear();
103+ kbdLayoutSpy.clear();
92 ActionData.data = {
105 ActionData.data = {
93 "location-detection-enabled": {
106 "location-detection-enabled": {
@@ -176,6 +189,10 @@ Item {
176 tap(findChild(page, "forwardButton"));
189 tap(findChild(page, "forwardButton"));
192+ page = waitForPage("keyboardPage");
193+ if (name === page.objectName) return page;
194+ tap(findChild(page, "forwardButton"));
179 page = waitForPage("wifiPage");
196 page = waitForPage("wifiPage");
180 if (name === page.objectName) return page;
197 if (name === page.objectName) return page;
181 tap(findChild(page, "forwardButton"));
198 tap(findChild(page, "forwardButton"));
@@ -223,7 +240,7 @@ Item {
224 function test_languageChange() {
241 function test_languageChange() {
225 var page = goToPage("languagePage");
242 var page = goToPage("languagePage");
226− tap(findChild(page, "languageDelegate1")); // should invoke "fr" lang
243+ tap(findChild(page, "languageDelegate_french_(france)")); // should invoke "fr" lang
228 tryCompare(i18n, "language", "fr_FR");
245 tryCompare(i18n, "language", "fr_FR");
229 tap(findChild(page, "forwardButton"));
246 tap(findChild(page, "forwardButton"));
@@ -281,7 +298,7 @@ Item {
282 // Make sure that moving from sim page lands on wifi page
299 // Make sure that moving from sim page lands on wifi page
283 tap(findChild(page, "forwardButton"));
300 tap(findChild(page, "forwardButton"));
284− waitForPage("wifiPage"); // thus skipping passwdPage
301+ waitForPage("keyboardPage"); // thus skipping passwdPage
287 function verifyAnimationsNotRunning(page) {
304 function verifyAnimationsNotRunning(page) {
@@ -319,6 +336,8 @@ Item {
319 // now finish up
336 // now finish up
320 page = waitForPage("reportingPage");
337 page = waitForPage("reportingPage");
321 tap(findChild(page, "forwardButton"));
338 tap(findChild(page, "forwardButton"));
339+ page = waitForPage("systemUpdatePage");
340+ tap(findChild(page, "forwardButton"));
322 page = waitForPage("finishedPage");
341 page = waitForPage("finishedPage");
323 waitUntilTransitionsEnd(page);
342 waitUntilTransitionsEnd(page);
324 tap(findChild(page, "finishButton"));
343 tap(findChild(page, "finishButton"));
@@ -359,6 +378,8 @@ Item {
359 // now finish up
378 // now finish up
360 page = waitForPage("reportingPage");
379 page = waitForPage("reportingPage");
361 tap(findChild(page, "forwardButton"));
380 tap(findChild(page, "forwardButton"));
381+ page = waitForPage("systemUpdatePage");
382+ tap(findChild(page, "forwardButton"));
362 page = waitForPage("finishedPage");
383 page = waitForPage("finishedPage");
363 waitUntilTransitionsEnd(page);
384 waitUntilTransitionsEnd(page);
364 tap(findChild(page, "finishButton"));
385 tap(findChild(page, "finishButton"));
@@ -377,6 +398,8 @@ Item {
377 tap(findChild(page, "forwardButton"));
398 tap(findChild(page, "forwardButton"));
378 page = waitForPage("reportingPage");
399 page = waitForPage("reportingPage");
379 tap(findChild(page, "forwardButton"));
400 tap(findChild(page, "forwardButton"));
401+ page = waitForPage("systemUpdatePage");
402+ tap(findChild(page, "forwardButton"));
380 page = waitForPage("finishedPage");
403 page = waitForPage("finishedPage");
381 waitUntilTransitionsEnd(page);
404 waitUntilTransitionsEnd(page);
382 tap(findChild(page, "finishButton"));
405 tap(findChild(page, "finishButton"));
@@ -480,5 +503,27 @@ Item {
480 tap(findChild(page, "nameInput"));
503 tap(findChild(page, "nameInput"));
481 typeString("foobar");
504 typeString("foobar");
507+ function test_keyboardPage() {
508+ var page = goToPage("keyboardPage");
509+ var forwardButton = findChild(page, "forwardButton");
512+ var langSelector = findChild(page, "langSelector");
513+ verify(langSelector);
514+ langSelector.selectedIndex = 1; // should be fr_FR
515+ print("Selected language:", page.selectedLanguage);
518+ var kbdDelegate = findChild(page, "kbdDelegate1");
519+ verify(kbdDelegate);
520+ mouseClick(kbdDelegate);
521+ verify(kbdDelegate.isCurrent);
522+ print("Selected keymap:", page.selectedKeymap);
524+ // verify the keymapsChanged signal got fired
525+ tap(findChild(page, "forwardButton"));
526+ tryCompare(kbdLayoutSpy, "count", 1);