@@ -59,18 +59,13 @@ Item {
5959 }}
6060 ]
6161 }
62−
63− Binding {
64− target: activatedSpy
65− property: "target"
66− value: unityMenuModel
67− }
6862 }
6963 }
7064
7165 SignalSpy {
72− id: activatedSpy
73− signalName: "activated"
66+ id: aboutToShowCalledSpy
67+ target: loader.item ? loader.item.unityMenuModel : undefined
68+ signalName: "aboutToShowCalled"
7469 }
7570
7671 UnityTestCase {
@@ -88,7 +83,6 @@ Item {
8883 function cleanup() {
8984 menu.reset();
9085 wait(100); // let the page dismiss
91− activatedSpy.clear();
9286
9387 loader.active = false;
9488 tryCompare(loader, "item", null);
@@ -194,6 +188,37 @@ Item {
194188 compare(priv.currentItem, item0, "CurrentItem should have moved to item 2");
195189 }
196190
191+ function test_aboutToShow() {
192+ menu.unityMenuModel.modelData = appMenuData.generateTestData(3,3,1,0,"menu",false);
193+
194+ var item0 = findChild(menu, "menu-item0");
195+ var item1 = findChild(menu, "menu-item1");
196+ var item2 = findChild(menu, "menu-item2");
197+
198+ aboutToShowCalledSpy.clear();
199+
200+ mouseMove(item0, item0.width/2, item0.height/2);
201+ tryCompare(aboutToShowCalledSpy, "count", 1);
202+
203+ mouseMove(item1, item0.width/2, item0.height/2);
204+ tryCompare(aboutToShowCalledSpy, "count", 2);
205+
206+ mouseMove(item2, item0.width/2, item0.height/2);
207+ tryCompare(aboutToShowCalledSpy, "count", 3);
208+
209+ mouseMove(item0, item0.width/2, item0.height/2);
210+ tryCompare(aboutToShowCalledSpy, "count", 4);
211+
212+ item0.item.trigger();
213+ // it's already visible
214+ tryCompare(aboutToShowCalledSpy, "count", 4);
215+
216+ compare(aboutToShowCalledSpy.signalArguments[0][0], 0);
217+ compare(aboutToShowCalledSpy.signalArguments[1][0], 1);
218+ compare(aboutToShowCalledSpy.signalArguments[2][0], 2);
219+ compare(aboutToShowCalledSpy.signalArguments[3][0], 0);
220+ }
221+
197222 function test_keyboardNavigation_RightKeyEntersSubMenu() {
198223 menu.unityMenuModel.modelData = appMenuData.generateTestData(3,3,1,0,"menu",false);
199224