X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=blobdiff_plain;f=test%2Fjalview%2Fproject%2FJalview2xmlTests.java;fp=test%2Fjalview%2Fproject%2FJalview2xmlTests.java;h=ebd265a015a169f4413541d53cc8d53c08a6491f;hp=9c1b32ffe4727fe2f03b09aea9a6d1a047c76632;hb=2d44b9594da6c691eca72697060c166d0389affd;hpb=56a6a69166dc8ea81282c7e69b55930c39787457 diff --git a/test/jalview/project/Jalview2xmlTests.java b/test/jalview/project/Jalview2xmlTests.java index 9c1b32f..ebd265a 100644 --- a/test/jalview/project/Jalview2xmlTests.java +++ b/test/jalview/project/Jalview2xmlTests.java @@ -102,6 +102,7 @@ import jalview.schemes.StrandColourScheme; import jalview.schemes.TCoffeeColourScheme; import jalview.structure.StructureImportSettings; import jalview.util.MapList; +import jalview.util.Platform; import jalview.util.matcher.Condition; import jalview.viewmodel.AlignmentViewport; import jalview.viewmodel.seqfeatures.FeatureRendererModel; @@ -1738,4 +1739,68 @@ public class Jalview2xmlTests extends Jalview2xmlBase } + @Test(groups = "Functional") + public void testStoreAndRestoreIDwidthAndAnnotationHeight() throws IOException + { + Desktop.instance.closeAll_actionPerformed(null); + final String SECONDVIEW = "With Diffferent IDwidth"; + // create a new tempfile + File tempfile = File.createTempFile("jvIdWidthStoreRestore", "jvp"); + + + AlignFrame af = new FileLoader().LoadFileWaitTillLoaded("examples/exampleFile.jvp", + DataSourceType.FILE); + assertNotNull(af, "Didn't read in the example file correctly."); + // FIXME JAL-4281 test made platform dependent to pass, but probably shouldn't be platform dependent + assertEquals(af.alignPanel.getAlignViewport().getIdWidth(), Platform.isAMacAndNotJS() ? 144 : 138, + "Legacy project import should have fixed ID width"); + assertTrue(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted()); + + + af.alignPanel.getAlignViewport().setIdWidth(100); + af.alignPanel.updateLayout(); + assertTrue(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted()); + + Jalview2XML jv2xml = new jalview.project.Jalview2XML(false); + tempfile.delete(); + jv2xml.saveState(tempfile); + assertTrue(jv2xml.errorMessage == null, + "Failed to save dummy project with PCA: test broken"); + af = null; + // load again. + Desktop.instance.closeAll_actionPerformed(null); + af = new FileLoader().LoadFileWaitTillLoaded( + tempfile.getCanonicalPath(), DataSourceType.FILE); + assertTrue(af.alignPanel.getIdPanel().getIdCanvas() + .isManuallyAdjusted()); + assertEquals(af.alignPanel.getAlignViewport().getIdWidth(), 100, + "New project exported and import should have adjusted ID width"); + + af.alignPanel.getAlignViewport().setIdWidth(100); + af.alignPanel.updateLayout(); + assertTrue(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted()); + + // now make it autoadjusted + af.alignPanel.getAlignViewport().setIdWidth(-1); + af.alignPanel.getIdPanel().getIdCanvas().setManuallyAdjusted(false); + af.alignPanel.updateLayout(); + assertFalse(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted()); + assertTrue(af.alignPanel.getAlignViewport().getIdWidth()>-1, + "New project exported and import should have adjusted ID width"); + + jv2xml = new jalview.project.Jalview2XML(false); + tempfile.delete(); + jv2xml.saveState(tempfile); + assertTrue(jv2xml.errorMessage == null, + "Failed to save dummy project with PCA: test broken"); + af = null; + // load again. + Desktop.instance.closeAll_actionPerformed(null); + af = new FileLoader().LoadFileWaitTillLoaded( + tempfile.getCanonicalPath(), DataSourceType.FILE); + assertFalse(af.alignPanel.getIdPanel().getIdCanvas().isManuallyAdjusted()); + assertTrue(af.alignPanel.getAlignViewport().getIdWidth()>-1, + "New project exported and import should have adjusted ID width"); + } + }