RFR: 8333403: Write a test to check various components events are triggered properly [v7]
Alexey Ivanov
aivanov at openjdk.org
Wed Sep 4 16:15:29 UTC 2024
On Wed, 4 Sep 2024 15:20:46 GMT, Alexey Ivanov <aivanov at openjdk.org> wrote:
>> Ravi Gupta has updated the pull request incrementally with one additional commit since the last revision:
>>
>> 8333403: Review comments fixed
>
> test/jdk/java/awt/event/ComponentEvent/ComponentEventTest.java line 161:
>
>> 159:
>> 160: robot.mouseMove(compAt.x + compSize.width / 2,
>> 161: compAt.y + compSize.height / 2);
>
> Suggestion:
>
> // Add a comment why you click a component
> EventQueue.invokeAndWait(() -> {
> Point location = components[9].getLocationOnScreen();
> Dimension size = components[9].getSize();
> centerPoint = new Point(location.x + size.width / 2,
> location.y + size.height / 2);
> });
> robot.mouseMove(centerPoint.x, centerPoint.y);
>
> You can calculate the center point where you click inside `invokeAndWait` and then assign the resulting value to `centerPoint` (rename `compAt` to `centerPoint` or another name). Remove `compSize`.
I also suggest removing the blank line between `mouseMove` and `mousePress` and `mouseRelease`.
> test/jdk/java/awt/event/ComponentEvent/ComponentEventTest.java line 164:
>
>> 162:
>> 163: robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
>> 164: robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
>
> Why do you click a component? You didn't answer the previous question.
If you expect anything to change in the UI state after you click, you should add `robot.waitForIdle()`. Yes, you used `robot.setAutoWaitForIdle(true)`, so robot with call `waitForIdle()` after each event generated. Alternatively, you can add `robot.delay(DELAY)` to wait a little to guarantee what you expect has happened before you continue with the test.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19521#discussion_r1744001163
PR Review Comment: https://git.openjdk.org/jdk/pull/19521#discussion_r1744007695
More information about the client-libs-dev
mailing list