RFR: 8314906: [testbug] Create behavior tests for text input controls [v10]

Karthik P K kpk at openjdk.org
Thu Oct 12 16:51:21 UTC 2023


On Fri, 6 Oct 2023 18:58:56 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 pull request now contains 44 commits:
> 
>  - review comments
>  - Merge remote-tracking branch 'origin/master' into 8314906.behavior.test
>  - allowed characters
>  - Merge remote-tracking branch 'origin/master' into 8314906.behavior.test
>  - check
>  - test typing
>  - 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
>  - ... and 34 more: https://git.openjdk.org/jfx/compare/25862787...8b8112b8

The tests look good to me.
Left few minor comments inline.

doc-files/behavior/PasswordField.md line 3:

> 1: # PasswordField Behavior
> 2: 
> 3: ## Key Binginds

Minor: typo "Binginds"

doc-files/behavior/TextArea.md line 3:

> 1: # TextArea Behavior
> 2: 
> 3: ## Key Binginds

Minor: typo "Binginds"

doc-files/behavior/TextField.md line 3:

> 1: # TextField Behavior
> 2: 
> 3: ## Key Binginds

Minor: typo "Binginds"

doc-files/behavior/TextField.md line 72:

> 70: Notes:
> 71: 
> 72: 1. Base class mappings modified by the TextField class are highlighted in bold.

None of the key mappings are highlighted in bold in this file.

doc-files/behavior/TextInputControl.md line 3:

> 1: # TextInputControl Behavior
> 2: 
> 3: ## Key Binginds

Minor: typo "Binginds"

modules/javafx.controls/src/test/java/test/javafx/scene/control/behavior/BehaviorTestBase.java line 64:

> 62:      *     }
> 63:      * <pre>
> 64:      * @param control the control being tested

Parameter can be renamed to control or comment can be updated.

-------------

Changes requested by kpk (Committer).

PR Review: https://git.openjdk.org/jfx/pull/1221#pullrequestreview-1674243338
PR Review Comment: https://git.openjdk.org/jfx/pull/1221#discussion_r1356864822
PR Review Comment: https://git.openjdk.org/jfx/pull/1221#discussion_r1356866769
PR Review Comment: https://git.openjdk.org/jfx/pull/1221#discussion_r1356872084
PR Review Comment: https://git.openjdk.org/jfx/pull/1221#discussion_r1356883418
PR Review Comment: https://git.openjdk.org/jfx/pull/1221#discussion_r1356872264
PR Review Comment: https://git.openjdk.org/jfx/pull/1221#discussion_r1356936864


More information about the openjfx-dev mailing list