END_TEST /** * check query replacement asserts on NULL parameter */ START_TEST(nsurl_api_assert_replace_query1_test) { const char *rel = "moo"; nsurl *res; nserror err; err = nsurl_replace_query(NULL, rel, &res); ck_assert(err != NSERROR_OK); }
END_TEST /** * check query replacement asserts on NULL parameter */ START_TEST(nsurl_api_assert_replace_query2_test) { nsurl *url; nsurl *res; nserror err; err = nsurl_create(base_str, &url); ck_assert(err == NSERROR_OK); err = nsurl_replace_query(url, NULL, &res); ck_assert(err != NSERROR_OK); nsurl_unref(url); }
END_TEST /** * check query replacement asserts on bad parameter */ START_TEST(nsurl_api_assert_replace_query3_test) { nsurl *url; nsurl *res; nserror err; const char *rel = "moo"; err = nsurl_create(base_str, &url); ck_assert(err == NSERROR_OK); err = nsurl_replace_query(url, rel, &res); ck_assert(err != NSERROR_OK); nsurl_unref(url); }
/** * Test nsurl */ int main(void) { nsurl *base; nsurl *joined; char *string; size_t len; const char *url; const struct test_pairs *test; const struct test_triplets *ttest; int passed = 0; int count = 0; /* Create base URL */ if (nsurl_create("http://a/b/c/d;p?q", &base) != NSERROR_OK) { assert(0 && "Failed to create base URL."); } if (nsurl_get(base, NSURL_WITH_FRAGMENT, &string, &len) != NSERROR_OK) { LOG(("Failed to get string")); } else { LOG(("Testing nsurl_join with base %s", string)); free(string); } for (test = join_tests; test->test != NULL; test++) { if (nsurl_join(base, test->test, &joined) != NSERROR_OK) { LOG(("Failed to join test URL.")); } else { if (nsurl_get(joined, NSURL_WITH_FRAGMENT, &string, &len) != NSERROR_OK) { LOG(("Failed to get string")); } else { if (strcmp(test->res, string) == 0) { LOG(("\tPASS: \"%s\"\t--> %s", test->test, string)); passed++; } else { LOG(("\tFAIL: \"%s\"\t--> %s", test->test, string)); LOG(("\t\tExpecting: %s", test->res)); } free(string); } nsurl_unref(joined); } count++; } nsurl_unref(base); /* Create tests */ LOG(("Testing nsurl_create")); for (test = create_tests; test->test != NULL; test++) { if (nsurl_create(test->test, &base) != NSERROR_OK) { LOG(("Failed to create URL:\n\t\t%s.", test->test)); } else { if (strcmp(nsurl_access(base), test->res) == 0) { LOG(("\tPASS: \"%s\"\t--> %s", test->test, nsurl_access(base))); passed++; } else { LOG(("\tFAIL: \"%s\"\t--> %s", test->test, nsurl_access(base))); LOG(("\t\tExpecting %s", test->res)); } nsurl_unref(base); } count++; } /* Replace query tests */ LOG(("Testing nsurl_replace_query")); for (ttest = replace_query_tests; ttest->test1 != NULL; ttest++) { if (nsurl_create(ttest->test1, &base) != NSERROR_OK) { LOG(("Failed to create URL:\n\t\t%s.", ttest->test1)); } else { if (nsurl_replace_query(base, ttest->test2, &joined) != NSERROR_OK) { LOG(("Failed to make test URL")); } else { if (strcmp(nsurl_access(joined), ttest->res) == 0) { LOG(("\tPASS: \"%s\" + %s", ttest->test1, ttest->test2)); passed++; } else { LOG(("\tFAIL: \"%s\" + %s", ttest->test1, ttest->test2)); LOG(("\t\tExpecting %s", ttest->res)); LOG(("\t\tGot %s", nsurl_access(joined))); } nsurl_unref(joined); } nsurl_unref(base); } count++; } if (passed == count) { LOG(("Testing complete: SUCCESS")); } else { LOG(("Testing complete: FAILURE")); LOG(("Failed %d out of %d", count - passed, count)); } LOG(("Remaining lwc strings:")); lwc_iterate_strings(netsurf_lwc_iterator, NULL); return 0; }