Skip to content

Commit 2b81bf8

Browse files
Speed up TestFX Tests
- replaces all "clickOn(area)" calls with "*clickOnFirstLine()" This speeds up the test since the mouse doesn't move from the center to the top-left corner and back again throughout the tests that are run. - shortened "some user-inputted text" to "some text"
1 parent d67fc82 commit 2b81bf8

2 files changed

Lines changed: 32 additions & 11 deletions

File tree

richtextfx/src/test/java/org/fxmisc/richtext/model/InlineCssTextAreaAppTest.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55
import javafx.scene.Scene;
66
import javafx.scene.control.ContextMenu;
77
import javafx.scene.control.MenuItem;
8+
import javafx.scene.input.MouseButton;
89
import javafx.stage.Stage;
910
import org.fxmisc.richtext.InlineCssTextArea;
11+
import org.testfx.api.FxRobot;
1012
import org.testfx.framework.junit.ApplicationTest;
1113
import org.testfx.service.query.PointQuery;
1214

@@ -37,4 +39,24 @@ public void start(Stage stage) throws Exception {
3739
public final PointQuery firstLineOfArea() {
3840
return point(area).atPosition(Pos.TOP_LEFT).atOffset(5, 5);
3941
}
42+
43+
public final FxRobot clickOnFirstLine(MouseButton... buttons) {
44+
return moveTo(firstLineOfArea()).clickOn(buttons);
45+
}
46+
47+
public final FxRobot leftClickOnFirstLine() {
48+
return clickOnFirstLine(MouseButton.PRIMARY);
49+
}
50+
51+
public final FxRobot doubleClickOnFirstLine() {
52+
return leftClickOnFirstLine().clickOn(MouseButton.PRIMARY);
53+
}
54+
55+
public final FxRobot tripleClickOnFirstLine() {
56+
return doubleClickOnFirstLine().clickOn(MouseButton.PRIMARY);
57+
}
58+
59+
public final FxRobot rightClickOnFirstLine() {
60+
return clickOnFirstLine(MouseButton.SECONDARY);
61+
}
4062
}

richtextfx/src/test/java/org/fxmisc/richtext/model/StyledTextAreaBehaviorTest.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class ContextMenuTests extends InlineCssTextAreaAppTest {
2828
@Test
2929
public void clickingSecondaryShowsContextMenu() {
3030
// when
31-
rightClickOn(area);
31+
rightClickOnFirstLine();
3232

3333
// then
3434
assertTrue(area.getContextMenu().isShowing());
@@ -37,8 +37,7 @@ public void clickingSecondaryShowsContextMenu() {
3737
@Test
3838
public void pressingSecondaryShowsContextMenu() {
3939
// when
40-
moveTo(area);
41-
press(MouseButton.SECONDARY);
40+
rightClickOnFirstLine();
4241

4342
// then
4443
assertTrue(area.getContextMenu().isShowing());
@@ -47,7 +46,7 @@ public void pressingSecondaryShowsContextMenu() {
4746
@Test
4847
public void pressingPrimaryMouseButtonHidesContextMenu() {
4948
// given menu is showing
50-
rightClickOn(area);
49+
rightClickOnFirstLine();
5150

5251
press(MouseButton.PRIMARY);
5352
assertFalse(area.getContextMenu().isShowing());
@@ -56,7 +55,7 @@ public void pressingPrimaryMouseButtonHidesContextMenu() {
5655
@Test
5756
public void pressingMiddleMouseButtonHidesContextMenu() {
5857
// given menu is showing
59-
rightClickOn(area);
58+
rightClickOnFirstLine();
6059

6160
press(MouseButton.MIDDLE);
6261
assertFalse(area.getContextMenu().isShowing());
@@ -66,7 +65,7 @@ public void pressingMiddleMouseButtonHidesContextMenu() {
6665
@Test
6766
public void requestingContextMenuViaKeyboardWorksOnWindows() {
6867
if (WINDOWS_OS) {
69-
clickOn(area);
68+
leftClickOnFirstLine();
7069
push(KeyCode.CONTEXT_MENU);
7170

7271
assert area.getContextMenu().isShowing();
@@ -104,21 +103,21 @@ public void shiftClickingAreaDoesNothing() {
104103

105104
@Test
106105
public void singleClickingAreaDoesNothing() {
107-
clickOn(area);
106+
leftClickOnFirstLine();
108107

109108
assertFalse(area.isFocused());
110109
}
111110

112111
@Test
113112
public void doubleClickingAreaDoesNothing() {
114-
doubleClickOn(area);
113+
doubleClickOnFirstLine();
115114

116115
assertFalse(area.isFocused());
117116
}
118117

119118
@Test
120119
public void tripleClickingAreaDoesNothing() {
121-
clickOn(area, MouseButton.PRIMARY).doubleClickOn(MouseButton.PRIMARY);
120+
tripleClickOnFirstLine();
122121

123122
assertFalse(area.isFocused());
124123
}
@@ -372,8 +371,8 @@ public void typingALetterMovesTheCaretAfterThatInsertedLetter() {
372371
area.clear();
373372
});
374373

375-
String userInputtedText = "some user-inputted text";
376-
clickOn(area).write(userInputtedText);
374+
String userInputtedText = "some text";
375+
leftClickOnFirstLine().write(userInputtedText);
377376

378377
assertEquals(userInputtedText, area.getText());
379378
assertEquals(userInputtedText.length(), area.getCaretPosition());

0 commit comments

Comments
 (0)