diff options
author | David Robillard <d@drobilla.net> | 2025-02-25 08:07:23 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2025-02-25 18:18:28 -0500 |
commit | eb7e973b25a8e5556b2f1175d8375e5e513ba664 (patch) | |
tree | 470978187f0639be20037b5a728c199675a15b0b /test/test_reader_writer.c | |
parent | 9766872b2ef28126a46f14f4c3d1070bc3116368 (diff) | |
download | serd-eb7e973b25a8e5556b2f1175d8375e5e513ba664.tar.gz serd-eb7e973b25a8e5556b2f1175d8375e5e513ba664.tar.bz2 serd-eb7e973b25a8e5556b2f1175d8375e5e513ba664.zip |
Isolate standalone writer tests
Move these to test_writer so that test_reader_writer is focused on the
file-based case where the writer output is later read.
Diffstat (limited to 'test/test_reader_writer.c')
-rw-r--r-- | test/test_reader_writer.c | 45 |
1 files changed, 4 insertions, 41 deletions
diff --git a/test/test_reader_writer.c b/test/test_reader_writer.c index 7302fa39..61874bc7 100644 --- a/test/test_reader_writer.c +++ b/test/test_reader_writer.c @@ -1,4 +1,4 @@ -// Copyright 2011-2024 David Robillard <d@drobilla.net> +// Copyright 2011-2025 David Robillard <d@drobilla.net> // SPDX-License-Identifier: ISC #undef NDEBUG @@ -172,7 +172,7 @@ test_writer(const char* const path) SerdNode p = serd_node_from_string(SERD_URI, USTR("http://example.org/pred")); SerdNode o = serd_node_from_string(SERD_LITERAL, buf); - // Write 3 invalid statements (should write nothing) + // Attempt to write invalid statements (should write nothing) const SerdNode* junk[][5] = {{&s, &p, &SERD_NODE_NULL, NULL, NULL}, {&s, &SERD_NODE_NULL, &o, NULL, NULL}, {&SERD_NODE_NULL, &p, &o, NULL, NULL}, @@ -190,9 +190,11 @@ test_writer(const char* const path) junk[i][4])); } + // Write some valid statements const SerdNode t = serd_node_from_string(SERD_URI, USTR("urn:Type")); const SerdNode l = serd_node_from_string(SERD_LITERAL, USTR("en")); const SerdNode* good[][5] = {{&s, &p, &o, NULL, NULL}, + {&s, &p, &lit, NULL, NULL}, {&s, &p, &o, &SERD_NODE_NULL, &SERD_NODE_NULL}, {&s, &p, &o, &t, NULL}, {&s, &p, &o, NULL, &l}, @@ -222,46 +224,7 @@ test_writer(const char* const path) assert(!serd_writer_write_statement( writer, 0, NULL, &s, &p, &bad_uri, NULL, NULL)); - // Write 1 valid statement - o = serd_node_from_string(SERD_LITERAL, USTR("hello")); - assert(!serd_writer_write_statement(writer, 0, NULL, &s, &p, &o, NULL, NULL)); - - serd_writer_free(writer); - - // Test chunk sink - SerdChunk chunk = {NULL, 0}; - writer = serd_writer_new( - SERD_TURTLE, (SerdStyle)0, env, NULL, serd_chunk_sink, &chunk); - - o = serd_node_from_string(SERD_URI, USTR("http://example.org/base")); - assert(!serd_writer_set_base_uri(writer, &o)); - serd_writer_free(writer); - uint8_t* out = serd_chunk_sink_finish(&chunk); - - assert(!strcmp((const char*)out, "@base <http://example.org/base> .\n")); - serd_free(out); - - // Test writing empty node - SerdNode nothing = serd_node_from_string(SERD_NOTHING, USTR("")); - - chunk.buf = NULL; - chunk.len = 0; - writer = serd_writer_new( - SERD_TURTLE, (SerdStyle)0, env, NULL, serd_chunk_sink, &chunk); - - assert(!serd_writer_write_statement( - writer, 0, NULL, &s, &p, ¬hing, NULL, NULL)); - - assert( - !strncmp((const char*)chunk.buf, "<>\n\t<http://example.org/pred> ", 30)); - - serd_writer_free(writer); - out = serd_chunk_sink_finish(&chunk); - - assert(!strcmp((const char*)out, "<>\n\t<http://example.org/pred> .\n")); - serd_free(out); - serd_env_free(env); assert(!fclose(fd)); } |