On Mon, 16 Sep 2024 21:38:36 GMT, Harshitha Onkar <[email protected]> wrote:
>> `positionTestUI()` option is added to PassFailJFrame (PFJ).
>>
>> With this change multiple UI can be positioned using the PFJ new builder
>> pattern by providing implementation for the Functional Interface
>> `PositionWindows.positionTestWindows(List<? extends Window>
>> testWindows,InstructionUI instructionUI)` in the test code.
>>
>> Since the position implementation is done in test code it allows flexibility
>> as the user can add custom positioning code as per test UI requirements.
>>
>> Usage:
>>
>> PassFailJFrame.builder()
>> .title("Test Instructions")
>> .instructions(INSTRUCTIONS)
>> .rows(int)
>> .columns(int)
>> .testUI(<TestClass::createAndShowUI>)
>> .positionTestUI(<TestClass::positionMultiTestUI>)
>> .build()
>> .awaitAndCheck();
>>
>> where positionMultiTestUI is the implementation for positioning of multiple
>> test windows for `PositionWindows.positionTestWindows(List<? extends Window>
>> testWindows,InstructionUI instructionUI)`
>>
>> @aivanov-jdk has demonstrated custom test UI positioning in this PR:
>> **[8294156: Demo positioning of multiple test
>> windows](https://github.com/openjdk/jdk/pull/15721)**
>
> Harshitha Onkar has updated the pull request incrementally with one
> additional commit since the last revision:
>
> removed errorenous check
Marked as reviewed by aivanov (Reviewer).
test/jdk/java/awt/regtesthelpers/PassFailJFrame.java line 1264:
> 1262: * @throws IllegalStateException if the {@code positionWindows}
> field
> 1263: * is already set, or if neither a windows list
> creator
> 1264: * nor a list of test windows has been provided
Suggestion:
* @throws IllegalStateException if the {@code positionWindows} field
* is already set
-------------
PR Review: https://git.openjdk.org/jdk/pull/21023#pullrequestreview-2309011043
PR Review Comment: https://git.openjdk.org/jdk/pull/21023#discussion_r1762784996