aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_reader_writer.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-11-09 19:34:03 +0100
committerDavid Robillard <d@drobilla.net>2020-11-09 20:03:10 +0100
commitb5fd72d61a99608a6c6c17e59016afd125782d27 (patch)
tree07b31e199b3fcceae219912e6d66d87bbdf230ab /test/test_reader_writer.c
parent6bd53f582297574cf009ff0cfd80a1fd3a315b6b (diff)
downloadserd-b5fd72d61a99608a6c6c17e59016afd125782d27.tar.gz
serd-b5fd72d61a99608a6c6c17e59016afd125782d27.tar.bz2
serd-b5fd72d61a99608a6c6c17e59016afd125782d27.zip
Add a test for reading strings with no trailing newline
Diffstat (limited to 'test/test_reader_writer.c')
-rw-r--r--test/test_reader_writer.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/test_reader_writer.c b/test/test_reader_writer.c
index 3bedb95e..60f8805f 100644
--- a/test/test_reader_writer.c
+++ b/test/test_reader_writer.c
@@ -141,6 +141,28 @@ test_read_chunks(void)
}
static void
+test_read_string(void)
+{
+ ReaderTest* rt = (ReaderTest*)calloc(1, sizeof(ReaderTest));
+ SerdReader* reader =
+ serd_reader_new(SERD_TURTLE, rt, free, NULL, NULL, test_sink, NULL);
+
+ assert(reader);
+ assert(serd_reader_get_handle(reader) == rt);
+
+ // Test reading a string that ends exactly at the end of input (no newline)
+ const SerdStatus st =
+ serd_reader_read_string(reader,
+ USTR("<http://example.org/s> <http://example.org/p> "
+ "<http://example.org/o> ."));
+
+ assert(!st);
+ assert(rt->n_statements == 1);
+
+ serd_reader_free(reader);
+}
+
+static void
test_writer(const char* const path)
{
FILE* fd = fopen(path, "wb");
@@ -319,6 +341,7 @@ int
main(void)
{
test_read_chunks();
+ test_read_string();
const char* const path = "serd_test.ttl";
test_writer(path);