// (C) Copyright 2003-2015 Hewlett-Packard Development Company, L.P. package com.hp.alm.ali.idea.navigation.recognizer; import com.hp.alm.ali.ServerVersion; import com.hp.alm.ali.idea.IntellijTest; import com.hp.alm.ali.idea.navigation.Candidate; import com.hp.alm.ali.idea.util.BrowserUtil; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import java.util.LinkedList; public class HREFLinkRecognizerTest extends IntellijTest { private HREFLinkRecognizer recognizer; public HREFLinkRecognizerTest() { super(ServerVersion.AGM); } @Before public void preClean() { recognizer = new HREFLinkRecognizer(); } @After public void postClean() { getComponent(BrowserUtil.class)._restore(); } @Test public void testRecognize() { LinkedList<Candidate> list = new LinkedList<Candidate>(); String value = "<p>According to: <a>Development</a>  (<a href=\"https://mycompany.com/view\">Web view</a>)</p>"; recognizer.recognize(value, list); Assert.assertEquals(1, list.size()); AbstractRecognizerTest.checkCandidate(list.get(0), null, value.indexOf("<a href"), value.indexOf(")</p>"), value.indexOf("<a href"), value.indexOf(")</p>")); } @Test public void testNavigate() { handler.async(); getComponent(BrowserUtil.class)._setLauncher(new BrowserUtil.Launcher() { @Override public void launchBrowser(final String url) { handler.done(new Runnable() { @Override public void run() { Assert.assertEquals("http://web.server.com/some/path", url); } }); } }); Assert.assertTrue(recognizer.navigate(getProject(), "http://web.server.com/some/path")); } @Test public void testNavigate_negative() { Assert.assertFalse(recognizer.navigate(getProject(), "ftp://not.supported")); } }