int main(int argc, char **argv) { line_ctx ctx; if (argc != 2) { printf("Usage: %s <filename>\n", argv[0]); return 1; } memset(&ctx, 0, sizeof(ctx)); lwc_intern_string("class", SLEN("class"), &ctx.attr_class); lwc_intern_string("id", SLEN("id"), &ctx.attr_id); assert(css__parse_testfile(argv[1], handle_line, &ctx) == true); /* and run final test */ if (ctx.tree != NULL) run_test(&ctx, ctx.exp, ctx.expused); free(ctx.exp); lwc_string_unref(ctx.attr_class); lwc_string_unref(ctx.attr_id); lwc_iterate_strings(printing_lwc_iterator, NULL); assert(fail_because_lwc_leaked == false); printf("PASS\n"); return 0; }
static void corestring_teardown(void) { corestrings_fini(); lwc_iterate_strings(netsurf_lwc_iterator, NULL); }
/** * 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; }