RFR: 8314906: [testbug] Create behavior tests for text input controls [v5]
Martin Fox
duke at openjdk.org
Fri Sep 15 19:24:47 UTC 2023
On Thu, 14 Sep 2023 21:09:22 GMT, Andy Goryachev <angorya at openjdk.org> wrote:
>> Creating the first batch of tests and testing framework that enables writing behavior tests for javafx controls, focusing on key bindings. The idea is to make writing such tests a simple process.
>>
>> This PR deals with the descendants of TextInputControl (TextField, PasswordField, TextArea). Most of the tests are headless, but in some cases (TextArea) a headful test is required because the behavior needs rendered text to function (example: page up / page down / line start / line end and the like).
>>
>> The tests exercise the key bindings registered by the Skin (or, rather the associated Behavior) at least once, and sometimes more than once.
>>
>> Some mappings cannot be tested due to Robot not supporting keypad events (created [JDK-8316307](https://bugs.openjdk.org/browse/JDK-8316307)).
>>
>> In addition, the key bindings are documented in /doc-files/behavior markdown documents:
>>
>> https://github.com/andy-goryachev-oracle/jfx/blob/8314906.behavior.test/doc-files/behavior/PasswordField.md
>> https://github.com/andy-goryachev-oracle/jfx/blob/8314906.behavior.test/doc-files/behavior/TextArea.md
>> https://github.com/andy-goryachev-oracle/jfx/blob/8314906.behavior.test/doc-files/behavior/TextField.md
>> https://github.com/andy-goryachev-oracle/jfx/blob/8314906.behavior.test/doc-files/behavior/TextInputControl.md
>
> Andy Goryachev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 38 additional commits since the last revision:
>
> - Merge remote-tracking branch 'origin/master' into 8314906.behavior.test
> - cleanup
> - key modifier
> - Merge remote-tracking branch 'origin/8314906.behavior.test' into 8314906.behavior.test
> - win
> - platform util
> - disabled keypad tests
> - text area tests
> - docs
> - text area doc
> - ... and 28 more: https://git.openjdk.org/jfx/compare/431c94f1...911e6d33
tests/system/src/test/java/test/javafx/scene/control/behavior/BehaviorRobotTestBase.java line 196:
> 194: "9", KeyCode.DIGIT9,
> 195: ".", KeyCode.PERIOD,
> 196: ",", KeyCode.COMMA
On French layouts the DIGIT codes don't actually produce digits (you have to hold down Shift) and there's no KeyCode.PERIOD (also a shifted character). You don't seem to be using those characters but you might want to remove them from this table so no one is tempted to use them in the future.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1221#discussion_r1327693041
More information about the openjfx-dev
mailing list