@@ -59,18 +59,13 @@ Item {
66− value: unityMenuModel
71 SignalSpy {
65 SignalSpy {
72− id: activatedSpy
66+ id: aboutToShowCalledSpy
67+ target: loader.item ? loader.item.unityMenuModel : undefined
73− signalName: "activated"
68+ signalName: "aboutToShowCalled"
76 UnityTestCase {
71 UnityTestCase {
@@ -88,7 +83,6 @@ Item {
88 function cleanup() {
83 function cleanup() {
89 menu.reset();
84 menu.reset();
90 wait(100); // let the page dismiss
85 wait(100); // let the page dismiss
91− activatedSpy.clear();
93 loader.active = false;
87 loader.active = false;
94 tryCompare(loader, "item", null);
88 tryCompare(loader, "item", null);
@@ -194,6 +188,37 @@ Item {
194 compare(priv.currentItem, item0, "CurrentItem should have moved to item 2");
188 compare(priv.currentItem, item0, "CurrentItem should have moved to item 2");
191+ function test_aboutToShow() {
192+ menu.unityMenuModel.modelData = appMenuData.generateTestData(3,3,1,0,"menu",false);
194+ var item0 = findChild(menu, "menu-item0");
195+ var item1 = findChild(menu, "menu-item1");
196+ var item2 = findChild(menu, "menu-item2");
198+ aboutToShowCalledSpy.clear();
200+ mouseMove(item0, item0.width/2, item0.height/2);
201+ tryCompare(aboutToShowCalledSpy, "count", 1);
203+ mouseMove(item1, item0.width/2, item0.height/2);
204+ tryCompare(aboutToShowCalledSpy, "count", 2);
206+ mouseMove(item2, item0.width/2, item0.height/2);
207+ tryCompare(aboutToShowCalledSpy, "count", 3);
209+ mouseMove(item0, item0.width/2, item0.height/2);
210+ tryCompare(aboutToShowCalledSpy, "count", 4);
212+ item0.item.trigger();
213+ // it's already visible
214+ tryCompare(aboutToShowCalledSpy, "count", 4);
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);
197 function test_keyboardNavigation_RightKeyEntersSubMenu() {
222 function test_keyboardNavigation_RightKeyEntersSubMenu() {
198 menu.unityMenuModel.modelData = appMenuData.generateTestData(3,3,1,0,"menu",false);
223 menu.unityMenuModel.modelData = appMenuData.generateTestData(3,3,1,0,"menu",false);