From 2b81bf8c86ee190bf4db24806658aedeeee0abe9 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Wed, 10 May 2017 20:00:41 -0700 Subject: [PATCH 1/2] 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" --- .../model/InlineCssTextAreaAppTest.java | 22 +++++++++++++++++++ .../model/StyledTextAreaBehaviorTest.java | 21 +++++++++--------- 2 files changed, 32 insertions(+), 11 deletions(-) diff --git a/richtextfx/src/test/java/org/fxmisc/richtext/model/InlineCssTextAreaAppTest.java b/richtextfx/src/test/java/org/fxmisc/richtext/model/InlineCssTextAreaAppTest.java index 1eee990cf..df1cbecae 100644 --- a/richtextfx/src/test/java/org/fxmisc/richtext/model/InlineCssTextAreaAppTest.java +++ b/richtextfx/src/test/java/org/fxmisc/richtext/model/InlineCssTextAreaAppTest.java @@ -5,8 +5,10 @@ import javafx.scene.Scene; import javafx.scene.control.ContextMenu; import javafx.scene.control.MenuItem; +import javafx.scene.input.MouseButton; import javafx.stage.Stage; import org.fxmisc.richtext.InlineCssTextArea; +import org.testfx.api.FxRobot; import org.testfx.framework.junit.ApplicationTest; import org.testfx.service.query.PointQuery; @@ -37,4 +39,24 @@ public void start(Stage stage) throws Exception { public final PointQuery firstLineOfArea() { return point(area).atPosition(Pos.TOP_LEFT).atOffset(5, 5); } + + public final FxRobot clickOnFirstLine(MouseButton... buttons) { + return moveTo(firstLineOfArea()).clickOn(buttons); + } + + public final FxRobot leftClickOnFirstLine() { + return clickOnFirstLine(MouseButton.PRIMARY); + } + + public final FxRobot doubleClickOnFirstLine() { + return leftClickOnFirstLine().clickOn(MouseButton.PRIMARY); + } + + public final FxRobot tripleClickOnFirstLine() { + return doubleClickOnFirstLine().clickOn(MouseButton.PRIMARY); + } + + public final FxRobot rightClickOnFirstLine() { + return clickOnFirstLine(MouseButton.SECONDARY); + } } diff --git a/richtextfx/src/test/java/org/fxmisc/richtext/model/StyledTextAreaBehaviorTest.java b/richtextfx/src/test/java/org/fxmisc/richtext/model/StyledTextAreaBehaviorTest.java index e6e7b11f0..032022313 100644 --- a/richtextfx/src/test/java/org/fxmisc/richtext/model/StyledTextAreaBehaviorTest.java +++ b/richtextfx/src/test/java/org/fxmisc/richtext/model/StyledTextAreaBehaviorTest.java @@ -28,7 +28,7 @@ public class ContextMenuTests extends InlineCssTextAreaAppTest { @Test public void clickingSecondaryShowsContextMenu() { // when - rightClickOn(area); + rightClickOnFirstLine(); // then assertTrue(area.getContextMenu().isShowing()); @@ -37,8 +37,7 @@ public void clickingSecondaryShowsContextMenu() { @Test public void pressingSecondaryShowsContextMenu() { // when - moveTo(area); - press(MouseButton.SECONDARY); + rightClickOnFirstLine(); // then assertTrue(area.getContextMenu().isShowing()); @@ -47,7 +46,7 @@ public void pressingSecondaryShowsContextMenu() { @Test public void pressingPrimaryMouseButtonHidesContextMenu() { // given menu is showing - rightClickOn(area); + rightClickOnFirstLine(); press(MouseButton.PRIMARY); assertFalse(area.getContextMenu().isShowing()); @@ -56,7 +55,7 @@ public void pressingPrimaryMouseButtonHidesContextMenu() { @Test public void pressingMiddleMouseButtonHidesContextMenu() { // given menu is showing - rightClickOn(area); + rightClickOnFirstLine(); press(MouseButton.MIDDLE); assertFalse(area.getContextMenu().isShowing()); @@ -66,7 +65,7 @@ public void pressingMiddleMouseButtonHidesContextMenu() { @Test public void requestingContextMenuViaKeyboardWorksOnWindows() { if (WINDOWS_OS) { - clickOn(area); + leftClickOnFirstLine(); push(KeyCode.CONTEXT_MENU); assert area.getContextMenu().isShowing(); @@ -104,21 +103,21 @@ public void shiftClickingAreaDoesNothing() { @Test public void singleClickingAreaDoesNothing() { - clickOn(area); + leftClickOnFirstLine(); assertFalse(area.isFocused()); } @Test public void doubleClickingAreaDoesNothing() { - doubleClickOn(area); + doubleClickOnFirstLine(); assertFalse(area.isFocused()); } @Test public void tripleClickingAreaDoesNothing() { - clickOn(area, MouseButton.PRIMARY).doubleClickOn(MouseButton.PRIMARY); + tripleClickOnFirstLine(); assertFalse(area.isFocused()); } @@ -372,8 +371,8 @@ public void typingALetterMovesTheCaretAfterThatInsertedLetter() { area.clear(); }); - String userInputtedText = "some user-inputted text"; - clickOn(area).write(userInputtedText); + String userInputtedText = "some text"; + leftClickOnFirstLine().write(userInputtedText); assertEquals(userInputtedText, area.getText()); assertEquals(userInputtedText.length(), area.getCaretPosition()); From 5af72db226b188e06ea2a81ff464feee38512e27 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Wed, 10 May 2017 20:01:25 -0700 Subject: [PATCH 2/2] Use `assertTrue` method, not `assert BooleanExpression` --- .../org/fxmisc/richtext/model/StyledTextAreaBehaviorTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/richtextfx/src/test/java/org/fxmisc/richtext/model/StyledTextAreaBehaviorTest.java b/richtextfx/src/test/java/org/fxmisc/richtext/model/StyledTextAreaBehaviorTest.java index 032022313..7f7aa5be3 100644 --- a/richtextfx/src/test/java/org/fxmisc/richtext/model/StyledTextAreaBehaviorTest.java +++ b/richtextfx/src/test/java/org/fxmisc/richtext/model/StyledTextAreaBehaviorTest.java @@ -68,7 +68,7 @@ public void requestingContextMenuViaKeyboardWorksOnWindows() { leftClickOnFirstLine(); push(KeyCode.CONTEXT_MENU); - assert area.getContextMenu().isShowing(); + assertTrue(area.getContextMenu().isShowing()); } }