Add junit test for text fields check #12057
Open
+260
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #11939
This is an approach try to test if
FieldEditor
has the appropriate usage ofTextArea
orTextField
by using Java Parser to analyzeFieldEditors.java
. However, there are currently many limitations.This test does the following:
if
statements inFieldEditors.getForField
and create a map..java
file path of theFieldEditor
class (for example:src/.../UrlEditor.java
)FieldProperties
by analyzing theif
statement conditions (for example:[FieldProperty.EXTERNAL]
)properties
includeFieldProperty.MULTILINE_TEXT
, then perform the following tests:FieldEditorFX
and calls theestablishBinding
method, get the name of the first parameter.TextInputControl
.EditorTextArea
creation in this class.Limitations:
EditorTextField
field correctly because we cannot determine if theFieldEditor
class has multiple lines fromFieldEditors.java
. For example, thePersonsEditor
should be able to useTextArea
, but fromFieldEditors.java
we can't determine if thePersonEditor
will have theMULTILINE_TEXT
property. In fact, none of theseFieldEditor
classes can be determined to have theMULTILINE_TEXT
property if we only analyzeFieldEditors.java
.Suggestions:
final boolean isMultiLine
but instead check if thefield
parameter holds theMULTILINE_TEXT
property.TextArea
orTextField
).Mandatory checks
CHANGELOG.md
described in a way that is understandable for the average user (if applicable)