On Mon, 23 Mar 2026 21:09:10 GMT, Marius Hanl <[email protected]> wrote:

>> modules/javafx.controls/src/test/java/test/com/sun/javafx/scene/control/infrastructure/MouseEventFirer.java
>>  line 138:
>> 
>>> 136: 
>>> 137:         if (node.getScene() == null || node.getScene().getWindow() == 
>>> null) {
>>> 138:             throw new IllegalArgumentException("Node: " + node + " 
>>> must be in a Scene and Window " +
>> 
>> maybe instruct to use StageLoader instead, addin an example in the comments?
>> something like this:
>> 
>> // The target node must be in a Scene and Window, example:
>> // private StageLoader sl;
>> // ..
>> // sl = new StageLoader(node);
>> // ...
>> // sl.dispose()
>> if (node.getScene() == null || node.getScene().getWindow() == null) {
>>             throw new IllegalArgumentException("Target node must be in a 
>> Scene and Window (use StageLoader?)");
>
> I thought about this as well, but my future plan (sneakpeak :)) is to rather 
> have an abstract class that provides all needed methods, including the 
> `stageLoader` cleanup and exception handler setup. And all controls test 
> extend it. Saves us a lot of duplicate code, and if we need to change 
> something there, we can do it just once.
> 
> But the biggest benefit why I want to push this is to make it easier to write 
> tests for new contributors, as there is essentially only one way to spin up a 
> stage, fire mouse events, all in one class and used in every test. No 
> ambiguity.
> 
> And in this case, we would not really need this comment (I want to document 
> everything on the abstract class then). If that seems good for you too, I 
> would like to move on with that one time and rather do not clutter this class 
> (or other test classes, effectively spreading all information around 
> different test classes).

(For reference, I followed the same message as in: 
https://github.com/openjdk/jfx/pull/1829)

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

PR Review Comment: https://git.openjdk.org/jfx/pull/2124#discussion_r2977618456

Reply via email to