@@ -200,8 +200,12 @@ Item {
200200 dashContent.setCurrentScopeAtIndex(data.index, true, false);
201201 tryCompareFunction(get_current_item_object_name, data.objectName)
202202 var scopeView = findChild(dashContent, data.objectName);
203− var pageHeader = findChild(scopeView, "innerPageHeader");
204− compare(pageHeader.title, scopesModel.getScope(data.index).name);
203+ verify(scopeView, "Could not find the scope view.");
204+ var pageHeader = findChild(scopeView, "scopePageHeader");
205+ verify(pageHeader, "Could not find the scope page header.");
206+ var innerHeader = findChild(pageHeader, "innerPageHeader");
207+ verify(innerHeader, "Could not find the scope page header.");
208+ compare(innerHeader.title, scopesModel.getScope(data.index).name);
205209 }
206210
207211 function test_is_active_data() {
@@ -266,56 +270,57 @@ Item {
266270 verify(carouselLV.tileWidth / carouselLV.tileHeight == cardTool.components["art"]["aspect-ratio"]);
267271 }
268272
269− function test_navigations() {
273+ function test_mainNavigation() {
270274 var dashContentList = findChild(dashContent, "dashContentList");
271275 tryCompareFunction(function() { return findChild(dashContentList.currentItem, "dashNavigation") != null; }, true);
272276 var dashNavigation = findChild(dashContentList.currentItem, "dashNavigation");
273277 tryCompare(dashNavigation, "visible", true);
274− compare(dashNavigation.showList, false);
275− waitForRendering(dashNavigation);
276− mouseClick(dashNavigation, 0, 0);
277− compare(dashNavigation.showList, true);
278+ var dashNavigationButton = findChild(dashContentList.currentItem, "navigationButton");
279+ compare(dashNavigationButton.showList, false);
280+ waitForRendering(dashNavigationButton);
281+ mouseClick(dashNavigationButton, 0, 0);
282+ compare(dashNavigationButton.showList, true);
278283
279− var navigationListView = findChild(dashNavigation, "navigationListView");
284+ var navigationListView = findChild(dashNavigationButton, "navigationListView");
280285 compare(navigationListView.count, 1);
281286 tryCompare(navigationListView.currentItem.navigation, "loaded", true);
282287
283288 waitForRendering(navigationListView);
284289 waitForRendering(navigationListView.currentItem);
285290
286− var allButton = findChild(dashNavigation, "allButton");
291+ var allButton = findChild(dashNavigationButton, "allButton");
287292 compare(allButton.visible, false);
288293
289− var navigation = findChild(dashNavigation, "navigation0child3");
294+ var navigation = findChild(dashNavigationButton, "navigation0child3");
290295 mouseClick(navigation, 0, 0);
291− compare(dashNavigation.showList, false);
292− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle3");
296+ compare(dashNavigationButton.showList, false);
297+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle3");
293298 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
294299
295− mouseClick(dashNavigation, 0, 0);
296− compare(dashNavigation.showList, true);
300+ mouseClick(dashNavigationButton, 0, 0);
301+ compare(dashNavigationButton.showList, true);
297302 waitForRendering(navigationListView);
298303 waitForRendering(navigationListView.currentItem);
299304 compare(allButton.visible, true);
300305
301306 mouseClick(allButton, 0, 0);
302− compare(dashNavigation.showList, false);
303− tryCompare(dashNavigation.currentNavigation, "navigationId", "root");
307+ compare(dashNavigationButton.showList, false);
308+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "root");
304309 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
305310
306− mouseClick(dashNavigation, 0, 0);
307− compare(dashNavigation.showList, true);
311+ mouseClick(dashNavigationButton, 0, 0);
312+ compare(dashNavigationButton.showList, true);
308313 waitForRendering(navigationListView);
309314 waitForRendering(navigationListView.currentItem);
310315 compare(allButton.visible, false);
311316
312− navigation = findChild(dashNavigation, "navigation0child2");
317+ navigation = findChild(dashNavigationButton, "navigation0child2");
313318 mouseClick(navigation, 0, 0);
314− compare(dashNavigation.showList, true);
315− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
319+ compare(dashNavigationButton.showList, true);
320+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
316321 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
317322
318− var navigationList1 = findChild(dashNavigation, "navigation1");
323+ var navigationList1 = findChild(dashNavigationButton, "navigation1");
319324 allButton = findChild(navigationList1, "allButton");
320325 var backButton = findChild(findChild(navigationList1, "navigation1"), "backButton");
321326 compare(allButton.visible, true);
@@ -324,61 +329,160 @@ Item {
324329 tryCompare(navigationListView, "contentX", navigationList1.x);
325330 waitForRendering(navigationListView);
326331 mouseClick(allButton, 0, 0);
327− compare(dashNavigation.showList, false);
328− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
332+ compare(dashNavigationButton.showList, false);
333+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
329334 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
330335
331− mouseClick(dashNavigation, 0, 0);
332− compare(dashNavigation.showList, true);
336+ mouseClick(dashNavigationButton, 0, 0);
337+ compare(dashNavigationButton.showList, true);
333338 waitForRendering(navigationListView);
334339 waitForRendering(navigationListView.currentItem);
335340 compare(allButton.visible, true);
336341 compare(backButton.visible, true);
337342
338343 tryCompare(navigationList1.navigation, "loaded", true);
339− navigation = findChild(dashNavigation, "navigation1child2");
344+ navigation = findChild(dashNavigationButton, "navigation1child2");
340345 mouseClick(navigation, 0, 0);
341− compare(dashNavigation.showList, false);
342− tryCompare(dashNavigation.currentNavigation, "navigationId", "childmiddle22");
346+ compare(dashNavigationButton.showList, false);
347+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "childmiddle22");
343348 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
344349
345− mouseClick(dashNavigation, 0, 0);
346− compare(dashNavigation.showList, true);
350+ mouseClick(dashNavigationButton, 0, 0);
351+ compare(dashNavigationButton.showList, true);
347352 waitForRendering(navigationListView);
348353 waitForRendering(navigationListView.currentItem);
349354
350355 tryCompare(navigationList1.navigation, "loaded", true);
351− navigation = findChild(dashNavigation, "navigation1child3");
356+ navigation = findChild(dashNavigationButton, "navigation1child3");
352357 mouseClick(navigation, 0, 0);
353− compare(dashNavigation.showList, false);
354− tryCompare(dashNavigation.currentNavigation, "navigationId", "childmiddle23");
358+ compare(dashNavigationButton.showList, false);
359+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "childmiddle23");
355360 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
356361
357− mouseClick(dashNavigation, 0, 0);
358− compare(dashNavigation.showList, true);
362+ mouseClick(dashNavigationButton, 0, 0);
363+ compare(dashNavigationButton.showList, true);
359364 waitForRendering(navigationListView);
360365 waitForRendering(navigationListView.currentItem);
361366 mouseClick(backButton, 0, 0);
362367
363− tryCompare(dashNavigation.currentNavigation, "navigationId", "root");
368+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "root");
364369 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
365− compare(dashNavigation.showList, true);
366− mouseClick(dashNavigation, 0, 0);
367− compare(dashNavigation.showList, false);
370+ compare(dashNavigationButton.showList, true);
371+ mouseClick(dashNavigationButton, 0, 0);
372+ compare(dashNavigationButton.showList, false);
368373
369− mouseClick(dashNavigation, 0, 0);
370− compare(dashNavigation.showList, true);
374+ mouseClick(dashNavigationButton, 0, 0);
375+ compare(dashNavigationButton.showList, true);
371376 tryCompare(navigationListView.currentItem.navigation, "loaded", true);
372− navigation = findChild(dashNavigation, "navigation0child2");
377+ navigation = findChild(dashNavigationButton, "navigation0child2");
373378 mouseClick(navigation, 0, 0);
374− compare(dashNavigation.showList, true);
375− navigationList1 = findChild(dashNavigation, "navigation1");
379+ compare(dashNavigationButton.showList, true);
380+ navigationList1 = findChild(dashNavigationButton, "navigation1");
376381 compare(navigationList1.navigation.loaded, false);
377− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
382+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
378383 allButton = findChild(navigationList1, "allButton");
379− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
384+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
380385 mouseClick(allButton, 0, 0);
381− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
386+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
387+ }
388+
389+ function test_altNavigation() {
390+ var dashContentList = findChild(dashContent, "dashContentList");
391+ tryCompareFunction(function() { return findChild(dashContentList.currentItem, "dashNavigation") != null; }, true);
392+ var dashNavigation = findChild(dashContentList.currentItem, "dashNavigation");
393+ tryCompare(dashNavigation, "visible", true);
394+ var dashNavigationButton = findChild(dashContentList.currentItem, "altNavigationButton");
395+ verify(dashNavigationButton, "Can't find navigation button");
396+
397+ compare(dashNavigationButton.showList, false);
398+ waitForRendering(dashNavigationButton);
399+ mouseClick(dashNavigationButton, 0, 0);
400+ compare(dashNavigationButton.showList, true);
401+
402+ var navigationListView = findChild(dashNavigationButton, "navigationListView");
403+ compare(navigationListView.count, 1);
404+ tryCompare(navigationListView.currentItem.navigation, "loaded", true);
405+
406+ waitForRendering(navigationListView);
407+ waitForRendering(navigationListView.currentItem);
408+
409+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "altrootChild1");
410+ tryCompare(navigationListView.currentItem.navigation, "navigationId", "altroot");
411+
412+ var allButton = findChild(dashNavigationButton, "allButton");
413+ compare(allButton.visible, false);
414+ var backButton = findChild(navigationListView, "backButton");
415+ compare(backButton.visible, false);
416+
417+ var navigation = findChild(dashNavigationButton, "navigation0child3");
418+ mouseClick(navigation, 0, 0);
419+ compare(dashNavigationButton.showList, false);
420+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "altrootChild3");
421+ tryCompare(navigationListView.currentItem.navigation, "navigationId", "altroot");
422+
423+ mouseClick(dashNavigationButton, 0, 0);
424+ compare(dashNavigationButton.showList, true);
425+ waitForRendering(navigationListView);
426+ waitForRendering(navigationListView.currentItem);
427+ compare(allButton.visible, false);
428+
429+ navigation = findChild(dashNavigationButton, "navigation0child2");
430+ mouseClick(navigation, 0, 0);
431+ compare(dashNavigationButton.showList, false);
432+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "altrootChild2");
433+ tryCompare(navigationListView.currentItem.navigation, "navigationId", "altroot");
434+
435+ mouseClick(dashNavigationButton, 0, 0);
436+ compare(dashNavigationButton.showList, true);
437+ waitForRendering(navigationListView);
438+ waitForRendering(navigationListView.currentItem);
439+ verify(!backButton.visible, "Back button should not be visible");
440+
441+ compare(navigationListView.count, 1, "There should be no second-level navigation");
442+
443+ mouseClick(dashNavigationButton, 0, 0);
444+ compare(dashNavigationButton.showList, false);
445+ }
446+
447+ function test_navigationsClosing() {
448+ var dashContentList = findChild(dashContent, "dashContentList");
449+ tryCompareFunction(function() { return findChild(dashContentList.currentItem, "dashNavigation") != null; }, true);
450+ var dashNavigation = findChild(dashContentList.currentItem, "dashNavigation");
451+ tryCompare(dashNavigation, "visible", true);
452+ var dashNavigationButton = findChild(dashContentList.currentItem, "navigationButton");
453+ verify(dashNavigationButton, "Can't find navigation button");
454+ var dashAltNavigationButton = findChild(dashContentList.currentItem, "altNavigationButton");
455+ verify(dashAltNavigationButton, "Can't find alternative navigation button");
456+
457+ waitForRendering(dashNavigationButton);
458+ waitForRendering(dashAltNavigationButton);
459+
460+ compare(dashNavigationButton.showList, false);
461+ compare(dashAltNavigationButton.showList, false);
462+
463+ mouseClick(dashNavigation, 0, 0);
464+ compare(dashNavigationButton.showList, false);
465+ compare(dashAltNavigationButton.showList, true);
466+
467+ var navigationListView = findChild(dashAltNavigationButton, "navigationListView");
468+ tryCompare(navigationListView.currentItem.navigation, "loaded", true);
469+
470+ mouseClick(dashNavigation, dashNavigationButton.x, 0);
471+ compare(dashNavigationButton.showList, false);
472+ compare(dashAltNavigationButton.showList, false);
473+
474+ tryCompare(navigationListView, "visible", false);
475+
476+ mouseClick(dashNavigation, dashNavigationButton.x, 0);
477+ compare(dashNavigationButton.showList, true);
478+ compare(dashAltNavigationButton.showList, false);
479+
480+ navigationListView = findChild(dashNavigationButton, "navigationListView");
481+ tryCompare(navigationListView.currentItem.navigation, "loaded", true);
482+
483+ mouseClick(dashNavigation, 0, 0);
484+ compare(dashNavigationButton.showList, false);
485+ compare(dashAltNavigationButton.showList, false);
382486 }
383487
384488 function test_searchHint() {