From 9bb106c19079f7751bd47fa29b89edecd5f977f3 Mon Sep 17 00:00:00 2001 From: Patrick Ziegler Date: Sat, 9 Aug 2025 13:23:49 +0200 Subject: [PATCH] Use a common font for FormLayout tests The system font is not consistent between the operating systems. As a result, the expected font sizes might differ between Linux, Windows and MacOS. --- org.eclipse.wb.tests/META-INF/MANIFEST.MF | 1 + .../FormLayout/AbstractFormLayoutTest.java | 22 +++++- .../DefaultComponentFactoryTest.java | 4 +- .../FormLayout/FormDimensionInfoTest.java | 5 +- .../FormLayout/FormLayoutConverterTest.java | 20 ++--- .../layout/FormLayout/FormSizeInfoTest.java | 76 ++++--------------- 6 files changed, 46 insertions(+), 82 deletions(-) diff --git a/org.eclipse.wb.tests/META-INF/MANIFEST.MF b/org.eclipse.wb.tests/META-INF/MANIFEST.MF index cadcb535a..f51458ec8 100644 --- a/org.eclipse.wb.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.wb.tests/META-INF/MANIFEST.MF @@ -149,6 +149,7 @@ Export-Package: org.eclipse.wb.tests.designer;x-internal:=true, org.eclipse.wb.tests.utils;x-internal:=true Import-Package: com.jgoodies.forms.factories;version="[1.9.0,2.0.0]", com.jgoodies.forms.layout;version="[1.9.0,2.0.0]", + com.jgoodies.forms.util;version="[1.9.0,2.0.0)", net.miginfocom.layout;version="[11.3.0,12.0.0]", net.miginfocom.swing;version="[11.3.0,12.0.0]", org.apache.commons.collections4;version="[4.4.0,5.0.0)", diff --git a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/AbstractFormLayoutTest.java b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/AbstractFormLayoutTest.java index 13cd19867..fc7cc0909 100644 --- a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/AbstractFormLayoutTest.java +++ b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/AbstractFormLayoutTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2024 Google, Inc. + * Copyright (c) 2011, 2025 Google, Inc. and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -17,15 +17,21 @@ import org.eclipse.wb.tests.designer.swing.model.layout.AbstractLayoutTest; import com.jgoodies.forms.layout.FormLayout; +import com.jgoodies.forms.util.DefaultUnitConverter; +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; +import java.awt.Font; + /** * Abstract test for {@link FormLayout}. * * @author scheglov_ke */ public abstract class AbstractFormLayoutTest extends AbstractLayoutTest { + private static Font m_font; protected boolean m_useFormsImports = true; //////////////////////////////////////////////////////////////////////////// @@ -33,6 +39,20 @@ public abstract class AbstractFormLayoutTest extends AbstractLayoutTest { // Life cycle // //////////////////////////////////////////////////////////////////////////// + + @BeforeAll + public static void setUpAll() { + m_font = DefaultUnitConverter.getInstance().getDefaultDialogFont(); + Font newFont = new Font(Font.MONOSPACED, Font.PLAIN, 12); + DefaultUnitConverter.getInstance().setDefaultDialogFont(newFont); + } + + @AfterAll + public static void tearDownAll() { + DefaultUnitConverter.getInstance().setDefaultDialogFont(m_font); + m_font = null; + } + @Override @BeforeEach public void setUp() throws Exception { diff --git a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/DefaultComponentFactoryTest.java b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/DefaultComponentFactoryTest.java index eec99a00d..633c0831d 100644 --- a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/DefaultComponentFactoryTest.java +++ b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/DefaultComponentFactoryTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2024 Google, Inc. and others. + * Copyright (c) 2011, 2025 Google, Inc. and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -29,7 +29,6 @@ import com.jgoodies.forms.factories.DefaultComponentFactory; import org.assertj.core.api.Assertions; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** @@ -109,7 +108,6 @@ public void test_createLabel() throws Exception { * Test for {@link DefaultComponentFactoryCreateLabelEntryInfo}. */ @DisposeProjectAfter - @Disabled @Test public void test_createLabel_tool() throws Exception { do_projectDispose(); diff --git a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/FormDimensionInfoTest.java b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/FormDimensionInfoTest.java index 3e9aca944..06a65e683 100644 --- a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/FormDimensionInfoTest.java +++ b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/FormDimensionInfoTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2023 Google, Inc. + * Copyright (c) 2011, 2025 Google, Inc. and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -26,7 +26,6 @@ import com.jgoodies.forms.layout.Size; import com.jgoodies.forms.layout.Sizes; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import java.lang.reflect.Method; @@ -266,7 +265,6 @@ public void test_rowTemplates() throws Exception { // Convert to GAP template // //////////////////////////////////////////////////////////////////////////// - @Disabled @Test public void test_convertToNearestGap_columns() throws Exception { check_convertToNearestGap_column("4px", 5, "LABEL_COMPONENT_GAP_COLSPEC"); @@ -284,7 +282,6 @@ public void test_convertToNearestGap_columns() throws Exception { check_convertToNearestGap_column("20px", 5, null); } - @Disabled @Test public void test_convertToNearestGap_rows() throws Exception { check_convertToNearestGap_row("4px", 5, "LABEL_COMPONENT_GAP_ROWSPEC"); diff --git a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/FormLayoutConverterTest.java b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/FormLayoutConverterTest.java index 0d2a2648f..10e36db5e 100644 --- a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/FormLayoutConverterTest.java +++ b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/FormLayoutConverterTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Google, Inc. + * Copyright (c) 2011, 2025 Google, Inc. and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -18,7 +18,6 @@ import com.jgoodies.forms.layout.FormLayout; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** @@ -60,7 +59,6 @@ public void test_empty() throws Exception { "}"); } - @Disabled @Test public void test_oneRow() throws Exception { ContainerInfo panel = @@ -96,7 +94,7 @@ public void test_oneRow() throws Exception { " setLayout(new FormLayout(new ColumnSpec[] {", " FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,", " ColumnSpec.decode('100px'),", - " ColumnSpec.decode('16px'),", + " FormSpecs.UNRELATED_GAP_COLSPEC,", " ColumnSpec.decode('80px'),},", " new RowSpec[] {", " FormSpecs.UNRELATED_GAP_ROWSPEC,", @@ -118,7 +116,6 @@ public void test_oneRow() throws Exception { } } - @Disabled @Test public void test_twoRows_spanColumns() throws Exception { ContainerInfo panel = @@ -181,7 +178,6 @@ public void test_twoRows_spanColumns() throws Exception { "}"); } - @Disabled @Test public void test_Switching_fromGridBagLayout() throws Exception { ContainerInfo panel = @@ -243,17 +239,17 @@ public void test_Switching_fromGridBagLayout() throws Exception { "public class Test extends JPanel {", " public Test() {", " setLayout(new FormLayout(new ColumnSpec[] {", - " ColumnSpec.decode('46px'),", + " ColumnSpec.decode('60px'),", " FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,", - " ColumnSpec.decode('305px'),", + " ColumnSpec.decode('275px'),", " FormSpecs.LABEL_COMPONENT_GAP_COLSPEC,", - " ColumnSpec.decode('89px'),},", + " ColumnSpec.decode('105px'),},", " new RowSpec[] {", - " RowSpec.decode('20px'),", + " RowSpec.decode('26px'),", " FormSpecs.LINE_GAP_ROWSPEC,", - " RowSpec.decode('20px'),", + " RowSpec.decode('21px'),", " FormSpecs.LINE_GAP_ROWSPEC,", - " RowSpec.decode('23px'),}));", + " RowSpec.decode('27px'),}));", " {", " JComboBox comboBox = new JComboBox();", " add(comboBox, '3, 1, fill, center');", diff --git a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/FormSizeInfoTest.java b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/FormSizeInfoTest.java index c3b895986..f38614982 100644 --- a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/FormSizeInfoTest.java +++ b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/swing/model/layout/FormLayout/FormSizeInfoTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Google, Inc. + * Copyright (c) 2011, 2025 Google, Inc. and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -15,9 +15,6 @@ import org.eclipse.wb.internal.swing.FormLayout.model.FormSizeConstantInfo; import org.eclipse.wb.internal.swing.FormLayout.model.FormSizeInfo; import org.eclipse.wb.internal.swing.laf.LafSupport; -import org.eclipse.wb.tests.designer.Expectations; -import org.eclipse.wb.tests.designer.Expectations.DblValue; -import org.eclipse.wb.tests.designer.Expectations.IntValue; import com.jgoodies.forms.layout.ColumnSpec; import com.jgoodies.forms.layout.ConstantSize; @@ -26,7 +23,6 @@ import com.jgoodies.forms.layout.Sizes; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; /** @@ -64,7 +60,6 @@ public void _test_exit() throws Exception { /** * Test for {@link FormSizeConstantInfo}. */ - @Disabled @Test public void test_FormSizeConstantInfo() throws Exception { FormSizeConstantInfo size = new FormSizeConstantInfo(25, ConstantSize.PIXEL); @@ -110,12 +105,7 @@ public void test_FormSizeConstantInfo() throws Exception { assertEquals(40, size.getValue(), 0.001); // to millimeters size.setUnit(ConstantSize.MILLIMETER); - assertEquals( - Expectations.get(10.7, new DblValue[]{ - new DblValue("kosta-home", 8.5), - new DblValue("scheglov-win", 10.7)}), - size.getValue(), - 0.001); + assertEquals(10.7, size.getValue(), 0.001); } } @@ -139,7 +129,6 @@ public void test_FormSizeConstantInfo_convertSpecial() throws Exception { /** * Test for {@link FormSizeConstantInfo#convertFromPixels(int, Unit)} */ - @Disabled @Test public void test_FormSizeConstantInfo_convertFromPixels() throws Exception { { @@ -147,45 +136,27 @@ public void test_FormSizeConstantInfo_convertFromPixels() throws Exception { check_convertFromPixels(50, ConstantSize.PIXEL, expected); } { - double expected = - Expectations.get(39.0, new DblValue[]{ - new DblValue("kosta-home", 31.0), - new DblValue("scheglov-win", 38.0)}); + double expected = 38; check_convertFromPixels(50, ConstantSize.POINT, expected); } { - double expected = - Expectations.get(34.0, new DblValue[]{ - new DblValue("kosta-home", 26.0), - new DblValue("scheglov-win", 34.0)}); + double expected = 29; check_convertFromPixels(50, ConstantSize.DIALOG_UNITS_X, expected); } { - double expected = - Expectations.get(34.0, new DblValue[]{ - new DblValue("kosta-home", 32.0), - new DblValue("scheglov-win", 34.0)}); + double expected = 32; check_convertFromPixels(50, ConstantSize.DIALOG_UNITS_Y, expected); } { - double expected = - Expectations.get(13.4, new DblValue[]{ - new DblValue("kosta-home", 10.7), - new DblValue("scheglov-win", 13.4)}); + double expected = 13.4; check_convertFromPixels(50, ConstantSize.MILLIMETER, expected); } { - double expected = - Expectations.get(1.3, new DblValue[]{ - new DblValue("kosta-home", 1.1), - new DblValue("scheglov-win", 1.3)}); + double expected = 1.3; check_convertFromPixels(50, ConstantSize.CENTIMETER, expected); } { - double expected = - Expectations.get(0.5, new DblValue[]{ - new DblValue("kosta-home", 0.4), - new DblValue("scheglov-win", 0.5)}); + double expected = 0.5; check_convertFromPixels(50, ConstantSize.INCH, expected); } } @@ -197,7 +168,6 @@ private void check_convertFromPixels(int pixels, Unit unit, double expected) thr /** * Test for {@link FormSizeConstantInfo#convertToPixels(double, Unit)} */ - @Disabled @Test public void test_FormSizeConstantInfo_convertToPixels() throws Exception { { @@ -205,45 +175,27 @@ public void test_FormSizeConstantInfo_convertToPixels() throws Exception { check_convertToPixels(10.0, ConstantSize.PIXEL, expected); } { - int expected = - Expectations.get(13, new IntValue[]{ - new IntValue("kosta-home", 16), - new IntValue("scheglov-win", 13)}); + int expected = 13; check_convertToPixels(10.0, ConstantSize.POINT, expected); } { - int expected = - Expectations.get(15, new IntValue[]{ - new IntValue("kosta-home", 20), - new IntValue("scheglov-win", 15)}); + int expected = 18; check_convertToPixels(10.0, ConstantSize.DIALOG_UNITS_X, expected); } { - int expected = - Expectations.get(15, new IntValue[]{ - new IntValue("kosta-home", 16), - new IntValue("scheglov-win", 15)}); + int expected = 16; check_convertToPixels(10.0, ConstantSize.DIALOG_UNITS_Y, expected); } { - int expected = - Expectations.get(38, new IntValue[]{ - new IntValue("kosta-home", 47), - new IntValue("scheglov-win", 38)}); + int expected = 38; check_convertToPixels(10.0, ConstantSize.MILLIMETER, expected); } { - int expected = - Expectations.get(378, new IntValue[]{ - new IntValue("kosta-home", 472), - new IntValue("scheglov-win", 378)}); + int expected = 378; check_convertToPixels(10.0, ConstantSize.CENTIMETER, expected); } { - int expected = - Expectations.get(960, new IntValue[]{ - new IntValue("kosta-home", 1200), - new IntValue("scheglov-win", 960)}); + int expected = 960; check_convertToPixels(10.0, ConstantSize.INCH, expected); } }