@@ -180,6 +180,41 @@ Item {
180 tryCompare(priv, "currentItem", menuItem);
180 tryCompare(priv, "currentItem", menuItem);
183+ function test_menuActivateClosesMenu() {
184+ menuBackend.modelData = appMenuData.generateTestData(3,3,0,0,"menu");
185+ var priv = findInvisibleChild(menuBar, "d");
187+ var menuItem = findChild(menuBar, "menuBar-item0");
189+ compare(priv.currentItem, menuItem, "CurrentItem should be set to item 0");
190+ compare(priv.currentItem.popupVisible, true, "Popup should be visible");
192+ var actionItem = findChild(menuBar, "menuBar-item0-menu-item0-actionItem");
193+ mouseClick(actionItem);
194+ compare(priv.currentItem, null, "CurrentItem should be null");
197+ function test_subMenuActivateClosesMenu() {
198+ menuBackend.modelData = appMenuData.generateTestData(3,4,1,0,"menu");
199+ var priv = findInvisibleChild(menuBar, "d");
201+ var menuItem = findChild(menuBar, "menuBar-item0");
203+ compare(priv.currentItem, menuItem, "CurrentItem should be set to item 0");
204+ compare(priv.currentItem.popupVisible, true, "Popup should be visible");
206+ var actionItem = findChild(menuBar, "menuBar-item0-menu-item0-actionItem");
207+ mouseClick(actionItem);
209+ actionItem = findChild(menuBar, "menuBar-item0-menu-item0-menu-item0-actionItem");
210+ mouseClick(actionItem);
212+ actionItem = findChild(menuBar, "menuBar-item0-menu-item0-menu-item0-menu-item0-actionItem");
213+ mouseClick(actionItem);
215+ compare(priv.currentItem, null, "CurrentItem should be null");
183 function test_openAppMenuShortcut() {
218 function test_openAppMenuShortcut() {
184 var priv = findInvisibleChild(menuBar, "d");
219 var priv = findInvisibleChild(menuBar, "d");
@@ -192,5 +227,20 @@ Item {
192 keyClick(Qt.Key_F10, Qt.AltModifier);
227 keyClick(Qt.Key_F10, Qt.AltModifier);
193 compare(priv.currentItem, menuItem1, "First enabled item should be opened");
228 compare(priv.currentItem, menuItem1, "First enabled item should be opened");
231+ function test_clickOpenMenuClosesMenu() {
232+ menuBackend.modelData = appMenuData.generateTestData(3,3,0,0,"menu");
233+ var priv = findInvisibleChild(menuBar, "d");
235+ var menuItem = findChild(menuBar, "menuBar-item0");
236+ waitForRendering(menuItem);
237+ mouseClick(menuItem);
238+ compare(priv.currentItem, menuItem, "CurrentItem should be set to item 0");
239+ compare(priv.currentItem.popupVisible, true, "Popup should be visible");
241+ waitForRendering(menuItem);
242+ mouseClick(menuItem);
243+ compare(priv.currentItem, null, "CurrentItem should be null");