diff options
Diffstat (limited to 'test/tree.c')
-rw-r--r-- | test/tree.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/tree.c b/test/tree.c index 76cf438..04ce026 100644 --- a/test/tree.c +++ b/test/tree.c @@ -37,6 +37,8 @@ static int create_doctype(void *ctx, const hubbub_string *qname, const hubbub_string *public_id, const hubbub_string *system_id, void **result); static int create_element(void *ctx, const hubbub_tag *tag, void **result); +static int create_element_verbatim(void *ctx, const uint8_t *name, size_t len, + void **result); static int create_text(void *ctx, const hubbub_string *data, void **result); static int ref_node(void *ctx, void *node); static int unref_node(void *ctx, void *node); @@ -51,6 +53,7 @@ static hubbub_tree_handler tree_handler = { create_comment, create_doctype, create_element, + create_element_verbatim, create_text, ref_node, unref_node, @@ -232,6 +235,22 @@ int create_element(void *ctx, const hubbub_tag *tag, void **result) return 0; } +int create_element_verbatim(void *ctx, const uint8_t *name, size_t len, + void **result) +{ + printf("Creating (%u) [element verbatim '%.*s']\n", + ++node_counter, len, name); + + GROW_REF + node_ref[node_counter] = 0; + + ref_node(ctx, (void *) node_counter); + + *result = (void *) node_counter; + + return 0; +} + int create_text(void *ctx, const hubbub_string *data, void **result) { printf("Creating (%u) [text '%.*s']\n", ++node_counter, |