public void setUp() throws IOException
{
Cache.loadProperties("test/jalview/io/testProps.jvprops");
+ Cache.initLogger();
+
String inMenuString = ("EMBL-EBI Search | http://www.ebi.ac.uk/ebisearch/search.ebi?db=allebi&query=$"
+ SEQUENCE_ID
+ "$"
* note dbref GENE3D is matched to link Gene3D, the latter is displayed
*/
linkMenu = PopupMenu.buildLinkMenu(seq1, noFeatures);
- assertEquals(linkText, linkMenu.getText());
linkItems = linkMenu.getMenuComponents();
assertEquals(3, linkItems.length);
assertEquals("EMBL-EBI Search", ((JMenuItem) linkItems[0]).getText());
Preferences.sequenceUrlLinks = factory.createUrlProvider();
linkMenu = PopupMenu.buildLinkMenu(seq1, noFeatures);
- assertEquals(linkText, linkMenu.getText());
linkItems = linkMenu.getMenuComponents();
assertEquals(1, linkItems.length);
assertEquals("EMBL-EBI Search", ((JMenuItem) linkItems[0]).getText());
+
+ /*
+ * if sequence is null, only feature links are shown (alignment popup submenu)
+ */
+ linkMenu = PopupMenu.buildLinkMenu(null, noFeatures);
+ linkItems = linkMenu.getMenuComponents();
+ assertEquals(0, linkItems.length);
+
+ List<SequenceFeature> features = new ArrayList<>();
+ SequenceFeature sf = new SequenceFeature("type", "desc", 1, 20, null);
+ features.add(sf);
+ linkMenu = PopupMenu.buildLinkMenu(null, features);
+ linkItems = linkMenu.getMenuComponents();
+ assertEquals(0, linkItems.length); // feature has no links
+
+ sf.addLink("Pfam family|http://pfam.xfam.org/family/PF00111");
+ linkMenu = PopupMenu.buildLinkMenu(null, features);
+ linkItems = linkMenu.getMenuComponents();
+ assertEquals(1, linkItems.length);
+ JMenuItem item = (JMenuItem) linkItems[0];
+ assertEquals("Pfam family", item.getText());
+ // ? no way to verify URL, compiled into link's actionListener
}
@Test(groups = { "Functional" })