@@ -339,6 +339,31 @@ Item {
339339 }, true);
340340 }
341341
342+ function test_stray_submenus() {
343+ menuBackend.modelData = appMenuData.generateTestData(3,4,1,0,"menu");
344+ var priv = findInvisibleChild(menuBar, "d");
345+
346+ var menuItem = findChild(menuBar, "menuBar-item0");
347+ menuItem.show();
348+ compare(priv.currentItem, menuItem, "CurrentItem should be set to item 0");
349+ compare(priv.currentItem.popupVisible, true, "Popup should be visible");
350+
351+ var actionItem = findChild(menuBar, "menuBar-item0-menu-item0-actionItem");
352+ mouseClick(actionItem);
353+
354+ actionItem = findChild(menuBar, "menuBar-item0-menu-item0-menu-item0-actionItem");
355+ mouseClick(actionItem);
356+
357+ actionItem = findChild(menuBar, "menuBar-item0-menu-item0-menu-item0-menu-item0-actionItem");
358+
359+ // There's one popup
360+ tryCompareFunction(function() { return findChildsByType(root, "MenuPopup").length; }, 3);
361+
362+ menuBackend.modelData = null;
363+
364+ tryCompareFunction(function() { return findChildsByType(root, "MenuPopup").length; }, 0);
365+ }
366+
342367 function test_firstDisabled() {
343368 var data = appMenuData.generateTestData(10,5,2,3);
344369 data[0].submenu[1].submenu[0].rowData.sensitive = false;