@@ -266,56 +266,57 @@ Item {
266 verify(carouselLV.tileWidth / carouselLV.tileHeight == cardTool.components["art"]["aspect-ratio"]);
266 verify(carouselLV.tileWidth / carouselLV.tileHeight == cardTool.components["art"]["aspect-ratio"]);
269− function test_navigations() {
269+ function test_mainNavigation() {
270 var dashContentList = findChild(dashContent, "dashContentList");
270 var dashContentList = findChild(dashContent, "dashContentList");
271 tryCompareFunction(function() { return findChild(dashContentList.currentItem, "dashNavigation") != null; }, true);
271 tryCompareFunction(function() { return findChild(dashContentList.currentItem, "dashNavigation") != null; }, true);
272 var dashNavigation = findChild(dashContentList.currentItem, "dashNavigation");
272 var dashNavigation = findChild(dashContentList.currentItem, "dashNavigation");
273 tryCompare(dashNavigation, "visible", true);
273 tryCompare(dashNavigation, "visible", true);
274+ var dashNavigationButton = findChild(dashContentList.currentItem, "navigationButton");
274− compare(dashNavigation.showList, false);
275+ compare(dashNavigationButton.showList, false);
275− waitForRendering(dashNavigation);
276+ waitForRendering(dashNavigationButton);
276− mouseClick(dashNavigation, 0, 0);
277+ mouseClick(dashNavigationButton, 0, 0);
277− compare(dashNavigation.showList, true);
278+ compare(dashNavigationButton.showList, true);
279− var navigationListView = findChild(dashNavigation, "navigationListView");
280+ var navigationListView = findChild(dashNavigationButton, "navigationListView");
280 compare(navigationListView.count, 1);
281 compare(navigationListView.count, 1);
281 tryCompare(navigationListView.currentItem.navigation, "loaded", true);
282 tryCompare(navigationListView.currentItem.navigation, "loaded", true);
283 waitForRendering(navigationListView);
284 waitForRendering(navigationListView);
284 waitForRendering(navigationListView.currentItem);
285 waitForRendering(navigationListView.currentItem);
286− var allButton = findChild(dashNavigation, "allButton");
287+ var allButton = findChild(dashNavigationButton, "allButton");
287 compare(allButton.visible, false);
288 compare(allButton.visible, false);
289− var navigation = findChild(dashNavigation, "navigation0child3");
290+ var navigation = findChild(dashNavigationButton, "navigation0child3");
290 mouseClick(navigation, 0, 0);
291 mouseClick(navigation, 0, 0);
291− compare(dashNavigation.showList, false);
292+ compare(dashNavigationButton.showList, false);
292− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle3");
293+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle3");
293 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
294 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
295− mouseClick(dashNavigation, 0, 0);
296+ mouseClick(dashNavigationButton, 0, 0);
296− compare(dashNavigation.showList, true);
297+ compare(dashNavigationButton.showList, true);
297 waitForRendering(navigationListView);
298 waitForRendering(navigationListView);
298 waitForRendering(navigationListView.currentItem);
299 waitForRendering(navigationListView.currentItem);
299 compare(allButton.visible, true);
300 compare(allButton.visible, true);
301 mouseClick(allButton, 0, 0);
302 mouseClick(allButton, 0, 0);
302− compare(dashNavigation.showList, false);
303+ compare(dashNavigationButton.showList, false);
303− tryCompare(dashNavigation.currentNavigation, "navigationId", "root");
304+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "root");
304 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
305 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
306− mouseClick(dashNavigation, 0, 0);
307+ mouseClick(dashNavigationButton, 0, 0);
307− compare(dashNavigation.showList, true);
308+ compare(dashNavigationButton.showList, true);
308 waitForRendering(navigationListView);
309 waitForRendering(navigationListView);
309 waitForRendering(navigationListView.currentItem);
310 waitForRendering(navigationListView.currentItem);
310 compare(allButton.visible, false);
311 compare(allButton.visible, false);
312− navigation = findChild(dashNavigation, "navigation0child2");
313+ navigation = findChild(dashNavigationButton, "navigation0child2");
313 mouseClick(navigation, 0, 0);
314 mouseClick(navigation, 0, 0);
314− compare(dashNavigation.showList, true);
315+ compare(dashNavigationButton.showList, true);
315− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
316+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
316 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
317 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
318− var navigationList1 = findChild(dashNavigation, "navigation1");
319+ var navigationList1 = findChild(dashNavigationButton, "navigation1");
319 allButton = findChild(navigationList1, "allButton");
320 allButton = findChild(navigationList1, "allButton");
320 var backButton = findChild(findChild(navigationList1, "navigation1"), "backButton");
321 var backButton = findChild(findChild(navigationList1, "navigation1"), "backButton");
321 compare(allButton.visible, true);
322 compare(allButton.visible, true);
@@ -324,61 +325,160 @@ Item {
324 tryCompare(navigationListView, "contentX", navigationList1.x);
325 tryCompare(navigationListView, "contentX", navigationList1.x);
325 waitForRendering(navigationListView);
326 waitForRendering(navigationListView);
326 mouseClick(allButton, 0, 0);
327 mouseClick(allButton, 0, 0);
327− compare(dashNavigation.showList, false);
328+ compare(dashNavigationButton.showList, false);
328− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
329+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
329 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
330 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
331− mouseClick(dashNavigation, 0, 0);
332+ mouseClick(dashNavigationButton, 0, 0);
332− compare(dashNavigation.showList, true);
333+ compare(dashNavigationButton.showList, true);
333 waitForRendering(navigationListView);
334 waitForRendering(navigationListView);
334 waitForRendering(navigationListView.currentItem);
335 waitForRendering(navigationListView.currentItem);
335 compare(allButton.visible, true);
336 compare(allButton.visible, true);
336 compare(backButton.visible, true);
337 compare(backButton.visible, true);
338 tryCompare(navigationList1.navigation, "loaded", true);
339 tryCompare(navigationList1.navigation, "loaded", true);
339− navigation = findChild(dashNavigation, "navigation1child2");
340+ navigation = findChild(dashNavigationButton, "navigation1child2");
340 mouseClick(navigation, 0, 0);
341 mouseClick(navigation, 0, 0);
341− compare(dashNavigation.showList, false);
342+ compare(dashNavigationButton.showList, false);
342− tryCompare(dashNavigation.currentNavigation, "navigationId", "childmiddle22");
343+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "childmiddle22");
343 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
344 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
345− mouseClick(dashNavigation, 0, 0);
346+ mouseClick(dashNavigationButton, 0, 0);
346− compare(dashNavigation.showList, true);
347+ compare(dashNavigationButton.showList, true);
347 waitForRendering(navigationListView);
348 waitForRendering(navigationListView);
348 waitForRendering(navigationListView.currentItem);
349 waitForRendering(navigationListView.currentItem);
350 tryCompare(navigationList1.navigation, "loaded", true);
351 tryCompare(navigationList1.navigation, "loaded", true);
351− navigation = findChild(dashNavigation, "navigation1child3");
352+ navigation = findChild(dashNavigationButton, "navigation1child3");
352 mouseClick(navigation, 0, 0);
353 mouseClick(navigation, 0, 0);
353− compare(dashNavigation.showList, false);
354+ compare(dashNavigationButton.showList, false);
354− tryCompare(dashNavigation.currentNavigation, "navigationId", "childmiddle23");
355+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "childmiddle23");
355 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
356 tryCompare(navigationListView.currentItem.navigation, "navigationId", "middle2");
357− mouseClick(dashNavigation, 0, 0);
358+ mouseClick(dashNavigationButton, 0, 0);
358− compare(dashNavigation.showList, true);
359+ compare(dashNavigationButton.showList, true);
359 waitForRendering(navigationListView);
360 waitForRendering(navigationListView);
360 waitForRendering(navigationListView.currentItem);
361 waitForRendering(navigationListView.currentItem);
361 mouseClick(backButton, 0, 0);
362 mouseClick(backButton, 0, 0);
363− tryCompare(dashNavigation.currentNavigation, "navigationId", "root");
364+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "root");
364 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
365 tryCompare(navigationListView.currentItem.navigation, "navigationId", "root");
365− compare(dashNavigation.showList, true);
366+ compare(dashNavigationButton.showList, true);
366− mouseClick(dashNavigation, 0, 0);
367+ mouseClick(dashNavigationButton, 0, 0);
367− compare(dashNavigation.showList, false);
368+ compare(dashNavigationButton.showList, false);
369− mouseClick(dashNavigation, 0, 0);
370+ mouseClick(dashNavigationButton, 0, 0);
370− compare(dashNavigation.showList, true);
371+ compare(dashNavigationButton.showList, true);
371 tryCompare(navigationListView.currentItem.navigation, "loaded", true);
372 tryCompare(navigationListView.currentItem.navigation, "loaded", true);
372− navigation = findChild(dashNavigation, "navigation0child2");
373+ navigation = findChild(dashNavigationButton, "navigation0child2");
373 mouseClick(navigation, 0, 0);
374 mouseClick(navigation, 0, 0);
374− compare(dashNavigation.showList, true);
375+ compare(dashNavigationButton.showList, true);
375− navigationList1 = findChild(dashNavigation, "navigation1");
376+ navigationList1 = findChild(dashNavigationButton, "navigation1");
376 compare(navigationList1.navigation.loaded, false);
377 compare(navigationList1.navigation.loaded, false);
377− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
378+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
378 allButton = findChild(navigationList1, "allButton");
379 allButton = findChild(navigationList1, "allButton");
379− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
380+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
380 mouseClick(allButton, 0, 0);
381 mouseClick(allButton, 0, 0);
381− tryCompare(dashNavigation.currentNavigation, "navigationId", "middle2");
382+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "middle2");
385+ function test_altNavigation() {
386+ var dashContentList = findChild(dashContent, "dashContentList");
387+ tryCompareFunction(function() { return findChild(dashContentList.currentItem, "dashNavigation") != null; }, true);
388+ var dashNavigation = findChild(dashContentList.currentItem, "dashNavigation");
389+ tryCompare(dashNavigation, "visible", true);
390+ var dashNavigationButton = findChild(dashContentList.currentItem, "altNavigationButton");
391+ verify(dashNavigationButton, "Can't find navigation button");
393+ compare(dashNavigationButton.showList, false);
394+ waitForRendering(dashNavigationButton);
395+ mouseClick(dashNavigationButton, 0, 0);
396+ compare(dashNavigationButton.showList, true);
398+ var navigationListView = findChild(dashNavigationButton, "navigationListView");
399+ compare(navigationListView.count, 1);
400+ tryCompare(navigationListView.currentItem.navigation, "loaded", true);
402+ waitForRendering(navigationListView);
403+ waitForRendering(navigationListView.currentItem);
405+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "altrootChild1");
406+ tryCompare(navigationListView.currentItem.navigation, "navigationId", "altroot");
408+ var allButton = findChild(dashNavigationButton, "allButton");
409+ compare(allButton.visible, false);
410+ var backButton = findChild(navigationListView, "backButton");
411+ compare(backButton.visible, false);
413+ var navigation = findChild(dashNavigationButton, "navigation0child3");
414+ mouseClick(navigation, 0, 0);
415+ compare(dashNavigationButton.showList, false);
416+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "altrootChild3");
417+ tryCompare(navigationListView.currentItem.navigation, "navigationId", "altroot");
419+ mouseClick(dashNavigationButton, 0, 0);
420+ compare(dashNavigationButton.showList, true);
421+ waitForRendering(navigationListView);
422+ waitForRendering(navigationListView.currentItem);
423+ compare(allButton.visible, false);
425+ navigation = findChild(dashNavigationButton, "navigation0child2");
426+ mouseClick(navigation, 0, 0);
427+ compare(dashNavigationButton.showList, false);
428+ tryCompare(dashNavigationButton.currentNavigation, "navigationId", "altrootChild2");
429+ tryCompare(navigationListView.currentItem.navigation, "navigationId", "altroot");
431+ mouseClick(dashNavigationButton, 0, 0);
432+ compare(dashNavigationButton.showList, true);
433+ waitForRendering(navigationListView);
434+ waitForRendering(navigationListView.currentItem);
435+ verify(!backButton.visible, "Back button should not be visible");
437+ compare(navigationListView.count, 1, "There should be no second-level navigation");
439+ mouseClick(dashNavigationButton, 0, 0);
440+ compare(dashNavigationButton.showList, false);
443+ function test_navigationsClosing() {
444+ var dashContentList = findChild(dashContent, "dashContentList");
445+ tryCompareFunction(function() { return findChild(dashContentList.currentItem, "dashNavigation") != null; }, true);
446+ var dashNavigation = findChild(dashContentList.currentItem, "dashNavigation");
447+ tryCompare(dashNavigation, "visible", true);
448+ var dashNavigationButton = findChild(dashContentList.currentItem, "navigationButton");
449+ verify(dashNavigationButton, "Can't find navigation button");
450+ var dashAltNavigationButton = findChild(dashContentList.currentItem, "altNavigationButton");
451+ verify(dashAltNavigationButton, "Can't find alternative navigation button");
453+ waitForRendering(dashNavigationButton);
454+ waitForRendering(dashAltNavigationButton);
456+ compare(dashNavigationButton.showList, false);
457+ compare(dashAltNavigationButton.showList, false);
459+ mouseClick(dashNavigation, 0, 0);
460+ compare(dashNavigationButton.showList, false);
461+ compare(dashAltNavigationButton.showList, true);
463+ var navigationListView = findChild(dashAltNavigationButton, "navigationListView");
464+ tryCompare(navigationListView.currentItem.navigation, "loaded", true);
466+ mouseClick(dashNavigation, dashNavigationButton.x, 0);
467+ compare(dashNavigationButton.showList, false);
468+ compare(dashAltNavigationButton.showList, false);
470+ tryCompare(navigationListView, "visible", false);
472+ mouseClick(dashNavigation, dashNavigationButton.x, 0);
473+ compare(dashNavigationButton.showList, true);
474+ compare(dashAltNavigationButton.showList, false);
476+ navigationListView = findChild(dashNavigationButton, "navigationListView");
477+ tryCompare(navigationListView.currentItem.navigation, "loaded", true);
479+ mouseClick(dashNavigation, 0, 0);
480+ compare(dashNavigationButton.showList, false);
481+ compare(dashAltNavigationButton.showList, false);
384 function test_searchHint() {
484 function test_searchHint() {