On Tue, 20 May 2025 11:52:58 GMT, Alexey Ivanov <aiva...@openjdk.org> wrote:

> > > I see that `MenuItemTest` class exists in `bug4729669.java`:
> > > https://github.com/openjdk/jdk/blob/e961b13cd68bc352b86af17c7e53df8537519beb/test/jdk/javax/swing/JMenuItem/bug4729669.java#L80
> > > 
> > > Is it similar to the one that you copied?
> > > If that `MenuItemTest` class is identical, I suggest moving both tests 
> > > into a subdirectory and promoting `MenuItemTest` into a public class in 
> > > that subdirectory which is located in its own `.java` file.
> > 
> > 
> > No, these are no exactly the same, the doMenuItemTest(boolean isLeft) 
> > method in bug4729669.java has only one parameter, but the 
> > doMenuItemTest(boolean isLeft, String lafName, int frameY) method has three 
> > parameters in bug6197830.java.
> 
> Can they be merged together?
> 
> If possible, I'd like to eliminate code duplication and extract common code.

The only difference is the Look-and-Feel parameter, which can be abstracted by 
pulling out common code.

Then `frameY` is used to position the test frame. It's not needed if 
[`PassFailJFrame.Builder.positionTestUIBottomRowCentered`](https://cr.openjdk.org/~aivanov/PassFailJFrame/api/PassFailJFrame.Builder.html#positionTestUIBottomRowCentered())
 or 
[`positionTestUIRightColumnCentered`](https://cr.openjdk.org/~aivanov/PassFailJFrame/api/PassFailJFrame.Builder.html#positionTestUIRightColumnCentered())
 are used.

For the case where multiple L&Fs are tested, a custom layout could be 
implemented to position test windows in two columns and two rows, which is easy 
with 
[`WindowLayouts`](https://cr.openjdk.org/~aivanov/PassFailJFrame/api/WindowLayouts.html).

Is Motif L&F still supported? I guess it is but it's deprecated.

https://github.com/openjdk/jdk/blob/ab985a7c5d313304e6d601571885dcb871967259/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifLookAndFeel.java#L51-L57

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

PR Comment: https://git.openjdk.org/jdk/pull/25319#issuecomment-2894154602

Reply via email to