From cdbd9de9d8d336b0c5f867b3d6e99788518ad7e8 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Wed, 13 Jun 2018 21:32:11 -0400 Subject: Simplify SerdEnv API --- tests/serd_test.c | 52 +++++++++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 23 deletions(-) (limited to 'tests') diff --git a/tests/serd_test.c b/tests/serd_test.c index fea37af4..c68d2813 100644 --- a/tests/serd_test.c +++ b/tests/serd_test.c @@ -474,11 +474,13 @@ main(void) SerdWorld* world = serd_world_new(); - SerdNode* u = serd_new_uri("http://example.org/foo"); - SerdNode* b = serd_new_curie("invalid"); - SerdNode* c = serd_new_curie("eg.2:b"); - SerdEnv* env = serd_env_new(NULL); - serd_env_set_prefix_from_strings(env, "eg.2", "http://example.org/"); + SerdNode* eg = serd_new_uri("http://example.org/"); + SerdNode* foo_u = serd_new_uri("http://example.org/foo"); + SerdNode* foo_c = serd_new_curie("eg.2:foo"); + SerdNode* b = serd_new_curie("invalid"); + SerdNode* pre = serd_new_curie("eg.2"); + SerdEnv* env = serd_env_new(NULL); + serd_env_set_prefix(env, pre, eg); if (serd_env_get_base_uri(env)) { FAIL("Unexpected initial base URI\n"); @@ -496,35 +498,30 @@ main(void) FAIL("Unexpected base URI\n"); } - SerdSlice prefix, suffix; - if (!serd_env_expand(env, b, &prefix, &suffix)) { - FAILF("Expanded invalid curie %s\n", serd_node_get_string(b)); - } - - SerdNode* xnode = serd_env_expand_node(env, hello); + SerdNode* xnode = serd_env_expand(env, hello); if (xnode) { - FAILF("Expanded %s\n", serd_node_get_string(c)); + FAILF("Expanded %s\n", serd_node_get_string(hello)); } serd_node_free(hello); - SerdNode* xu = serd_env_expand_node(env, u); + SerdNode* xu = serd_env_expand(env, foo_c); if (strcmp(serd_node_get_string(xu), "http://example.org/foo")) { FAILF("Expanded %s to %s\n", - serd_node_get_string(c), serd_node_get_string(xu)); + serd_node_get_string(xu), serd_node_get_string(xu)); } serd_node_free(xu); SerdNode* badpre = serd_new_curie("hm:what"); - SerdNode* xbadpre = serd_env_expand_node(env, badpre); + SerdNode* xbadpre = serd_env_expand(env, badpre); if (xbadpre) { FAILF("Expanded invalid curie %s\n", serd_node_get_string(badpre)); } serd_node_free(badpre); - SerdNode* xc = serd_env_expand_node(env, c); - if (strcmp(serd_node_get_string(xc), "http://example.org/b")) { + SerdNode* xc = serd_env_expand(env, foo_c); + if (!serd_node_equals(xc, foo_u)) { FAILF("Expanded %s to %s\n", - serd_node_get_string(c), serd_node_get_string(xc)); + serd_node_get_string(foo_c), serd_node_get_string(xc)); } serd_node_free(xc); @@ -538,21 +535,30 @@ main(void) } int n_prefixes = 0; - serd_env_set_prefix_from_strings(env, "eg.2", "http://example.org/"); + serd_env_set_prefix(env, pre, eg); serd_env_foreach(env, count_prefixes, &n_prefixes); if (n_prefixes != 1) { FAILF("Bad prefix count %d\n", n_prefixes); } SerdNode* shorter_uri = serd_new_uri("urn:foo"); - const SerdNode* prefix_name; - if (serd_env_qualify(env, shorter_uri, &prefix_name, &suffix)) { + if (serd_env_qualify(env, shorter_uri)) { FAILF("Qualified %s\n", serd_node_get_string(shorter_uri)); } serd_node_free(shorter_uri); - serd_node_free(u); + + SerdNode* qualified = serd_env_qualify(env, foo_u); + if (!serd_node_equals(qualified, foo_c)) { + FAILF("Qualified %s to %s\n", + serd_node_get_string(foo_u), + serd_node_get_string(qualified)); + } + serd_node_free(qualified); + serd_node_free(foo_c); + serd_node_free(foo_u); serd_node_free(b); - serd_node_free(c); + serd_node_free(pre); + serd_node_free(eg); // Test SerdReader and SerdWriter -- cgit v1.2.1