@@ -385,12 +385,12 @@ Rectangle {
385385
386386 function test_tutorialLeftFinish() {
387387 var tutorial = findChild(shell, "tutorial");
388− var tutorialLeft = findChild(tutorial, "tutorialLeft");
388+ var tutorialLeftLoader = findChild(tutorial, "tutorialLeftLoader");
389389 var launcher = findChild(shell, "launcher");
390390
391391 touchFlick(shell, 0, halfHeight, halfWidth, halfHeight);
392392
393− tryCompare(tutorialLeft, "shown", false);
393+ tryCompare(tutorialLeftLoader, "shown", false);
394394 tryCompare(AccountsService, "demoEdgesCompleted", ["left"]);
395395 tryCompare(launcher, "state", "visible");
396396 }
@@ -400,6 +400,7 @@ Rectangle {
400400 // letting go (i.e. not triggering the "progress" property of
401401 // Launcher).
402402 var tutorialLeft = findChild(shell, "tutorialLeft");
403+ var tutorialLeftLoader = findChild(shell, "tutorialLeftLoader");
403404 var launcher = findChild(shell, "launcher");
404405
405406 // Confirm fade during drag
@@ -416,31 +417,32 @@ Rectangle {
416417 // out much.
417418 touchFlick(shell, 0, halfHeight, launcher.panelWidth * 0.4, halfHeight);
418419 tryCompare(launcher, "state", ""); // should remain hidden
419− tryCompare(tutorialLeft, "shown", true); // and we should still be on left
420+ tryCompare(tutorialLeftLoader, "shown", true); // and we should still be on left
420421
421422
422423 // Now drag out but not past launcher itself
423424 touchFlick(shell, 0, halfHeight, launcher.panelWidth * 0.9, halfHeight);
424425
425− tryCompare(tutorialLeft, "shown", false);
426+ tryCompare(tutorialLeftLoader, "shown", false);
426427 tryCompare(AccountsService, "demoEdgesCompleted", ["left"]);
427428 tryCompare(launcher, "state", "visible");
428429 }
429430
430− function test_tutorialLeftLongDrag() {
431− // Just confirm that a long drag ("dash" drag) doesn't confuse us
431+ function test_tutorialLeftLongFinish() {
432+ AccountsService.demoEdgesCompleted = ["left", "top"];
433+
434+ var tutorialLeftLongTimer = findInvisibleChild(shell, "tutorialLeftLongTimer");
435+ tutorialLeftLongTimer.interval = 1;
432436
433− // So that we actually switch to dash and launcher hides
434437 ApplicationManager.startApplication("gallery-app");
435438
436− var launcher = findChild(shell, "launcher");
437− var tutorialLeft = findChild(shell, "tutorialLeftLoader");
438− verify(tutorialLeft);
439+ var tutorialLeftLongLoader = findChild(shell, "tutorialLeftLongLoader");
440+ tryCompare(tutorialLeftLongLoader, "shown", true);
439441
440442 touchFlick(shell, 0, halfHeight, shell.width, halfHeight);
441443
442− tryCompare(tutorialLeft, "shown", false);
443− tryCompare(AccountsService, "demoEdgesCompleted", ["left", "left-long"]);
444+ tryCompare(tutorialLeftLongLoader, "shown", false);
445+ tryCompare(AccountsService, "demoEdgesCompleted", ["left", "top", "left-long"]);
444446 }
445447
446448 function test_tutorialLeftAutoSkipped() {
@@ -494,13 +496,13 @@ Rectangle {
494496
495497 function test_tutorialTopFinish() {
496498 var tutorial = findChild(shell, "tutorial");
497− var tutorialTop = findChild(tutorial, "tutorialTop");
499+ var tutorialTopLoader = findChild(tutorial, "tutorialTopLoader");
498500 var panel = findChild(shell, "panel");
499501
500502 openTutorialTop();
501503 touchFlick(shell, halfWidth, 0, halfWidth, shell.height);
502504
503− tryCompare(tutorialTop, "shown", false);
505+ tryCompare(tutorialTopLoader, "shown", false);
504506 tryCompare(AccountsService, "demoEdgesCompleted", ["left", "top"]);
505507 tryCompare(panel.indicators, "fullyOpened", true);
506508 }
@@ -555,15 +557,11 @@ Rectangle {
555557 }
556558
557559 function test_tutorialRightFinish() {
558− var tutorial = findChild(shell, "tutorial");
559− var tutorialRight = findChild(tutorial, "tutorialRight");
560− var stage = findChild(shell, "stage");
561−
562560 openTutorialRight();
563561 touchFlick(shell, shell.width, halfHeight, 0, halfHeight);
564562
565− tryCompare(tutorialRight, "shown", false);
566563 tryCompare(AccountsService, "demoEdgesCompleted", ["left", "top", "left-long", "right"]);
564+ tryCompare(AccountsService, "demoEdges", false);
567565 }
568566
569567 function test_tutorialRightShortDrag() {
@@ -671,19 +669,22 @@ Rectangle {
671669
672670 var tutorialLeftLoader = findChild(shell, "tutorialLeftLoader");
673671 var tutorialTopLoader = findChild(shell, "tutorialTopLoader");
672+ var tutorialLeftLongLoader = findChild(shell, "tutorialLeftLongLoader");
674673 var tutorialRightLoader = findChild(shell, "tutorialRightLoader");
675674 verify(!tutorialLeftLoader.active);
676675 verify(!tutorialTopLoader.active);
676+ verify(!tutorialLeftLongLoader.active);
677677 verify(tutorialRightLoader.active);
678678 compare(AccountsService.demoEdgesCompleted, []);
679679
680+ var tutorialRightTimer = findInvisibleChild(tutorialRightLoader, "tutorialRightTimer");
681+ tutorialRightTimer.interval = 1;
682+
680683 ApplicationManager.startApplication("dialer-app");
681684 ApplicationManager.startApplication("camera-app");
682685 ApplicationManager.startApplication("facebook-webapp");
683686 tryCompare(tutorialRightLoader.item, "isReady", true);
684687
685− var tutorialRightTimer = findInvisibleChild(tutorialRightLoader, "tutorialRightTimer");
686− tutorialRightTimer.interval = 1;
687688 tryCompare(tutorialRightLoader, "shown", true);
688689 }
689690
@@ -692,10 +693,10 @@ Rectangle {
692693
693694 var tutorialRight = findChild(shell, "tutorialRight");
694695 var tutorialRightTimer = findInvisibleChild(tutorialRight, "tutorialRightTimer");
696+ tutorialRightTimer.interval = 1;
695697 ApplicationManager.startApplication("dialer-app");
696698 ApplicationManager.startApplication("camera-app");
697699 ApplicationManager.startApplication("facebook-webapp");
698− tutorialRightTimer.interval = 1;
699700 tryCompare(tutorialRight, "shown", true);
700701
701702 var stage = findChild(shell, "stage");
@@ -734,6 +735,7 @@ Rectangle {
734735
735736 var notifications = findChild(shell, "notificationList");
736737 notifications.model = mockNotificationsModel;
738+ addNotification(); // placeholder
737739 addNotification();
738740
739741 tryCompare(tutorial, "delayed", true);