X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FAlignmentPanelTest.java;h=a221bd12ed642fe573cac27d1a9f71d74f0b3620;hb=96f727b57ac588f9307116b79a7f1ab67dbff39b;hp=c1896bce26e2c87224968cb917e8220c9b43b0cd;hpb=80b889f0cca49103e1b20ed806755a0719789906;p=jalview.git diff --git a/test/jalview/gui/AlignmentPanelTest.java b/test/jalview/gui/AlignmentPanelTest.java index c1896bc..a221bd1 100644 --- a/test/jalview/gui/AlignmentPanelTest.java +++ b/test/jalview/gui/AlignmentPanelTest.java @@ -23,7 +23,9 @@ package jalview.gui; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertNotEquals; import static org.testng.Assert.assertNotNull; +import static org.testng.Assert.assertTrue; +import java.awt.Container; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; @@ -52,7 +54,7 @@ public class AlignmentPanelTest { Jalview.main( new String[] - { "-nonews", "-props", "test/jalview/testProps.jvprops" }); + { "--nonews", "--props", "test/jalview/testProps.jvprops" }); Cache.applicationProperties.setProperty("SHOW_IDENTITY", Boolean.TRUE.toString()); @@ -207,9 +209,10 @@ public class AlignmentPanelTest /** * Test the variant of calculateIdWidth that computes the longest of any - * sequence name or annotation label width + * sequence name or annotation label width FIXME: JAL-4291: test needs + * updating for JAL-244 and JAL-4091 */ - @Test(groups = "Functional") + @Test(groups = "Functional", enabled = false) public void testCalculateIdWidth_withMaxWidth() { AlignViewportI av = af.alignPanel.getAlignViewport(); @@ -218,13 +221,20 @@ public class AlignmentPanelTest av.setShowAnnotation(false); av.setIdWidth(18); + FontMetrics fmfor = new Container() + .getFontMetrics(new Font(af.viewport.font.getName(), + Font.ITALIC, af.viewport.font.getSize())); + /* * note 4 pixels 'padding' are added to the longest seq name/annotation label */ Dimension d = af.alignPanel.calculateIdWidth(2000); + // Assumption ID_WIDTH_PADDING == 4 + int expwidth = 3 + fmfor.stringWidth("Conservation"); + assertEquals(d.width, 166); // 4 + pixel width of "Q93Z60_ARATH/1-118" assertEquals(d.height, 12); // fixed value (not used?) - assertEquals(av.getIdWidth(), 18); // not changed by this method + assertEquals(av.getIdWidth(), expwidth); // not changed by this method /* * make the longest sequence name longer @@ -243,11 +253,10 @@ public class AlignmentPanelTest */ AlignmentAnnotation aa = av.getAlignment().getAlignmentAnnotation()[0]; aa.label = "THIS IS A VERY LONG LABEL INDEED"; - FontMetrics fmfor = af.alignPanel - .getFontMetrics(af.alignPanel.getAlabels().getFont()); - // Assumption ID_WIDTH_PADDING == 4 - int expwidth = 4 + fmfor.stringWidth(aa.label); d = af.alignPanel.calculateIdWidth(2000); + // Assumption ID_WIDTH_PADDING == 3 + expwidth = 3 + fmfor.stringWidth(aa.label); + assertEquals(d.width, expwidth); // 228 == ID_WIDTH_PADDING + pixel width of // "THIS IS A VERY LONG LABEL INDEED" assertEquals(d.height, 12); @@ -292,6 +301,32 @@ public class AlignmentPanelTest assertEquals(115, af.alignPanel.getVisibleIdWidth(false)); } + @Test(groups = { "Functional", "Not-bamboo" }) + public void testresetIdWidth() + { + /* + * width for onscreen rendering is IDPanel width + */ + int w = af.alignPanel.getVisibleIdWidth(true); + assertEquals(w, af.alignPanel.getIdPanel().getWidth()); + assertEquals(w, 115); + + // manually adjust + af.viewport.setIdWidth(200); + w = af.alignPanel.calculateIdWidth().width; + assertTrue( + af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted()); + assertEquals(w, af.alignPanel.getIdPanel().getWidth()); + + af.viewport.setIdWidth(-1); + af.alignPanel.getIdPanel().getIdCanvas().setManuallyAdjusted(false); + w = af.alignPanel.calculateIdWidth().width; + + assertEquals(w, af.alignPanel.getIdPanel().getWidth()); + + assertNotEquals(w, 115); + } + @Test(groups = "Functional") public void testSetOverviewTitle() {