X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fgui%2FPopupMenuTest.java;h=922d45758d1b2c784e40848d15fc3de0141716a8;hb=483e7163b1fb8d4bcb9393014816c944befce328;hp=fe52e9234136eb3298a9b307e0b8377b214ce163;hpb=0a9a0c390bce6a5b374f4d559d0b93797e5d36d0;p=jalview.git diff --git a/test/jalview/gui/PopupMenuTest.java b/test/jalview/gui/PopupMenuTest.java index fe52e92..922d457 100644 --- a/test/jalview/gui/PopupMenuTest.java +++ b/test/jalview/gui/PopupMenuTest.java @@ -20,6 +20,8 @@ */ package jalview.gui; +import static jalview.util.UrlConstants.DB_ACCESSION; +import static jalview.util.UrlConstants.SEQUENCE_ID; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertFalse; import static org.testng.AssertJUnit.assertTrue; @@ -31,7 +33,8 @@ import jalview.datamodel.DBRefEntry; import jalview.datamodel.DBRefSource; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; -import jalview.io.AppletFormatAdapter; +import jalview.io.DataSourceType; +import jalview.io.FileFormat; import jalview.io.FormatAdapter; import jalview.util.MessageManager; @@ -45,11 +48,20 @@ import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.JSeparator; +import org.testng.annotations.BeforeClass; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; public class PopupMenuTest { + + @BeforeClass(alwaysRun = true) + public void setUpJvOptionPane() + { + JvOptionPane.setInteractiveMode(false); + JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); + } + // 4 sequences x 13 positions final static String TEST_DATA = ">FER_CAPAA Ferredoxin\n" + "TIETHKEAELVG-\n" @@ -69,7 +81,7 @@ public class PopupMenuTest public void setUp() throws IOException { alignment = new FormatAdapter().readFile(TEST_DATA, - AppletFormatAdapter.PASTE, "FASTA"); + DataSourceType.PASTE, FileFormat.Fasta); AlignFrame af = new AlignFrame(alignment, 700, 500); parentPanel = new AlignmentPanel(af, af.getViewport()); testee = new PopupMenu(parentPanel, null, null); @@ -458,11 +470,15 @@ public class PopupMenuTest List refs = new ArrayList(); // links as might be added into Preferences | Connections dialog - links.add("EMBL-EBI Search | http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$SEQUENCE_ID$"); - links.add("UNIPROT | http://www.uniprot.org/uniprot/$SEQUENCE_ID$"); - links.add("INTERPRO | http://www.ebi.ac.uk/interpro/entry/$SEQUENCE_ID$"); + links.add("EMBL-EBI Search | http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$" + + SEQUENCE_ID + "$"); + links.add("UNIPROT | http://www.uniprot.org/uniprot/$" + DB_ACCESSION + + "$"); + links.add("INTERPRO | http://www.ebi.ac.uk/interpro/entry/$" + + DB_ACCESSION + "$"); // Gene3D entry tests for case (in)sensitivity - links.add("Gene3D | http://gene3d.biochem.ucl.ac.uk/Gene3D/search?sterm=$SEQUENCE_ID$&mode=protein"); + links.add("Gene3D | http://gene3d.biochem.ucl.ac.uk/Gene3D/search?sterm=$" + + DB_ACCESSION + "$&mode=protein"); // make seq0 dbrefs refs.add(new DBRefEntry(DBRefSource.UNIPROT, "1", "P83527")); @@ -500,10 +516,11 @@ public class PopupMenuTest // sequence id for each link should match corresponding DB accession id for (int i = 1; i < 4; i++) { - assertEquals(refs.get(i).getSource(), ((JMenuItem) linkItems[i]) - .getText().split(" \\|")[0]); - assertEquals(refs.get(i).getAccessionId(), ((JMenuItem) linkItems[i]) - .getText().split(" \\|")[1]); + assertEquals(refs.get(i - 1).getSource(), ((JMenuItem) linkItems[i]) + .getText().split("\\|")[0]); + assertEquals(refs.get(i - 1).getAccessionId(), + ((JMenuItem) linkItems[i]) + .getText().split("\\|")[1]); } // get the Popup Menu for second sequence @@ -519,14 +536,24 @@ public class PopupMenuTest assertEquals("EMBL-EBI Search", ((JMenuItem) linkItems[0]).getText()); // sequence id for each link should match corresponding DB accession id - for (int i = 5; i < 7; i++) + for (int i = 1; i < 3; i++) { - assertEquals(refs.get(i).getSource(), ((JMenuItem) linkItems[i - 4]) - .getText().split(" \\|")[0]); - assertEquals(refs.get(i).getAccessionId(), - ((JMenuItem) linkItems[i - 4]).getText().split(" \\|")[1]); + assertEquals(refs.get(i + 3).getSource(), ((JMenuItem) linkItems[i]) + .getText().split("\\|")[0].toUpperCase()); + assertEquals(refs.get(i + 3).getAccessionId(), + ((JMenuItem) linkItems[i]).getText().split("\\|")[1]); } + // if there are no valid links the Links submenu is disabled + List nomatchlinks = new ArrayList(); + nomatchlinks.add("NOMATCH | http://www.uniprot.org/uniprot/$" + + DB_ACCESSION + "$"); + + testee = new PopupMenu(parentPanel, (Sequence) seqs.get(0), + nomatchlinks); + seqItems = testee.sequenceMenu.getMenuComponents(); + linkMenu = (JMenu) seqItems[6]; + assertFalse(linkMenu.isEnabled()); } }