@@ -271,5 +271,31 @@ Item {
271 return false;
271 return false;
272 }, true);
272 }, true);
275+ function test_stray_submenus() {
276+ menuBackend.modelData = appMenuData.generateTestData(3,4,1,0,"menu");
277+ var priv = findInvisibleChild(menuBar, "d");
279+ var menuItem = findChild(menuBar, "menuBar-item0");
281+ compare(priv.currentItem, menuItem, "CurrentItem should be set to item 0");
282+ compare(priv.currentItem.popupVisible, true, "Popup should be visible");
284+ var actionItem = findChild(menuBar, "menuBar-item0-menu-item0-actionItem");
285+ mouseClick(actionItem);
287+ actionItem = findChild(menuBar, "menuBar-item0-menu-item0-menu-item0-actionItem");
288+ mouseClick(actionItem);
290+ actionItem = findChild(menuBar, "menuBar-item0-menu-item0-menu-item0-menu-item0-actionItem");
292+ // There's one popup
293+ tryCompareFunction(function() { return findChildsByType(root, "MenuPopup").length; }, 3);
295+ menuBackend.modelData = null;
297+ tryCompareFunction(function() { return findChildsByType(root, "MenuPopup").length; }, 0);