package http_parser.lolevel;
import http_parser.HTTPParserUrl;
import static http_parser.lolevel.Util.*;
public class ParseUrl {
public static void test(int i) {
HTTPParserUrl u = new HTTPParserUrl();
HTTPParser p = new HTTPParser();
Url test = Url.URL_TESTS[i];
// System.out.println(":: " + test.name);
int rv = p.parse_url(Util.buffer(test.url),test.is_connect,u);
UnitTest.check_equals(rv, test.rv);
if(test.rv == 0){
UnitTest.check_equals(u, test.u);
}
}
public static void test() {
p(ParseUrl.class);
for (int i = 0; i < Url.URL_TESTS.length; i++) {
test(i);
}
}
static void usage() {
p("usage: [jre] http_parser.lolevel.ParseUrl [i]");
p(" i : optional test case id");
p("---------------------------------------------");
p("Test Cases:");
for (int i =0; i!= Url.URL_TESTS.length; ++i) {
p(" "+i+": "+Url.URL_TESTS[i].name);
}
}
public static void main (String [] args) {
if (0 == args.length) {
test();
} else {
try {
int i = Integer.parseInt(args[0]);
test(i);
} catch (Throwable t) {
t.printStackTrace();
usage();
}
}
}
}