X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FAlignmentPanelTest.java;h=caa4e2294c433ed8979c5213548bc70c28332af1;hb=e83ce5d8ef826fc0b509a51f154abdf734501077;hp=d69f57f027345a57d40eda2562e293fea4cfd1b7;hpb=0654aaeaf0f2788912dc9814ffd352dd72dc5115;p=jalview.git diff --git a/test/jalview/gui/AlignmentPanelTest.java b/test/jalview/gui/AlignmentPanelTest.java index d69f57f..caa4e22 100644 --- a/test/jalview/gui/AlignmentPanelTest.java +++ b/test/jalview/gui/AlignmentPanelTest.java @@ -44,6 +44,7 @@ import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.SequenceI; import jalview.io.DataSourceType; import jalview.io.FileLoader; +import jalview.util.Platform; import jalview.viewmodel.ViewportRanges; public class AlignmentPanelTest @@ -274,12 +275,16 @@ public class AlignmentPanelTest @Test(groups = { "Functional", "Not-bamboo" }) public void testGetVisibleWidth() { + double scaling = jalview.gui.JvSwingUtilsTest.getScaling(af.alignPanel); /* * width for onscreen rendering is IDPanel width */ int w = af.alignPanel.getVisibleIdWidth(true); assertEquals(w, af.alignPanel.getIdPanel().getWidth()); - assertEquals(w, 115); + + // different scaling (1.0, 2.0) gives different results + int expectedWidth = scaling == 1.0 ? 112 : Platform.isMac() ? 115 : 107; + assertEquals(w, expectedWidth); /* * width for offscreen rendering is the same @@ -299,19 +304,28 @@ public class AlignmentPanelTest * preference for auto id width overrides fixed width */ Cache.setProperty("FIGURE_AUTOIDWIDTH", Boolean.TRUE.toString()); - assertEquals(115, af.alignPanel.getVisibleIdWidth(false)); + w = af.alignPanel.getVisibleIdWidth(false); + // allow some leeway for different OS renderings + assertTrue(w > 105 && w < 120); + // different scaling (1.0, 2.0) gives different results + assertEquals(w, expectedWidth); } @Test(groups = { "Functional", "Not-bamboo" }) public void testresetIdWidth() { + double scaling = jalview.gui.JvSwingUtilsTest.getScaling(af.alignPanel); /* * width for onscreen rendering is IDPanel width */ int w = af.alignPanel.getVisibleIdWidth(true); int actual = af.alignPanel.getIdPanel().getWidth(); assertEquals(w, actual); - assertEquals(w, 115); + // allow some leeway for different OS renderings + assertTrue(w > 105 && w < 120); + // different scaling (1.0, 2.0) gives different results + int expectedWidth = scaling == 1.0 ? 112 : Platform.isMac() ? 115 : 107; + assertEquals(w, expectedWidth); // manually adjust af.viewport.setIdWidth(200); @@ -328,6 +342,7 @@ public class AlignmentPanelTest assertEquals(w, actual); af.viewport.setIdWidth(-1); + af.alignPanel.calculateIdWidth(); af.alignPanel.getIdPanel().getIdCanvas().setManuallyAdjusted(false); w = af.alignPanel.calculateIdWidth().width; af.alignPanel.paintComponent(af.alignPanel.getGraphics()); @@ -337,7 +352,10 @@ public class AlignmentPanelTest // setting a negative IdWidth and then running calculateIdWidth resets width // to optimal id width - assertEquals(w, 115); + // allow some leeway for different OS renderings + assertTrue(w > 105 && w < 120); + // different scaling (1.0, 2.0) gives different results + assertEquals(w, expectedWidth); } @Test(groups = "Functional")