From c857c0ae873ea7558e8d702ae4c588a21c220409 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 11 Jul 2021 16:26:18 -0400 Subject: Move SerdEnv mutation from writer to reader Writing having side-effects seems questionable in general, and this prepares things for expanding URIs in the reader. --- test/test_reader.c | 39 ++++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 11 deletions(-) (limited to 'test/test_reader.c') diff --git a/test/test_reader.c b/test/test_reader.c index 7bc8ab48..5cc8d634 100644 --- a/test/test_reader.c +++ b/test/test_reader.c @@ -64,7 +64,10 @@ test_prepare_error(void) SerdSink* const sink = serd_sink_new(&n_statements, count_statements, NULL); assert(sink); - SerdReader* const reader = serd_reader_new(world, SERD_TURTLE, 0, sink, 4096); + SerdEnv* const env = serd_env_new(SERD_EMPTY_STRING()); + SerdReader* const reader = + serd_reader_new(world, SERD_TURTLE, 0, env, sink, 4096); + assert(reader); SerdByteSource* byte_source = serd_byte_source_new_function( @@ -77,6 +80,7 @@ test_prepare_error(void) serd_byte_source_free(byte_source); serd_reader_free(reader); + serd_env_free(env); serd_sink_free(sink); serd_world_free(world); } @@ -90,7 +94,10 @@ test_read_string(void) SerdSink* sink = serd_sink_new(&n_statements, count_statements, NULL); assert(sink); - SerdReader* reader = serd_reader_new(world, SERD_TURTLE, 0u, sink, 4096); + SerdEnv* const env = serd_env_new(SERD_EMPTY_STRING()); + SerdReader* const reader = + serd_reader_new(world, SERD_TURTLE, 0, env, sink, 4096); + assert(reader); SerdByteSource* byte_source = @@ -119,6 +126,7 @@ test_read_string(void) assert(!serd_reader_finish(reader)); serd_reader_free(reader); + serd_env_free(env); serd_byte_source_free(byte_source); serd_sink_free(sink); serd_world_free(world); @@ -179,10 +187,12 @@ test_read_eof_by_page(void) fflush(temp); fseek(temp, 0L, SEEK_SET); - SerdWorld* world = serd_world_new(); - size_t ignored = 0u; - SerdSink* sink = serd_sink_new(&ignored, count_statements, NULL); - SerdReader* reader = serd_reader_new(world, SERD_TURTLE, 0u, sink, 4096); + SerdWorld* world = serd_world_new(); + size_t ignored = 0u; + SerdSink* sink = serd_sink_new(&ignored, count_statements, NULL); + SerdEnv* env = serd_env_new(SERD_EMPTY_STRING()); + + SerdReader* reader = serd_reader_new(world, SERD_TURTLE, 0u, env, sink, 4096); SerdByteSource* byte_source = serd_byte_source_new_function( (SerdReadFunc)fread, (SerdStreamErrorFunc)ferror, NULL, temp, NULL, 4096); @@ -195,6 +205,7 @@ test_read_eof_by_page(void) serd_byte_source_free(byte_source); serd_reader_free(reader); + serd_env_free(env); serd_sink_free(sink); serd_world_free(world); fclose(temp); @@ -204,10 +215,12 @@ test_read_eof_by_page(void) static void test_read_eof_by_byte(void) { - SerdWorld* world = serd_world_new(); - size_t ignored = 0u; - SerdSink* sink = serd_sink_new(&ignored, count_statements, NULL); - SerdReader* reader = serd_reader_new(world, SERD_TURTLE, 0u, sink, 4096); + SerdWorld* world = serd_world_new(); + size_t ignored = 0u; + SerdSink* sink = serd_sink_new(&ignored, count_statements, NULL); + SerdEnv* env = serd_env_new(SERD_EMPTY_STRING()); + + SerdReader* reader = serd_reader_new(world, SERD_TURTLE, 0u, env, sink, 4096); size_t n_reads = 0u; SerdByteSource* byte_source = @@ -227,6 +240,7 @@ test_read_eof_by_byte(void) serd_byte_source_free(byte_source); serd_reader_free(reader); + serd_env_free(env); serd_sink_free(sink); serd_world_free(world); } @@ -242,8 +256,10 @@ test_read_chunks(void) SerdSink* const sink = serd_sink_new(&n_statements, count_statements, NULL); assert(sink); + SerdEnv* const env = serd_env_new(SERD_EMPTY_STRING()); SerdReader* const reader = - serd_reader_new(world, SERD_TURTLE, 0u, sink, 4096); + serd_reader_new(world, SERD_TURTLE, 0u, env, sink, 4096); + assert(reader); SerdByteSource* byte_source = serd_byte_source_new_function( @@ -292,6 +308,7 @@ test_read_chunks(void) serd_byte_source_free(byte_source); serd_reader_free(reader); + serd_env_free(env); serd_sink_free(sink); fclose(f); serd_world_free(world); -- cgit v1.2.1