X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fext%2Frbvi%2Fchimera%2FJalviewChimeraView.java;fp=test%2Fjalview%2Fext%2Frbvi%2Fchimera%2FJalviewChimeraView.java;h=e8b5bea8cf47ccbe9dd362cded257546455838be;hb=82083dc3796ac12fabd4defae3ceee2b16ff4f6d;hp=d397a6bd40231f9246ee6e06de556634a4c7822d;hpb=fa8a0ce92e350f285da4e02da130e2cc1ffee85a;p=jalview.git diff --git a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java index d397a6b..e8b5bea 100644 --- a/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java +++ b/test/jalview/ext/rbvi/chimera/JalviewChimeraView.java @@ -39,8 +39,10 @@ import jalview.api.FeatureRenderer; import jalview.api.structures.JalviewStructureDisplayI; import jalview.bin.Cache; import jalview.bin.Jalview; +import jalview.datamodel.AlignmentI; import jalview.datamodel.DBRefEntry; import jalview.datamodel.PDBEntry; +import jalview.datamodel.Sequence; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.gui.AlignFrame; @@ -118,6 +120,7 @@ public class JalviewChimeraView @Test(groups = { "External" }) public void testSingleSeqViewChimera() { + String inFile = "examples/1gaq.txt"; AlignFrame af = new FileLoader().LoadFileWaitTillLoaded(inFile, DataSourceType.FILE); @@ -139,7 +142,7 @@ public class JalviewChimeraView /* * Wait for viewer load thread to complete */ - while (!binding.isFinishedInit()) + do { try { @@ -147,11 +150,36 @@ public class JalviewChimeraView } catch (InterruptedException e) { } - } + } while (!binding.isFinishedInit() || !chimeraViewer.isVisible()); assertTrue(binding.isViewerRunning(), "Failed to start Chimera"); assertEquals(chimeraViewer.getBinding().getPdbCount(), 1); + assertTrue(chimeraViewer.hasViewerActionsMenu()); + + // now add another sequence and bind to view + // + AlignmentI al = af.getViewport().getAlignment(); + PDBEntry xpdb = al.getSequenceAt(0).getPDBEntry("1GAQ"); + sq = new Sequence("1GAQ", al.getSequenceAt(0).getSequence(25, 95).toString()); + al.addSequence(sq); + structureViewer.viewStructures(new PDBEntry[] { xpdb }, new SequenceI[] { sq }, af.getCurrentView().getAlignPanel()); + + /* + * Wait for viewer load thread to complete + */ + do + { + try { + Thread.sleep(1500); + } catch (InterruptedException q) {}; + } while (!binding.isLoadingFinished()); + + // still just one PDB structure shown + assertEquals(chimeraViewer.getBinding().getPdbCount(), 1); + // and the viewer action menu should still be visible + assertTrue(chimeraViewer.hasViewerActionsMenu()); + chimeraViewer.closeViewer(true); chimeraViewer = null; return;