RFR: JDK-8340210 : Add positionTestUI() to PassFailJFrame.Builder [v3]

Harshitha Onkar honkar at openjdk.org
Tue Sep 17 17:28:26 UTC 2024


> `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:

  doc update

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/21023/files
  - new: https://git.openjdk.org/jdk/pull/21023/files/5a331fd6..cb342a88

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=21023&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=21023&range=01-02

  Stats: 2 lines in 1 file changed: 0 ins; 1 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/21023.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21023/head:pull/21023

PR: https://git.openjdk.org/jdk/pull/21023


More information about the client-libs-dev mailing list