#include #include #include #include "vger.h" // to test void test_status(void); void test_status_error(void); void test_uridecode(char*, const int); void test_uridecode(char *str, const int result) { char reference[GEMINI_REQUEST_MAX] = {'\0'}; strlcpy(reference, str, sizeof(reference)); uridecode(str); if (strncmp(reference, str, strlen(str)) != result) { printf("uridecode error\n"); printf("Strings should be %s\n", (result == 0) ? "identical" : "different"); printf("passed %s\n", reference); printf("got %s\n", str); exit(1); } } void test_status(void) { status(20, "text/gemini"); } void test_status_error(void) { status(51, "file not found"); status(50, "Forbidden path"); status(50, "Internal server error"); } int main(void) { test_status_error(); test_status(); //test_uridecode("host.name", 0); //test_uridecode("host.name/percent%25-encode%3.gmi", 1); return(0); }