diff options
| author | Jesper Jensen <jesper@jnsn.dev> | 2025-03-23 14:40:51 +0100 |
|---|---|---|
| committer | Jesper Jensen <jesper@jnsn.dev> | 2025-03-23 14:40:51 +0100 |
| commit | 50da512936a9af6ad9aa808531af8f316a381dd4 (patch) | |
| tree | 385253a4db800cabf3aae93693ee53ce7f6e52b8 /test/parse.c | |
| parent | 6e1eaaf13a13584294c6a090ef40500cd786f56f (diff) | |
Start expirimenting with some real xml
Diffstat (limited to 'test/parse.c')
| -rw-r--r-- | test/parse.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/parse.c b/test/parse.c index 07dbbfa..328bfd3 100644 --- a/test/parse.c +++ b/test/parse.c @@ -36,6 +36,42 @@ int main(int argc, char **argv) { { struct Tree a; size_t *chunks = NULL; + if(parse_string("<root> </root>", &a, &chunks) != 0) return fail(); + if(a.adj.stride != 1) return fail(); + if(a.len != 1) return fail(); + nid expected[] = { + 0, + }; + if(memcmp(a.adj.data, expected, sizeof(expected)) != 0) return fail(); + + // Verify chunk offsets + if(chunks[0] != 0) return fail(); + + free(chunks); + free(a.adj.data); + } + + { + struct Tree a; + size_t *chunks = NULL; + if(parse_string("<root>\n</root>", &a, &chunks) != 0) return fail(); + if(a.adj.stride != 1) return fail(); + if(a.len != 1) return fail(); + nid expected[] = { + 0, + }; + if(memcmp(a.adj.data, expected, sizeof(expected)) != 0) return fail(); + + // Verify chunk offsets + if(chunks[0] != 0) return fail(); + + free(chunks); + free(a.adj.data); + } + + { + struct Tree a; + size_t *chunks = NULL; if(parse_string("<root><a></a><b></b></root>", &a, &chunks) != 0) return fail(); if(a.adj.stride != 2) return fail(); if(a.len != 3) return fail(); |
