< prev index next >
modules/javafx.controls/src/test/java/test/javafx/scene/control/MenuButtonTest.java
Print this page
@@ -285,43 +285,99 @@
// label-padding should not affect GRAPHIC_ONLY MenuButton size
assertEquals(mb1.getWidth(), mb2.getWidth(), 0.00001);
assertEquals(mb1.getHeight(), mb2.getHeight(), 0.00001);
}
- boolean onShowingPass;
- boolean onShownPass;
- boolean onHidingPass;
- boolean onHiddenPass;
- @Test public void test_jdk_8175963_showHideEvents() {
+ int onShowingPass;
+ int onShownPass;
+ int onHidingPass;
+ int onHiddenPass;
+ // Test for JDK-8175963
+ @Test public void test_jdk_addOnShowHideEvents() {
+ onShowingPass = 0;
+ onShownPass = 0;
+ onHidingPass = 0;
+ onHiddenPass = 0;
MenuItem it1 = new MenuItem("1");
MenuButton mbtn = new MenuButton("MenuButton", null, it1);
+ for (int i = 0; i < 5; ++i) {
mbtn.addEventHandler(MenuButton.ON_SHOWING, event -> {
assertEquals("event is not of type MenuButton.ON_SHOWING",
event.getEventType(), MenuButton.ON_SHOWING);
- onShowingPass = true;
+ onShowingPass++;
});
mbtn.addEventHandler(MenuButton.ON_SHOWN, event -> {
assertEquals("event is not of type MenuButton.ON_SHOWN",
event.getEventType(), MenuButton.ON_SHOWN);
- onShownPass = true;
+ onShownPass++;
});
mbtn.addEventHandler(MenuButton.ON_HIDING, event -> {
assertEquals("event is not of type MenuButton.ON_HIDING",
event.getEventType(), MenuButton.ON_HIDING);
- onHidingPass = true;
+ onHidingPass++;
});
mbtn.addEventHandler(MenuButton.ON_HIDDEN, event -> {
assertEquals("event is not of type MenuButton.ON_HIDDEN",
event.getEventType(), MenuButton.ON_HIDDEN);
- onHiddenPass = true;
+ onHiddenPass++;
});
+ }
+
+ mbtn.show();
+ mbtn.hide();
+
+ assertTrue("MenuButton.ON_SHOWING event should be received 5 times. but received: "
+ + onShowingPass + " times.", (5 == onShowingPass));
+ assertTrue("MenuButton.ON_SHOWN event should be received 5 times. but received: "
+ + onShownPass + " times.", (5 == onShownPass));
+ assertTrue("MenuButton.ON_HIDING event should be received 5 times. but received: "
+ + onHidingPass + " times.", (5 == onHidingPass));
+ assertTrue("MenuButton.ON_HIDDEN event should be received 5 times. but received: "
+ + onHiddenPass + " times.", (5 == onHiddenPass));
+ }
+
+
+ // Test for JDK-8177633
+ @Test public void test_jdk_setOnShowHideEvents() {
+ onShowingPass = 0;
+ onShownPass = 0;
+ onHidingPass = 0;
+ onHiddenPass = 0;
+ MenuItem it1 = new MenuItem("1");
+ MenuButton mbtn = new MenuButton("MenuButton", null, it1);
+ for (int i = 0; i < 5; ++i) {
+ mbtn.setOnShowing(event -> {
+ assertEquals("event is not of type MenuButton.ON_SHOWING",
+ event.getEventType(), MenuButton.ON_SHOWING);
+ onShowingPass++;;
+ });
+ mbtn.setOnShown(event -> {
+ assertEquals("event is not of type MenuButton.ON_SHOWN",
+ event.getEventType(), MenuButton.ON_SHOWN);
+ onShownPass++;
+ });
+ mbtn.setOnHiding(event -> {
+ assertEquals("event is not of type MenuButton.ON_HIDING",
+ event.getEventType(), MenuButton.ON_HIDING);
+ onHidingPass++;
+ });
+ mbtn.setOnHidden(event -> {
+ assertEquals("event is not of type MenuButton.ON_HIDDEN",
+ event.getEventType(), MenuButton.ON_HIDDEN);
+ onHiddenPass++;
+ });
+ }
mbtn.show();
mbtn.hide();
- assertTrue("OnShowing event not received", onShowingPass);
- assertTrue("onShown event not received", onShownPass);
- assertTrue("onHiding event not received", onHidingPass);
- assertTrue("onHidden event not received", onHiddenPass);
+ assertTrue("MenuButton.ON_SHOWING event should be received only once. but received: "
+ + onShowingPass + " times.", (1 == onShowingPass));
+ assertTrue("MenuButton.ON_SHOWN event should be received only once. but received: "
+ + onShownPass + " times.", (1 == onShownPass));
+ assertTrue("MenuButton.ON_HIDING event should be received only once. but received: "
+ + onHidingPass + " times.", (1 == onHidingPass));
+ assertTrue("MenuButton.ON_HIDDEN event should be received only once. but received: "
+ + onHiddenPass + " times.", (1 == onHiddenPass));
}
}
< prev index next >