on xenial help sign in
Add tests
e52e226Albert Astals Cid
tests/qmltests/ApplicationMenus/tst_MenuBar.qml+24
@@ -226,6 +226,30 @@ Item {
226 keyRelease(data.tag, Qt.AltModifier, 100);
226 keyRelease(data.tag, Qt.AltModifier, 100);
227 }
227 }
228
228
229+ function test_disabledTopLevel() {
230+ var modelData = appMenuData.generateTestData(3,3,0,0,"menu");
231+ modelData[1].rowData.sensitive = false;
232+ menuBackend.modelData = modelData;
233+
234+ var priv = findInvisibleChild(menuBar, "d");
235+
236+ var menuItem0 = findChild(menuBar, "menuBar-item0"); verify(menuItem0);
237+ var menuItem2 = findChild(menuBar, "menuBar-item2"); verify(menuItem2);
238+
239+ menuItem0.show();
240+ compare(menuItem0.popupVisible, true, "Popup should be visible");
241+
242+ keyClick(Qt.Key_Right);
243+ compare(priv.currentItem, menuItem2);
244+ compare(menuItem2.popupVisible, true);
245+ compare(menuItem0.popupVisible, false);
246+
247+ keyClick(Qt.Key_Left);
248+ compare(priv.currentItem, menuItem0);
249+ compare(menuItem2.popupVisible, false);
250+ compare(menuItem0.popupVisible, true);
251+ }
252+
229 function test_menuActivateClosesMenu() {
253 function test_menuActivateClosesMenu() {
230 menuBackend.modelData = appMenuData.generateTestData(3,3,0,0,"menu");
254 menuBackend.modelData = appMenuData.generateTestData(3,3,0,0,"menu");
231 var priv = findInvisibleChild(menuBar, "d");
255 var priv = findInvisibleChild(menuBar, "d");
tests/qmltests/Panel/tst_Panel.qml+24
@@ -872,5 +872,29 @@ PanelTest {
872 keyClick(Qt.Key_Enter);
872 keyClick(Qt.Key_Enter);
873 compare(aboutToShowCalledSpy.count, 1);
873 compare(aboutToShowCalledSpy.count, 1);
874 }
874 }
875+
876+ function test_disabledTopLevel() {
877+ var modelData = appMenuData.generateTestData(3,3,0,0,"menu");
878+ modelData[1].rowData.sensitive = false;
879+ panel.applicationMenus.model.modelData = modelData;
880+
881+ waitForRendering(panel);
882+
883+ aboutToShowCalledSpy.target = panel.applicationMenus.model
884+ aboutToShowCalledSpy.clear();
885+
886+ var indicatorsBar = findChild(panel.applicationMenus, "indicatorsBar");
887+
888+ PanelState.title = "Fake Title"
889+ pullDownApplicationsMenu();
890+
891+ tryCompare(indicatorsBar, "currentItemIndex", 0);
892+
893+ keyClick(Qt.Key_Right);
894+ tryCompare(indicatorsBar, "currentItemIndex", 2);
895+
896+ keyClick(Qt.Key_Left);
897+ tryCompare(indicatorsBar, "currentItemIndex", 0);
898+ }
875 }
899 }
876}
900}