ref: 0fcf30342402aff054a8106bb08a30f670ad62c0
dir: /tests/testurl.c/
#include <u.h>
#include <libc.h>
#include <castor.h>
static void assertstreql(char *a, char *b){
int r;
r = strcmp(a, b);
assert(r == 0);
}
static void geminiabs(void){
Url *u;
u = urlparse(nil, "gemini://host:port/path");
assert(u != nil);
assertstreql(u->host, "host");
assertstreql(u->port, "port");
assertstreql(u->scheme, "gemini");
freeurl(u);
}
static void geminirel(void){
Url *base, *u;
base = urlparse(nil, "gemini://host/");
u = urlparse(base, "/path");
assert(u != nil);
assertstreql(u->host, "host");
assertstreql(u->scheme, "gemini");
assertstreql(u->path, "/path");
freeurl(u);
}
static void mailto(void){
Url *u;
u = urlparse(nil, "mailto:user@email.com");
assert(u != nil);
assertstreql(u->scheme, "mailto");
assertstreql(u->path, "user@email.com");
freeurl(u);
}
void main(void) {
print("testurl: ");
geminiabs();
geminirel();
mailto();
print("PASS\n");
exits(0);
}