@@ -80,6 +80,12 @@ Item {
80 signalName: "timeZoneChangedCalled"
80 signalName: "timeZoneChangedCalled"
85+ target: AccountsService
86+ signalName: "keymapsChanged"
83 function setup() {
89 function setup() {
84 AccountsService.hereEnabled = false;
90 AccountsService.hereEnabled = false;
85 AccountsService.hereLicensePath = Qt.resolvedUrl("licenses");
91 AccountsService.hereLicensePath = Qt.resolvedUrl("licenses");
@@ -94,6 +100,7 @@ Item {
94 activateLocationSpy.clear();
100 activateLocationSpy.clear();
95 activateGPSSpy.clear();
101 activateGPSSpy.clear();
96 timezoneSpy.clear();
102 timezoneSpy.clear();
103+ kbdLayoutSpy.clear();
98 ActionData.data = {
105 ActionData.data = {
99 "location-detection-enabled": {
106 "location-detection-enabled": {
@@ -191,6 +198,10 @@ Item {
191 tap(findChild(page, "forwardButton"));
198 tap(findChild(page, "forwardButton"));
201+ page = waitForPage("keyboardPage");
202+ if (name === page.objectName) return page;
203+ tap(findChild(page, "forwardButton"));
194 page = waitForPage("wifiPage");
205 page = waitForPage("wifiPage");
195 if (name === page.objectName) return page;
206 if (name === page.objectName) return page;
196 tap(findChild(page, "forwardButton"));
207 tap(findChild(page, "forwardButton"));
@@ -494,5 +505,27 @@ Item {
494 tap(findChild(page, "nameInput"));
505 tap(findChild(page, "nameInput"));
495 typeString("foobar");
506 typeString("foobar");
509+ function test_keyboardPage() {
510+ var page = goToPage("keyboardPage");
511+ var forwardButton = findChild(page, "forwardButton");
514+ var langSelector = findChild(page, "langSelector");
515+ verify(langSelector);
516+ langSelector.selectedIndex = 1; // should be fr_FR
517+ print("Selected language:", page.selectedLanguage);
520+ var kbdDelegate = findChild(page, "kbdDelegate1");
521+ verify(kbdDelegate);
522+ mouseClick(kbdDelegate);
523+ verify(kbdDelegate.isCurrent);
524+ print("Selected keymap:", page.selectedKeymap);
526+ // verify the keymapsChanged signal got fired
527+ tap(findChild(page, "forwardButton"));
528+ tryCompare(kbdLayoutSpy, "count", 1);