gcc/libjava/classpath/test/java.net/URLTest.java
Tom Tromey f911ba985a Initial revision
From-SVN: r102074
2005-07-16 00:30:23 +00:00

156 lines
4.6 KiB
Java

/* Test URL's */
import java.net.*;
import java.io.*;
public class URLTest
{
public static void
main(String argv[])
{
System.out.println("Starting URL tests");
/* Simple URL test */
System.out.println("Test 1: Simple URL test");
try
{
URL url = new URL("http", "www.fsf.org", 80, "/");
if (!url.getProtocol().equals("http") ||
!url.getHost().equals("www.fsf.org") ||
url.getPort() != 80 ||
!url.getFile().equals("/"))
System.out.println("FAILED: Simple URL test");
System.out.println("URL is: " + url.toString());
URLConnection uc = url.openConnection();
if (uc instanceof HttpURLConnection)
System.out.println("Got the expected connection type");
HttpURLConnection hc = (HttpURLConnection)uc;
hc.connect();
System.out.flush();
System.out.println("Dumping response headers");
for (int i = 0; ; i++)
{
String key = hc.getHeaderFieldKey(i);
if (key == null)
break;
System.out.println(key + ": " + hc.getHeaderField(i));
}
System.out.flush();
System.out.println("Dumping contents");
BufferedReader br = new BufferedReader(new
InputStreamReader(hc.getInputStream()));
for (String str = br.readLine(); str != null; str = br.readLine())
{
System.out.println(str);
}
System.out.flush();
hc.disconnect();
System.out.println("Content Type: " + hc.getContentType());
System.out.println("Content Encoding: " + hc.getContentEncoding());
System.out.println("Content Length: " + hc.getContentLength());
System.out.println("Date: " + hc.getDate());
System.out.println("Expiration: " + hc.getExpiration());
System.out.println("Last Modified: " + hc.getLastModified());
System.out.println("PASSED: Simple URL test");
}
catch(IOException e)
{
System.out.println("FAILED: Simple URL test: " + e);
}
// Parsing test
System.out.println("Test 2: URL parsing test");
try
{
URL url = new URL("http://www.urbanophile.com/arenn/trans/trans.html#mis");
if (!url.toString().equals(
"http://www.urbanophile.com/arenn/trans/trans.html#mis"))
System.out.println("FAILED: Parse URL test: " + url.toString());
else {
System.out.println("Parsed ok: " + url.toString());
url = new URL("http://www.foo.com:8080/#");
if (!url.toString().equals("http://www.foo.com:8080/#"))
System.out.println("FAILED: Parse URL test: " + url.toString());
else {
System.out.println("Parsed ok: " + url.toString());
url = new URL("http://www.bar.com/test:file/");
if (!url.toString().equals("http://www.bar.com/test:file/"))
System.out.println("FAILED: Parse URL test: " + url.toString());
else {
System.out.println("Parsed ok: " + url.toString());
url = new URL("http://www.gnu.org");
if (!url.toString().equals("http://www.gnu.org/"))
System.out.println("FAILED: Parse URL test: " + url.toString());
else {
System.out.println("Parsed ok: " + url.toString());
url = new URL("HTTP://www.fsf.org/");
if (!url.toString().equals("http://www.fsf.org/"))
System.out.println("FAILED: Parse URL test: " + url.toString());
else {
System.out.println("Parsed ok: " + url.toString());
System.out.println("PASSED: URL parse test");
}
}
}
}
}
}
catch (IOException e)
{
System.out.println("FAILED: URL parsing test: " + e);
}
// getContent test
System.out.println("Test 3: getContent test");
try
{
URL url = new URL("http://localhost/~arenn/services.txt");
Object obj = url.getContent();
System.out.println("Object type is: " + obj.getClass().getName());
if (obj instanceof InputStream)
{
System.out.println("Got InputStream, so dumping contents");
BufferedReader br = new BufferedReader(new
InputStreamReader((InputStream)obj));
for (String str = br.readLine(); str != null; str = br.readLine())
System.out.println(str);
br.close();
}
else
{
System.out.println("FAILED: Object is not an InputStream");
}
System.out.println("PASSED: getContent test");
}
catch (IOException e)
{
System.out.println("FAILED: getContent test: " + e);
}
System.out.println("URL test complete");
}
}