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

Print this page
rev 9240 : 8076423: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization

*** 27,58 **** import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; - import javafx.application.Application; - import javafx.event.Event; - import javafx.event.EventHandler; import javafx.scene.Node; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.input.KeyCode; import javafx.scene.input.MouseEvent; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.VBox; import javafx.stage.Stage; import org.junit.Before; - import org.junit.Ignore; import org.junit.Test; import com.sun.javafx.pgstub.StubToolkit; import com.sun.javafx.scene.control.infrastructure.KeyEventFirer; import com.sun.javafx.scene.control.infrastructure.MouseEventGenerator; ! import com.sun.javafx.scene.control.skin.ContextMenuContent; ! import com.sun.javafx.scene.control.skin.MenuBarMenuButtonRetriever; ! import com.sun.javafx.scene.control.skin.MenuBarSkin; import com.sun.javafx.tk.Toolkit; /** * --- 27,55 ---- import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import javafx.scene.Node; import javafx.scene.Parent; import javafx.scene.Scene; + import javafx.scene.control.skin.MenuBarSkinRetriever; import javafx.scene.input.KeyCode; import javafx.scene.input.MouseEvent; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.VBox; import javafx.stage.Stage; import org.junit.Before; import org.junit.Test; import com.sun.javafx.pgstub.StubToolkit; import com.sun.javafx.scene.control.infrastructure.KeyEventFirer; import com.sun.javafx.scene.control.infrastructure.MouseEventGenerator; ! import com.sun.javafx.scene.control.ContextMenuContent; ! import com.sun.javafx.scene.control.MenuBarMenuButtonRetriever; ! import javafx.scene.control.skin.MenuBarSkin; import com.sun.javafx.tk.Toolkit; /** *
*** 128,138 **** assertTrue(skin != null); double xval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinX(); double yval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinY(); ! MenuButton mb = MenuBarMenuButtonRetriever.getNodeForMenu(skin, 0); mb.getScene().getWindow().requestFocus(); scene.impl_processMouseEvent( generator.generateMouseEvent(MouseEvent.MOUSE_PRESSED, xval+20, yval+20)); scene.impl_processMouseEvent( generator.generateMouseEvent(MouseEvent.MOUSE_RELEASED, xval+20, yval+20)); --- 125,135 ---- assertTrue(skin != null); double xval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinX(); double yval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinY(); ! MenuButton mb = MenuBarSkinRetriever.getNodeForMenu(skin, 0); mb.getScene().getWindow().requestFocus(); scene.impl_processMouseEvent( generator.generateMouseEvent(MouseEvent.MOUSE_PRESSED, xval+20, yval+20)); scene.impl_processMouseEvent( generator.generateMouseEvent(MouseEvent.MOUSE_RELEASED, xval+20, yval+20));
*** 163,183 **** assertTrue(skin != null); double xval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinX(); double yval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinY(); ! MenuButton mb = MenuBarMenuButtonRetriever.getNodeForMenu(skin, 0); mb.getScene().getWindow().requestFocus(); scene.impl_processMouseEvent( generator.generateMouseEvent(MouseEvent.MOUSE_PRESSED, xval+20, yval+20)); scene.impl_processMouseEvent( generator.generateMouseEvent(MouseEvent.MOUSE_RELEASED, xval+20, yval+20)); assertTrue(menu.isShowing()); /* ------------------------------------------------------------------ */ // Show subMenu ! ContextMenuContent menuContent = MenuBarMenuButtonRetriever.getMenuContent(mb); // ContextMenuContent Node displayNode = MenuBarMenuButtonRetriever.getDisplayNodeForMenuItem(menuContent, 0); // MenuItemContainer displayNode.getScene().getWindow().requestFocus(); assertTrue(displayNode.getScene().getWindow().isFocused()); --- 160,180 ---- assertTrue(skin != null); double xval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinX(); double yval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinY(); ! MenuButton mb = MenuBarSkinRetriever.getNodeForMenu(skin, 0); mb.getScene().getWindow().requestFocus(); scene.impl_processMouseEvent( generator.generateMouseEvent(MouseEvent.MOUSE_PRESSED, xval+20, yval+20)); scene.impl_processMouseEvent( generator.generateMouseEvent(MouseEvent.MOUSE_RELEASED, xval+20, yval+20)); assertTrue(menu.isShowing()); /* ------------------------------------------------------------------ */ // Show subMenu ! ContextMenuContent menuContent = MenuBarSkinRetriever.getMenuContent(mb); // ContextMenuContent Node displayNode = MenuBarMenuButtonRetriever.getDisplayNodeForMenuItem(menuContent, 0); // MenuItemContainer displayNode.getScene().getWindow().requestFocus(); assertTrue(displayNode.getScene().getWindow().isFocused());
*** 229,239 **** startApp(root); tk.firePulse(); MenuBarSkin skin = (MenuBarSkin)menuBar.getSkin(); assertTrue(skin != null); ! MenuButton mb = MenuBarMenuButtonRetriever.getNodeForMenu(skin, 0); mb.getScene().getWindow().requestFocus(); double xval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinX(); double yval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinY(); --- 226,236 ---- startApp(root); tk.firePulse(); MenuBarSkin skin = (MenuBarSkin)menuBar.getSkin(); assertTrue(skin != null); ! MenuButton mb = MenuBarSkinRetriever.getNodeForMenu(skin, 0); mb.getScene().getWindow().requestFocus(); double xval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinX(); double yval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinY();
*** 243,253 **** generator.generateMouseEvent(MouseEvent.MOUSE_RELEASED, xval+20, yval+20)); assertTrue(menu.isShowing()); /* ------------------------------------------------------------------ */ // Show Menu ! ContextMenuContent menuContent = MenuBarMenuButtonRetriever.getMenuContent(mb); // ContextMenuContent Node displayNode = MenuBarMenuButtonRetriever.getDisplayNodeForMenuItem(menuContent, 0); // MenuItemContainer displayNode.getScene().getWindow().requestFocus(); assertTrue(displayNode.getScene().getWindow().isFocused()); --- 240,250 ---- generator.generateMouseEvent(MouseEvent.MOUSE_RELEASED, xval+20, yval+20)); assertTrue(menu.isShowing()); /* ------------------------------------------------------------------ */ // Show Menu ! ContextMenuContent menuContent = MenuBarSkinRetriever.getMenuContent(mb); // ContextMenuContent Node displayNode = MenuBarMenuButtonRetriever.getDisplayNodeForMenuItem(menuContent, 0); // MenuItemContainer displayNode.getScene().getWindow().requestFocus(); assertTrue(displayNode.getScene().getWindow().isFocused());
*** 263,273 **** assertTrue(!menu.isShowing()); keyboard.doKeyPress(KeyCode.LEFT); tk.firePulse(); // check if focusedMenuIndex is reset to -1 so navigation happens. ! int focusedIndex = MenuBarMenuButtonRetriever.getFocusedIndex(skin); assertEquals(focusedIndex, -1); } @Test public void testMenuOnShownEventFiringWithKeyNavigation() { final MouseEventGenerator generator = new MouseEventGenerator(); --- 260,270 ---- assertTrue(!menu.isShowing()); keyboard.doKeyPress(KeyCode.LEFT); tk.firePulse(); // check if focusedMenuIndex is reset to -1 so navigation happens. ! int focusedIndex = MenuBarSkinRetriever.getFocusedIndex(skin); assertEquals(focusedIndex, -1); } @Test public void testMenuOnShownEventFiringWithKeyNavigation() { final MouseEventGenerator generator = new MouseEventGenerator();
*** 289,299 **** tk.firePulse(); MenuBarSkin skin = (MenuBarSkin)menuBar.getSkin(); assertTrue(skin != null); ! MenuButton mb = MenuBarMenuButtonRetriever.getNodeForMenu(skin, 0); mb.getScene().getWindow().requestFocus(); assertTrue(mb.getScene().getWindow().isFocused()); KeyEventFirer keyboard = new KeyEventFirer(mb.getScene()); --- 286,296 ---- tk.firePulse(); MenuBarSkin skin = (MenuBarSkin)menuBar.getSkin(); assertTrue(skin != null); ! MenuButton mb = MenuBarSkinRetriever.getNodeForMenu(skin, 0); mb.getScene().getWindow().requestFocus(); assertTrue(mb.getScene().getWindow().isFocused()); KeyEventFirer keyboard = new KeyEventFirer(mb.getScene());
*** 333,343 **** assertTrue(skin != null); double xval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinX(); double yval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinY(); ! MenuButton mb = MenuBarMenuButtonRetriever.getNodeForMenu(skin, 0); mb.getScene().getWindow().requestFocus(); scene.impl_processMouseEvent( MouseEventGenerator.generateMouseEvent(MouseEvent.MOUSE_PRESSED, xval+20, yval+20)); scene.impl_processMouseEvent( MouseEventGenerator.generateMouseEvent(MouseEvent.MOUSE_RELEASED, xval+20, yval+20)); --- 330,340 ---- assertTrue(skin != null); double xval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinX(); double yval = (menuBar.localToScene(menuBar.getLayoutBounds())).getMinY(); ! MenuButton mb = MenuBarSkinRetriever.getNodeForMenu(skin, 0); mb.getScene().getWindow().requestFocus(); scene.impl_processMouseEvent( MouseEventGenerator.generateMouseEvent(MouseEvent.MOUSE_PRESSED, xval+20, yval+20)); scene.impl_processMouseEvent( MouseEventGenerator.generateMouseEvent(MouseEvent.MOUSE_RELEASED, xval+20, yval+20));
*** 376,386 **** menu.setOnShowing(t -> { // we should not get here when the menu is hidden assertEquals(firstClick.booleanValue(), true); }); ! MenuButton mb = MenuBarMenuButtonRetriever.getNodeForMenu(skin, 0); mb.getScene().getWindow().requestFocus(); mb.requestFocus(); assertTrue(mb.isFocused()); // click on menu to show scene.impl_processMouseEvent( --- 373,383 ---- menu.setOnShowing(t -> { // we should not get here when the menu is hidden assertEquals(firstClick.booleanValue(), true); }); ! MenuButton mb = MenuBarSkinRetriever.getNodeForMenu(skin, 0); mb.getScene().getWindow().requestFocus(); mb.requestFocus(); assertTrue(mb.isFocused()); // click on menu to show scene.impl_processMouseEvent(