@@ -39,6 +39,8 @@ Item {
41 id: scopes
41 id: scopes
42+ // for tryGenericScopeView
43+ onLoadedChanged: if (loaded) genericScopeView.scope = scopes.getScope(2);
44 SignalSpy {
46 SignalSpy {
@@ -59,7 +61,7 @@ Item {
59 name: "GenericScopeView"
61 name: "GenericScopeView"
60 when: scopes.loaded && windowShown
62 when: scopes.loaded && windowShown
62− property Item previewListView: findChild(genericScopeView, "previewListView")
64+ property Item subPageLoader: findChild(genericScopeView, "subPageLoader")
63 property Item header: findChild(genericScopeView, "scopePageHeader")
65 property Item header: findChild(genericScopeView, "scopePageHeader")
65 function init() {
67 function init() {
@@ -94,24 +96,24 @@ Item {
94 tryCompare(genericScopeView.scope, "isActive", false)
96 tryCompare(genericScopeView.scope, "isActive", false)
95 genericScopeView.isCurrent = true
97 genericScopeView.isCurrent = true
96 tryCompare(genericScopeView.scope, "isActive", true)
98 tryCompare(genericScopeView.scope, "isActive", true)
97− testCase.previewListView.open = true
99+ testCase.subPageLoader.open = true
98 tryCompare(genericScopeView.scope, "isActive", false)
100 tryCompare(genericScopeView.scope, "isActive", false)
99− testCase.previewListView.open = false
101+ testCase.subPageLoader.open = false
100 tryCompare(genericScopeView.scope, "isActive", true)
102 tryCompare(genericScopeView.scope, "isActive", true)
101 genericScopeView.isCurrent = false
103 genericScopeView.isCurrent = false
102 tryCompare(genericScopeView.scope, "isActive", false)
104 tryCompare(genericScopeView.scope, "isActive", false)
105 function test_showDash() {
107 function test_showDash() {
106− testCase.previewListView.open = true;
108+ testCase.subPageLoader.open = true;
107 genericScopeView.scope.showDash();
109 genericScopeView.scope.showDash();
108− tryCompare(testCase.previewListView, "open", false);
110+ tryCompare(testCase.subPageLoader, "open", false);
111 function test_hideDash() {
113 function test_hideDash() {
112− testCase.previewListView.open = true;
114+ testCase.subPageLoader.open = true;
113 genericScopeView.scope.hideDash();
115 genericScopeView.scope.hideDash();
114− tryCompare(testCase.previewListView, "open", false);
116+ tryCompare(testCase.subPageLoader, "open", false);
117 function test_searchQuery() {
119 function test_searchQuery() {
@@ -214,7 +216,7 @@ Item {
215 openPreview(4, 0);
217 openPreview(4, 0);
217− compare(testCase.previewListView.count, 12, "There should only be 12 items in preview.");
219+ compare(testCase.subPageLoader.count, 12, "There should only be 12 items in preview.");
219 closePreview();
221 closePreview();
@@ -276,19 +278,21 @@ Item {
277 var tile = findChild(findChild(genericScopeView, category), "delegate"+delegate);
279 var tile = findChild(findChild(genericScopeView, category), "delegate"+delegate);
278 mouseClick(tile, tile.width / 2, tile.height / 2);
280 mouseClick(tile, tile.width / 2, tile.height / 2);
279− tryCompare(testCase.previewListView, "open", true);
281+ tryCompare(testCase.subPageLoader, "open", true);
280− tryCompare(testCase.previewListView, "x", 0);
282+ tryCompare(testCase.subPageLoader, "x", 0);
283 function closePreview() {
285 function closePreview() {
284− var closePreviewMouseArea = findChild(genericScopeView, "innerPageHeader");
286+ var closePreviewMouseArea = findChild(subPageLoader.item, "pageHeader");
285 mouseClick(closePreviewMouseArea, units.gu(2), units.gu(2));
287 mouseClick(closePreviewMouseArea, units.gu(2), units.gu(2));
287− tryCompare(testCase.previewListView, "open", false);
289+ tryCompare(testCase.subPageLoader, "open", false);
290+ tryCompare(testCase.subPageLoader, "visible", false);
290 function test_previewOpenClose() {
293 function test_previewOpenClose() {
291− tryCompare(testCase.previewListView, "open", false);
294+ tryCompare(testCase.subPageLoader, "open", false);
295+ tryCompare(testCase.subPageLoader, "visible", false);
293 var categoryListView = findChild(genericScopeView, "categoryListView");
297 var categoryListView = findChild(genericScopeView, "categoryListView");
294 categoryListView.positionAtBeginning();
298 categoryListView.positionAtBeginning();
@@ -300,7 +304,7 @@ Item {
300 function test_showPreviewCarousel() {
304 function test_showPreviewCarousel() {
301 var category = scrollToCategory("dashCategory1");
305 var category = scrollToCategory("dashCategory1");
303− tryCompare(testCase.previewListView, "open", false);
307+ tryCompare(testCase.subPageLoader, "open", false);
305 var tile = findChild(category, "carouselDelegate1");
309 var tile = findChild(category, "carouselDelegate1");
306 verify(tile, "Could not find delegate");
310 verify(tile, "Could not find delegate");
@@ -308,14 +312,14 @@ Item {
308 mouseClick(tile, tile.width / 2, tile.height / 2);
312 mouseClick(tile, tile.width / 2, tile.height / 2);
309 tryCompare(tile, "explicitlyScaled", true);
313 tryCompare(tile, "explicitlyScaled", true);
310 mouseClick(tile, tile.width / 2, tile.height / 2);
314 mouseClick(tile, tile.width / 2, tile.height / 2);
311− tryCompare(testCase.previewListView, "open", true);
315+ tryCompare(testCase.subPageLoader, "open", true);
312− tryCompare(testCase.previewListView, "x", 0);
316+ tryCompare(testCase.subPageLoader, "x", 0);
314 closePreview();
318 closePreview();
316 mousePress(tile, tile.width / 2, tile.height / 2);
320 mousePress(tile, tile.width / 2, tile.height / 2);
317− tryCompare(testCase.previewListView, "open", true);
321+ tryCompare(testCase.subPageLoader, "open", true);
318− tryCompare(testCase.previewListView, "x", 0);
322+ tryCompare(testCase.subPageLoader, "x", 0);
319 mouseRelease(tile, tile.width / 2, tile.height / 2);
323 mouseRelease(tile, tile.width / 2, tile.height / 2);
321 closePreview();
325 closePreview();
@@ -324,20 +328,20 @@ Item {
324 function test_showPreviewHorizontalList() {
328 function test_showPreviewHorizontalList() {
325 var category = scrollToCategory("dashCategory18");
329 var category = scrollToCategory("dashCategory18");
327− tryCompare(testCase.previewListView, "open", false);
331+ tryCompare(testCase.subPageLoader, "open", false);
329 var tile = findChild(category, "delegate1");
333 var tile = findChild(category, "delegate1");
330 verify(tile, "Could not find delegate");
334 verify(tile, "Could not find delegate");
332 mouseClick(tile, tile.width / 2, tile.height / 2);
336 mouseClick(tile, tile.width / 2, tile.height / 2);
333− tryCompare(testCase.previewListView, "open", true);
337+ tryCompare(testCase.subPageLoader, "open", true);
334− tryCompare(testCase.previewListView, "x", 0);
338+ tryCompare(testCase.subPageLoader, "x", 0);
336 closePreview();
340 closePreview();
338 mousePress(tile, tile.width / 2, tile.height / 2);
342 mousePress(tile, tile.width / 2, tile.height / 2);
339− tryCompare(testCase.previewListView, "open", true);
343+ tryCompare(testCase.subPageLoader, "open", true);
340− tryCompare(testCase.previewListView, "x", 0);
344+ tryCompare(testCase.subPageLoader, "x", 0);
341 mouseRelease(tile, tile.width / 2, tile.height / 2);
345 mouseRelease(tile, tile.width / 2, tile.height / 2);
343 closePreview();
347 closePreview();
@@ -347,25 +351,52 @@ Item {
347 var categoryListView = findChild(genericScopeView, "categoryListView");
351 var categoryListView = findChild(genericScopeView, "categoryListView");
348 categoryListView.positionAtBeginning();
352 categoryListView.positionAtBeginning();
350− tryCompare(testCase.previewListView, "open", false);
354+ tryCompare(testCase.subPageLoader, "open", false);
351− var previewListViewList = findChild(previewListView, "listView");
353 openPreview();
356 openPreview();
357+ var previewListViewList = findChild(subPageLoader.item, "listView");
355 // flick to the next previews
359 // flick to the next previews
356− tryCompare(testCase.previewListView, "count", 15);
360+ tryCompare(testCase.subPageLoader, "count", 15);
357− for (var i = 1; i < testCase.previewListView.count; ++i) {
361+ for (var i = 1; i < testCase.subPageLoader.count; ++i) {
358− mouseFlick(testCase.previewListView, testCase.previewListView.width - units.gu(1),
362+ mouseFlick(testCase.subPageLoader.item, testCase.subPageLoader.width - units.gu(1),
359− testCase.previewListView.height / 2,
363+ testCase.subPageLoader.height / 2,
360 units.gu(2),
364 units.gu(2),
361− testCase.previewListView.height / 2);
365+ testCase.subPageLoader.height / 2);
362 tryCompare(previewListViewList, "moving", false);
366 tryCompare(previewListViewList, "moving", false);
363− tryCompare(testCase.previewListView.currentItem, "objectName", "preview" + i);
367+ tryCompare(testCase.subPageLoader.currentItem, "objectName", "preview" + i);
366 closePreview();
369 closePreview();
372+ function test_settingsOpenClose() {
373+ waitForRendering(genericScopeView);
374+ verify(header, "Could not find the header.");
375+ var innerHeader = findChild(header, "innerPageHeader");
376+ verify(innerHeader, "Could not find the inner header");
379+ tryCompare(testCase.subPageLoader, "open", false);
380+ tryCompare(testCase.subPageLoader, "visible", false);
381+ var settings = findChild(innerHeader, "settings_header_button");
382+ mouseClick(settings, settings.width / 2, settings.height / 2);
383+ tryCompare(testCase.subPageLoader, "open", true);
384+ tryCompareFunction(function() { return (String(subPageLoader.source)).indexOf("ScopeSettingsPage.qml") != -1; }, true);
385+ tryCompare(genericScopeView, "subPageShown", true);
386+ compare(testCase.subPageLoader.subPage, "settings");
387+ tryCompare(testCase.subPageLoader, "x", 0);
390+ var settingsHeader = findChild(testCase.subPageLoader.item, "pageHeader");
391+ mouseClick(settingsHeader, units.gu(2), units.gu(2));
392+ tryCompare(testCase.subPageLoader, "open", false);
393+ tryCompare(genericScopeView, "subPageShown", false);
394+ var categoryListView = findChild(genericScopeView, "categoryListView");
395+ tryCompare(categoryListView, "x", 0);
396+ tryCompare(testCase.subPageLoader, "visible", false);
397+ tryCompare(testCase.subPageLoader, "source", "");
369 function test_header_style_data() {
400 function test_header_style_data() {
371 { tag: "Default", index: 0, foreground: UbuntuColors.darkGrey, background: "color:///#f5f5f5", logo: "" },
402 { tag: "Default", index: 0, foreground: UbuntuColors.darkGrey, background: "color:///#f5f5f5", logo: "" },