< prev index next >

modules/javafx.controls/src/test/java/test/javafx/scene/control/MenuBarTest.java

Print this page

        

*** 616,621 **** --- 616,667 ---- @Test public void test_rt_37118() { MenuBar menuBar = new MenuBar(); MenuBarSkin menuBarSkin = new MenuBarSkin(menuBar); } + + @Test public void testMenubarAltKeysupport() { + // First Menu gets selected when ALT key is pressed and released. + VBox root = new VBox(); + Menu menu1 = new Menu("Menu1"); + Menu menu2 = new Menu("Menu2"); + Menu menu3 = new Menu("Menu3"); + + MenuItem menuItem1 = new MenuItem("MenuItem1"); + MenuItem menuItem2 = new MenuItem("MenuItem2"); + MenuItem menuItem3 = new MenuItem("MenuItem3"); + + menu1.getItems().add(menuItem1); + menu2.getItems().add(menuItem2); + menu3.getItems().add(menuItem3); + + menuBar.getMenus().addAll(menu1, menu2, menu3); + root.getChildren().addAll(menuBar); + startApp(root); + tk.firePulse(); + + MenuBarSkin skin = (MenuBarSkin)menuBar.getSkin(); + assertTrue(skin != null); + + MenuButton mb = MenuBarSkinShim.getNodeForMenu(skin, 0); + mb.getScene().getWindow().requestFocus(); + KeyEventFirer keyboard = new KeyEventFirer(mb.getScene()); + + // Left ALT key + keyboard.doKeyPress(KeyCode.ALT); + tk.firePulse(); + keyboard.doDownArrowPress(); + tk.firePulse(); + assertTrue(menu1.isShowing()); + + keyboard.doKeyPress(KeyCode.ESCAPE); + tk.firePulse(); + + // Right ALT key + keyboard.doKeyPress(KeyCode.ALT_GRAPH); + tk.firePulse(); + keyboard.doDownArrowPress(); + tk.firePulse(); + assertTrue(menu1.isShowing()); + + } }
< prev index next >