modules/graphics/src/test/java/test/javafx/scene/MouseTest.java
Print this page
rev 9250 : 8134762: Refactor Javafx graphics module tests for clear separation of tests
Reviewed-by:
@@ -21,27 +21,35 @@
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package javafx.scene;
+package test.javafx.scene;
-import com.sun.javafx.test.MouseEventGenerator;
+import test.com.sun.javafx.test.MouseEventGenerator;
import static org.junit.Assert.*;
import javafx.event.EventHandler;
import javafx.scene.input.MouseEvent;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import org.junit.Assert;
import org.junit.Test;
-import com.sun.javafx.pgstub.StubScene;
-import com.sun.javafx.pgstub.StubToolkit;
+import test.com.sun.javafx.pgstub.StubScene;
+import test.com.sun.javafx.pgstub.StubToolkit;
import com.sun.javafx.tk.Toolkit;
import javafx.event.EventTarget;
import javafx.event.EventType;
+import javafx.scene.Cursor;
+import javafx.scene.CursorShim;
+import javafx.scene.Group;
+import javafx.scene.Node;
+import javafx.scene.ParentShim;
+import javafx.scene.PerspectiveCamera;
+import javafx.scene.Scene;
+import javafx.scene.SubScene;
import javafx.scene.input.MouseDragEvent;
import javafx.scene.input.PickResult;
import javafx.scene.paint.Color;
import javafx.scene.transform.Rotate;
@@ -519,21 +527,21 @@
MouseEventGenerator generator = new MouseEventGenerator();
scene.processEvent(generator.generateMouseEvent(
MouseEvent.MOUSE_MOVED, 250, 250));
- assertSame(Cursor.HAND.getCurrentFrame(), scene.getCursorFrame());
+ assertSame(CursorShim.getCurrentFrame(Cursor.HAND), scene.getCursorFrame());
scene.processEvent(generator.generateMouseEvent(
MouseEvent.MOUSE_MOVED, 150, 150));
- assertSame(Cursor.TEXT.getCurrentFrame(), scene.getCursorFrame());
+ assertSame(CursorShim.getCurrentFrame(Cursor.TEXT), scene.getCursorFrame());
scene.processEvent(generator.generateMouseEvent(
MouseEvent.MOUSE_MOVED, 50, 50));
- assertSame(Cursor.DEFAULT.getCurrentFrame(),
+ assertSame(CursorShim.getCurrentFrame(Cursor.DEFAULT),
scene.getCursorFrame());
}
@Test
public void platformCursorShouldBeUpdatedOnPulse() {
@@ -543,15 +551,15 @@
MouseEventGenerator generator = new MouseEventGenerator();
scene.processEvent(generator.generateMouseEvent(
MouseEvent.MOUSE_MOVED, 250, 250));
- assertSame(Cursor.HAND.getCurrentFrame(), scene.getCursorFrame());
+ assertSame(CursorShim.getCurrentFrame(Cursor.HAND), scene.getCursorFrame());
scene.scene.setCursor(Cursor.TEXT);
toolkit.firePulse();
- assertSame(Cursor.TEXT.getCurrentFrame(), scene.getCursorFrame());
+ assertSame(CursorShim.getCurrentFrame(Cursor.TEXT), scene.getCursorFrame());
}
@Test
public void testHover() {
@@ -1139,20 +1147,20 @@
public void cursorShouldBePropagatedFromSubScene() {
final TestSceneWithSubScenes s = new TestSceneWithSubScenes();
s.innerRect1.setCursor(Cursor.HAND);
s.processEvent(MouseEvent.MOUSE_MOVED, 130, 30);
- assertSame(Cursor.HAND.getCurrentFrame(), s.getCursorFrame());
+ assertSame(CursorShim.getCurrentFrame(Cursor.HAND), s.getCursorFrame());
}
@Test
public void cursorShouldBeTakenFromOutsideOfSubScene() {
final TestSceneWithSubScenes s = new TestSceneWithSubScenes();
s.parent1.setCursor(Cursor.HAND);
s.processEvent(MouseEvent.MOUSE_MOVED, 130, 30);
- assertSame(Cursor.HAND.getCurrentFrame(), s.getCursorFrame());
+ assertSame(CursorShim.getCurrentFrame(Cursor.HAND), s.getCursorFrame());
}
@Test
public void coordinatesShouldBeFineWhenDraggedOutOfSubSecne() {
final TestSceneWithSubScenes s = new TestSceneWithSubScenes();
@@ -1237,11 +1245,11 @@
Rectangle r = new Rectangle(50, 50);
r.setTranslateX(100);
r.setTranslateY(10);
r.setTranslateZ(1);
- s.subScene1.getRoot().getChildren().add(r);
+ ParentShim.getChildren(s.subScene1.getRoot()).add(r);
s.innerRect1.addEventFilter(MouseEvent.MOUSE_MOVED,
s.handler(s.innerRect1, DONT_TEST, DONT_TEST));
s.processEvent(MouseEvent.MOUSE_MOVED, 130, 30);
@@ -1254,11 +1262,11 @@
Rectangle r = new Rectangle(50, 50);
r.setTranslateX(100);
r.setTranslateY(10);
r.setTranslateZ(1);
- s.subScene1.getRoot().getChildren().add(r);
+ ParentShim.getChildren(s.subScene1.getRoot()).add(r);
r.addEventFilter(MouseEvent.MOUSE_MOVED,
s.handler(r, DONT_TEST, DONT_TEST));
s.processEvent(MouseEvent.MOUSE_MOVED, 130, 30);
@@ -1437,11 +1445,11 @@
s.processEvent(MouseEventGenerator.generateMouseEvent(
MouseEvent.MOUSE_MOVED, 250, 250));
assertTrue(s.smallSquareTracker.enteredMe);
assertFalse(s.smallSquareTracker.exitedMe);
- s.scene.getRoot().getChildren().clear();
+ ParentShim.getChildren(s.scene.getRoot()).clear();
assertTrue(s.smallSquareTracker.exitedMe);
}
@Test
@@ -1469,11 +1477,11 @@
s.smallSquareTracker.clear();
s.groupTracker.clear();
s.rootTracker.clear();
- s.scene.getRoot().getChildren().clear();
+ ParentShim.getChildren(s.scene.getRoot()).clear();
assertFalse(s.smallSquareTracker.node.isHover());
assertFalse(s.smallSquareTracker.node.isPressed());
assertFalse(s.groupTracker.node.isHover());
assertFalse(s.groupTracker.node.isPressed());
assertTrue(s.rootTracker.node.isHover());
@@ -1502,26 +1510,26 @@
s.smallSquare.setOnMousePressed(event -> s.smallSquare.setCursor(Cursor.CROSSHAIR));
s.smallSquare.setOnMouseReleased(event -> s.smallSquare.setCursor(Cursor.WAIT));
s.processEvent(MouseEventGenerator.generateMouseEvent(MouseEvent.MOUSE_MOVED, 250, 250));
- assertSame(Cursor.HAND.getCurrentFrame(), s.getCursorFrame());
+ assertSame(CursorShim.getCurrentFrame(Cursor.HAND), s.getCursorFrame());
s.processEvent(MouseEventGenerator.generateMouseEvent(MouseEvent.MOUSE_PRESSED, 250, 250));
- assertSame(Cursor.CROSSHAIR.getCurrentFrame(), s.getCursorFrame());
+ assertSame(CursorShim.getCurrentFrame(Cursor.CROSSHAIR), s.getCursorFrame());
s.processEvent(MouseEventGenerator.generateMouseEvent(MouseEvent.MOUSE_RELEASED, 250, 250));
- assertSame(Cursor.WAIT.getCurrentFrame(), s.getCursorFrame());
+ assertSame(CursorShim.getCurrentFrame(Cursor.WAIT), s.getCursorFrame());
s.smallSquare.setOnMouseClicked(event -> s.smallSquare.setCursor(Cursor.TEXT));
s.smallSquare.setCursor(Cursor.HAND);
s.processEvent(MouseEventGenerator.generateMouseEvent(MouseEvent.MOUSE_MOVED, 250, 250));
- assertSame(Cursor.HAND.getCurrentFrame(), s.getCursorFrame());
+ assertSame(CursorShim.getCurrentFrame(Cursor.HAND), s.getCursorFrame());
s.processEvent(MouseEventGenerator.generateMouseEvent(MouseEvent.MOUSE_PRESSED, 250, 250));
- assertSame(Cursor.CROSSHAIR.getCurrentFrame(), s.getCursorFrame());
+ assertSame(CursorShim.getCurrentFrame(Cursor.CROSSHAIR), s.getCursorFrame());
s.processEvent(MouseEventGenerator.generateMouseEvent(MouseEvent.MOUSE_RELEASED, 250, 250));
- assertSame(Cursor.TEXT.getCurrentFrame(), s.getCursorFrame());
+ assertSame(CursorShim.getCurrentFrame(Cursor.TEXT), s.getCursorFrame());
}
private static class SimpleTestScene {
MouseEventTracker sceneTracker;
@@ -1551,14 +1559,14 @@
bigSquare.setTranslateZ(-1);
smallSquare.setCursor(Cursor.HAND);
group.setCursor(Cursor.TEXT);
- group.getChildren().add(bigSquare);
- group.getChildren().add(smallSquare);
+ ParentShim.getChildren(group).add(bigSquare);
+ ParentShim.getChildren(group).add(smallSquare);
- root.getChildren().add(group);
+ ParentShim.getChildren(root).add(group);
sceneTracker = new MouseEventTracker(scene);
rootTracker = new MouseEventTracker(root);
groupTracker = new MouseEventTracker(group);
bigSquareTracker = new MouseEventTracker(bigSquare);
@@ -1773,11 +1781,11 @@
parent2 = new Group(subScene2);
parent2.setTranslateX(230);
parent2.setTranslateY(10);
- root.getChildren().addAll(parent1, parent2);
+ ParentShim.getChildren(root).addAll(parent1, parent2);
Stage stage = new Stage();
stage.setScene(scene);
stage.show();
}