package hudson.console;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import hudson.Launcher;
import hudson.MarkupText;
import hudson.model.AbstractBuild;
import hudson.model.BuildListener;
import hudson.model.FreeStyleBuild;
import hudson.model.FreeStyleProject;
import org.jvnet.hudson.test.HudsonTestCase;
import org.jvnet.hudson.test.TestBuilder;
import java.io.IOException;
/**
* @author Kohsuke Kawaguchi
*/
public class UrlAnnotatorTest extends HudsonTestCase {
public void test1() throws Exception {
FreeStyleProject p = createFreeStyleProject();
p.getBuildersList().add(new TestBuilder() {
@Override
public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException {
listener.getLogger().println("http://www.sun.com/");
listener.getLogger().println("<http://www.kohsuke.org/>");
listener.getLogger().println("<a href='http://www.oracle.com/'>");
return true;
}
});
FreeStyleBuild b = buildAndAssertSuccess(p);
HtmlPage c = createWebClient().getPage(b, "console");
String rsp = c.getWebResponse().getContentAsString();
assertTrue(rsp, rsp.contains("<a href='http://www.sun.com/'>http://www.sun.com/</a>"));
assertTrue(rsp, rsp.contains("<a href='http://www.kohsuke.org/'>http://www.kohsuke.org/</a>"));
assertTrue(rsp, rsp.contains("<a href='http://www.oracle.com/'>http://www.oracle.com/</a>"));
}
/**
* Mark up of URL should consider surrounding markers, if any.
*/
public void test2() throws Exception {
MarkupText m = new MarkupText("{abc='http://url/',def='ghi'}");
new UrlAnnotator().newInstance(null).annotate(null,m);
String html = m.toString(false);
assertTrue(html.contains("<a href='http://url/'>http://url/</a>"));
System.out.println(html);
}
}