RFR: 8307176: Monkey Tester Application Part 2 [v3]
Martin Fox
duke at openjdk.org
Thu Sep 21 16:09:50 UTC 2023
On Mon, 18 Sep 2023 18:00:34 GMT, Andy Goryachev <angorya at openjdk.org> wrote:
>> Adding changes to the MonkeyTester application accumulated since the last test sprint, from a separate repository
>> https://github.com/andy-goryachev-oracle/MonkeyTest
>>
>> User preferences location:
>> The applications stores its user preferences (window location, etc.) in ~/.MonkeyTester directory.
>> - To use a different directory, redefine the "user.home" system property, -Duser.home=<...>.
>> - To disable saving, specify -Ddisable.settings=true vm agrument.
>>
>> - ✔ replace setId() with some other way of setting component name
>> - ✔ change property for ui.settings dir
>> - ✔ add pie chart
>> - ✔ ComboBox: The current two buttons don't seem all that useful. I'm not even sure what, exactly, they do. What would be useful is a way to select the number of items in the list (like there is with ChoiceBox)
>> - ✔ ListView: Changing the selection model or checking / unchecking the "null focus model" option clears the list, which is unexpected. Given that there is a separate "clear list" button, it doesn't seem needed either.
>> - ✔ TextField: The default alignment of BASELINE_RIGHT is unexpected (unless there is a good reason, defaults for properties should match the API default to avoid surprises).
>> - ✔ Menu item: Window --> Open Modal Window "Platform.exit()" should not be the default choice (if you press <ENTER> the app will exit)
>> - ✔ TableView: The column sorting feature would be more useful if it were possible to have different data for each row
>> - ✔ Add Skin -> (null skin, set new skin) menus to all related controls to enable leak tests
>> - ✔ TableView: cell factory, cell value factory
>> - ✔ TreeTableView: cell factory
>> - ✔ TreeView: cell factory
>> - ✔ add massive CJK text for JDK-8090110 / JDK-8089418
>> - ✔ clipboard monitor tool
>> - ✔ add to the status bar: JVM version, JFX version, current directory, screen scale
>> - ✔ WebView page
>> - ✔ Tools -> Keyboard Events Viewer
>> - ✔ System Info tool that reports all the details about the environment such as reported OS version, number of displays, env, system properties
>>
>> To be continued... JDK-8316372
>
> Andy Goryachev has updated the pull request incrementally with one additional commit since the last revision:
>
> system info
tests/manual/monkey/src/com/oracle/tools/fx/monkey/tools/KeyboardEventViewer.java line 38:
> 36: * Keyboard Event Viewer
> 37: */
> 38: public class KeyboardEventViewer extends BorderPane {
Yes! Thank you for adding a keyboard event viewer. It is long overdue.
On Mac and Linux dead keys are handled using InputMethodEvents so I find it essential to catch them and dump out some minimal information. Here's the code I use (`addToLog` simply appends the text to a TextArea with a newline at the end):
private void inputMethodTextChangedEvent(InputMethodEvent e) {
if (!e.getCommitted().isEmpty()) {
addToLog(" Commit: " + e.getCommitted());
}
if (!e.getComposed().isEmpty()) {
String composedText = "";
for (InputMethodTextRun run : e.getComposed()) {
composedText += run.getText();
}
addToLog("Composed: " + composedText);
}
}
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1241#discussion_r1333307835
More information about the openjfx-dev
mailing list