package com.bao.lc.util;
import java.net.URI;
import org.apache.http.HttpHost;
import org.apache.http.client.utils.URIUtils;
import junit.framework.TestCase;
public class URITest extends TestCase
{
private static String[][] datas = {
{"www.example.com", "http://www.example.com/"},
{"www.example.com/", "http://www.example.com/"},
{"/abc.html", "http://www.example.com/"},
{"/abc", "http://www.example.com/"},
{"abc/123.html", "http://www.example.com/"},
{"abc/123.html/", "http://www.example.com/"},
{"abc.html", "http://www.example.com/"},
{"abc", "http://www.example.com/"},
{"http://www.example.com", "http://www.example.com/"},
{"http://www.example.com/", "http://www.example.com/"},
{"www.example.com/help/abc.html", "http://www.example.com/"},
};
public void testURI()
{
HttpHost[] hosts = new HttpHost[2];
hosts[0] = new HttpHost("www.example.com");
hosts[1] = null;
for(int j = 0; j < hosts.length; j++)
{
for(int i = 0; i < datas.length; i++)
{
try
{
toURI(datas[i][0], hosts[j]);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}
public void testURI1()
{
String uriStr = "docs/guide/collections/designfaq.html#28";
String baseUriStr = "http://java.sun.com/j2se/1.3/";
URI baseURI = URI.create(baseUriStr);
URI resultURI = baseURI.resolve(uriStr);
System.out.println(resultURI);
uriStr = "../../../demo/jfc/SwingSet2/src/SwingSet2.java";
resultURI = resultURI.resolve(uriStr);
System.out.println(resultURI);
}
private URI toURI(String url, HttpHost host) throws Exception
{
URI uriOld = new URI(url);
URI uriNew = URIUtils.rewriteURI(uriOld, host);
System.out.println(String.format("Old=[%s]:[%b], New=[%s]:[%b]", uriOld,
uriOld.isAbsolute(), uriNew, uriNew.isAbsolute()));
return uriNew;
}
}