on xenial help sign in
Add test
bdeb5cfAlbert Astals Cid
tests/qmltests/ApplicationMenus/tst_MenuBar.qml+26
@@ -271,5 +271,31 @@ Item {
271 return false;
271 return false;
272 }, true);
272 }, true);
273 }
273 }
274+
275+ function test_stray_submenus() {
276+ menuBackend.modelData = appMenuData.generateTestData(3,4,1,0,"menu");
277+ var priv = findInvisibleChild(menuBar, "d");
278+
279+ var menuItem = findChild(menuBar, "menuBar-item0");
280+ menuItem.show();
281+ compare(priv.currentItem, menuItem, "CurrentItem should be set to item 0");
282+ compare(priv.currentItem.popupVisible, true, "Popup should be visible");
283+
284+ var actionItem = findChild(menuBar, "menuBar-item0-menu-item0-actionItem");
285+ mouseClick(actionItem);
286+
287+ actionItem = findChild(menuBar, "menuBar-item0-menu-item0-menu-item0-actionItem");
288+ mouseClick(actionItem);
289+
290+ actionItem = findChild(menuBar, "menuBar-item0-menu-item0-menu-item0-menu-item0-actionItem");
291+
292+ // There's one popup
293+ tryCompareFunction(function() { return findChildsByType(root, "MenuPopup").length; }, 3);
294+
295+ menuBackend.modelData = null;
296+
297+ tryCompareFunction(function() { return findChildsByType(root, "MenuPopup").length; }, 0);
298+
299+ }
274 }
300 }
275}
301}