From 15fa04e97c7c0c9108c0324bae4dfd384e2eb3be Mon Sep 17 00:00:00 2001 From: John-Mark Bell Date: Wed, 19 Sep 2012 00:03:05 +0100 Subject: Enable HTMLSelectElement tests --- test/testutils/foreach.c | 26 ++++++++++++++++++++++++++ test/testutils/foreach.h | 4 ++++ 2 files changed, 30 insertions(+) (limited to 'test/testutils') diff --git a/test/testutils/foreach.c b/test/testutils/foreach.c index 764920c..bbc8a47 100644 --- a/test/testutils/foreach.c +++ b/test/testutils/foreach.c @@ -34,6 +34,11 @@ void foreach_initialise_domnamednodemap(dom_namednodemap *map, unsigned int *ite *iterator = 0; } +void foreach_initialise_domhtmlcollection(dom_html_collection *coll, unsigned int *iterator) +{ + (void)coll; + *iterator = 0; +} bool _get_next_domnodelist(dom_nodelist *list, unsigned int *iterator, dom_node **ret) { @@ -97,3 +102,24 @@ bool _get_next_domnamednodemap(dom_namednodemap *map, unsigned int *iterator, do return true; } + +bool _get_next_domhtmlcollection(dom_html_collection *coll, unsigned int *iterator, dom_node **ret) +{ + dom_exception err; + unsigned long len; + + err = dom_html_collection_get_length(coll, &len); + if (err != DOM_NO_ERR) + return false; + + if (*iterator >= len) + return false; + + err = dom_html_collection_item(coll, (*iterator), ret); + if (err != DOM_NO_ERR) + return false; + + (*iterator)++; + + return true; +} diff --git a/test/testutils/foreach.h b/test/testutils/foreach.h index 75874bc..aa9543d 100644 --- a/test/testutils/foreach.h +++ b/test/testutils/foreach.h @@ -26,6 +26,7 @@ void foreach_initialise_domnodelist(dom_nodelist *list, unsigned int *iterator); void foreach_initialise_list(list *list, unsigned int *iterator); void foreach_initialise_domnamednodemap(dom_namednodemap *map, unsigned int *iterator); +void foreach_initialise_domhtmlcollection(dom_html_collection *coll, unsigned int *iterator); bool _get_next_domnodelist(dom_nodelist *list, unsigned int *iterator, dom_node **ret); #define get_next_domnodelist(l, i, r) _get_next_domnodelist( \ @@ -37,5 +38,8 @@ bool _get_next_domnamednodemap(dom_namednodemap *map, unsigned int *iterator, do #define get_next_domnamednodemap(m, i, r) _get_next_domnamednodemap( \ (dom_namednodemap *) (m), (unsigned int *) (i), (dom_node **) (r)) +bool _get_next_domhtmlcollection(dom_html_collection *coll, unsigned int *iterator, dom_node **ret); +#define get_next_domhtmlcollection(c, i, r) _get_next_domhtmlcollection( \ + (dom_html_collection *) (c), (unsigned int *) (i), (dom_node **) (r)) #endif -- cgit v1.2.3