X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FAlignmentPanelTest.java;h=e84b87ae7cef861cdd83f13f773fa7f1b8decdb7;hb=f36251d568f123f14631d4839362355a058dc673;hp=f3b6876ba6913011c3d629c650546b709610da0b;hpb=b829ed00ada9a60dbfc690fc34ec2386273ddf2d;p=jalview.git diff --git a/test/jalview/gui/AlignmentPanelTest.java b/test/jalview/gui/AlignmentPanelTest.java index f3b6876..e84b87a 100644 --- a/test/jalview/gui/AlignmentPanelTest.java +++ b/test/jalview/gui/AlignmentPanelTest.java @@ -21,6 +21,7 @@ package jalview.gui; import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotEquals; import jalview.bin.Cache; import jalview.bin.Jalview; @@ -28,6 +29,7 @@ import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; import jalview.io.DataSourceType; import jalview.io.FileLoader; +import jalview.viewmodel.ViewportRanges; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; @@ -164,27 +166,30 @@ public class AlignmentPanelTest @Test(groups = "Functional") public void TestSetScrollValues() { - int oldres = af.getViewport().getEndRes(); + ViewportRanges ranges = af.getViewport().getRanges(); + af.alignPanel.setScrollValues(0, 0); + + int oldres = ranges.getEndRes(); af.alignPanel.setScrollValues(-1, 5); // setting -ve x value does not change residue - assertEquals(af.getViewport().getEndRes(), oldres); + assertEquals(ranges.getEndRes(), oldres); af.alignPanel.setScrollValues(0, 5); // setting 0 as x value does not change residue - assertEquals(af.getViewport().getEndRes(), oldres); + assertEquals(ranges.getEndRes(), oldres); af.alignPanel.setScrollValues(5, 5); // setting x value to 5 extends endRes by 5 residues - assertEquals(af.getViewport().getEndRes(), oldres + 5); + assertEquals(ranges.getEndRes(), oldres + 5); // scroll to position after hidden columns sets endres to oldres (width) + // position int scrollpos = 60; af.getViewport().hideColumns(30, 50); af.alignPanel.setScrollValues(scrollpos, 5); - assertEquals(af.getViewport().getEndRes(), oldres + scrollpos); + assertEquals(ranges.getEndRes(), oldres + scrollpos); // scroll to position within hidden columns, still sets endres to oldres + // position @@ -194,14 +199,14 @@ public class AlignmentPanelTest af.getViewport().showAllHiddenColumns(); af.getViewport().hideColumns(30, 50); af.alignPanel.setScrollValues(scrollpos, 5); - assertEquals(af.getViewport().getEndRes(), oldres + scrollpos); + assertEquals(ranges.getEndRes(), oldres + scrollpos); // scroll to position within distance of the end of the alignment // endRes should be set to width of alignment - 1 scrollpos = 130; af.getViewport().showAllHiddenColumns(); af.alignPanel.setScrollValues(scrollpos, 5); - assertEquals(af.getViewport().getEndRes(), af.getViewport() + assertEquals(ranges.getEndRes(), af.getViewport() .getAlignment().getWidth() - 1); // now hide some columns, and scroll to position within @@ -210,8 +215,35 @@ public class AlignmentPanelTest // columns af.getViewport().hideColumns(30, 50); af.alignPanel.setScrollValues(scrollpos, 5); - assertEquals(af.getViewport().getEndRes(), af.getViewport() + assertEquals(ranges.getEndRes(), af.getViewport() .getAlignment().getWidth() - 1 - 21); // 21 is the number of hidden // columns } + + /** + * Test that update layout reverts to original (unwrapped) values for endRes + * when switching from wrapped back to unwrapped mode (JAL-2739) + */ + @Test(groups = "Functional") + public void TestUpdateLayout_endRes() + { + // get details of original alignment dimensions + ViewportRanges ranges = af.getViewport().getRanges(); + int endres = ranges.getEndRes(); + + // wrap + af.alignPanel.getAlignViewport().setWrapAlignment(true); + af.alignPanel.updateLayout(); + + // endRes has changed + assertNotEquals(ranges.getEndRes(), endres); + + // unwrap + af.alignPanel.getAlignViewport().setWrapAlignment(false); + af.alignPanel.updateLayout(); + + // endRes back to original value + assertEquals(ranges.getEndRes(), endres); + + } }