RFR: 8228363: ContextMenu.show with side=TOP does not work the first time in the presence of CSS
Robert Lichtenberger
rlichten at openjdk.java.net
Fri Jan 22 10:50:50 UTC 2021
On Thu, 21 Jan 2021 23:15:09 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:
>> By using the anchor location facility of PopupWindows we can avoid miscalculation of the
>> menu's height entirely.
>> This fix also cleans up some documentation issues.
>> This fix introduces tests that check the correct positioning (test_position_)
>> test_position_withCSS reproduces the problem that is fixed with this patch.
>> The other test_position_ cases serve as "proof" that no regressions are introduces.
>> They work before and after the fix is introduced.
>
> modules/javafx.controls/src/test/java/test/javafx/scene/control/ContextMenuTest.java line 686:
>
>> 684: private String createStylesheet() {
>> 685: try {
>> 686: File f = File.createTempFile("test_position_showOnTopWithCSS", ".css");
>
> There is no need to create a temporary file for this css resource, since its contents are fixed. Instead, you should add `test_position_showOnTopWithCSS.css` to the repo under [`modules/javafx.controls/src/test/resources/test/javafx/scene/control/`](https://github.com/openjdk/jfx/tree/master/modules/javafx.controls/src/test/resources/test/javafx/scene/control). Then you can just do this:
>
> return ContextMenuTest.class.getResource("test_position_showOnTopWithCSS.css").toExternalForm();
Thanks for pointing this out. I took the example from the bug entry (where it was nice to have everything in one file). But in the test it is of course much more elegant to use a .css file from the resources.
Adapted the test accordingly.
-------------
PR: https://git.openjdk.java.net/jfx/pull/383
More information about the openjfx-dev
mailing list