diff options
Diffstat (limited to 'test/test_writer.c')
-rw-r--r-- | test/test_writer.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/test_writer.c b/test/test_writer.c index dc1ebfcb..0ced87d6 100644 --- a/test/test_writer.c +++ b/test/test_writer.c @@ -286,6 +286,41 @@ test_write_empty_syntax(void) serd_world_free(world); } +static void +test_write_bad_uri(void) +{ + SerdWorld* world = serd_world_new(); + SerdNodes* nodes = serd_world_nodes(world); + SerdEnv* env = serd_env_new(SERD_EMPTY_STRING()); + + const SerdNode* s = + serd_nodes_uri(nodes, SERD_STRING("http://example.org/s")); + + const SerdNode* p = + serd_nodes_uri(nodes, SERD_STRING("http://example.org/p")); + + const SerdNode* rel = serd_nodes_uri(nodes, SERD_STRING("rel")); + + SerdBuffer buffer = {NULL, 0}; + SerdByteSink* byte_sink = serd_byte_sink_new_buffer(&buffer); + + SerdWriter* writer = + serd_writer_new(world, SERD_NTRIPLES, 0u, env, byte_sink); + + assert(writer); + + const SerdStatus st = + serd_sink_write(serd_writer_sink(writer), 0u, s, p, rel, NULL); + assert(st); + assert(st == SERD_ERR_BAD_ARG); + + serd_free(serd_buffer_sink_finish(&buffer)); + serd_writer_free(writer); + serd_byte_sink_free(byte_sink); + serd_env_free(env); + serd_world_free(world); +} + int main(void) { @@ -295,6 +330,7 @@ main(void) test_strict_write(); test_write_error(); test_write_empty_syntax(); + test_write_bad_uri(); return 0; } |