diff options
-rw-r--r-- | include/dom/html/html_select_element.h | 11 | ||||
-rw-r--r-- | src/html/html_select_element.c | 4 | ||||
-rw-r--r-- | test/DOMTSHandler.pm | 7 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement01.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement01.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement02.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement02.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement03.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement03.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement04.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement04.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement05.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement05.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement06.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement06.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement07.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement07.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement08.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement08.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement09.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement09.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement10.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement10.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement11.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement11.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement12.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement12.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement13.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement13.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement14.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement14.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement15.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement15.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testcases/tests/level1/html/HTMLSelectElement17.xml (renamed from test/testcases/tests/level1/html/HTMLSelectElement17.xml.kfail) | 0 | ||||
-rw-r--r-- | test/testutils/foreach.c | 26 | ||||
-rw-r--r-- | test/testutils/foreach.h | 4 |
21 files changed, 48 insertions, 4 deletions
diff --git a/include/dom/html/html_select_element.h b/include/dom/html/html_select_element.h index 89b6844..b92abd6 100644 --- a/include/dom/html/html_select_element.h +++ b/include/dom/html/html_select_element.h @@ -40,9 +40,12 @@ dom_exception dom_html_select_element_set_length( dom_exception dom_html_select_element_get_form( dom_html_select_element *ele, dom_html_form_element **form); -dom_exception dom_html_select_element_get_options( +dom_exception dom__html_select_element_get_options( dom_html_select_element *ele, struct dom_html_options_collection **col); +#define dom_html_select_element_get_options(e, c) \ + dom__html_select_element_get_options((dom_html_select_element *) (e), \ + (struct dom_html_options_collection **) (c)) dom_exception dom_html_select_element_get_disabled( dom_html_select_element *ele, bool *disabled); @@ -70,8 +73,12 @@ dom_exception dom_html_select_element_set_tab_index( dom_html_select_element *ele, unsigned long tab_index); /* Functions */ -dom_exception dom_html_select_element_add(dom_html_select_element *select, +dom_exception dom__html_select_element_add(dom_html_select_element *select, struct dom_html_element *ele, struct dom_html_element *before); +#define dom_html_select_element_add(s, e, b) \ + dom__html_select_element_add((dom_html_select_element *) (s), \ + (struct dom_html_element *) (e), \ + (struct dom_html_element *) (b)) dom_exception dom_html_select_element_remove(dom_html_select_element *ele, long index); dom_exception dom_html_select_element_blur(struct dom_html_select_element *ele); diff --git a/src/html/html_select_element.c b/src/html/html_select_element.c index 9992376..89e46a9 100644 --- a/src/html/html_select_element.c +++ b/src/html/html_select_element.c @@ -361,7 +361,7 @@ dom_exception dom_html_select_element_get_form( * \param col THe returned collection object * \return DOM_NO_ERR on success. */ -dom_exception dom_html_select_element_get_options( +dom_exception dom__html_select_element_get_options( dom_html_select_element *ele, struct dom_html_options_collection **col) { @@ -524,7 +524,7 @@ dom_exception dom_html_select_element_set_tab_index( /* Functions */ -dom_exception dom_html_select_element_add(dom_html_select_element *select, +dom_exception dom__html_select_element_add(dom_html_select_element *select, struct dom_html_element *ele, struct dom_html_element *before) { UNUSED(select); diff --git a/test/DOMTSHandler.pm b/test/DOMTSHandler.pm index 890a8ff..93a97e9 100644 --- a/test/DOMTSHandler.pm +++ b/test/DOMTSHandler.pm @@ -1244,6 +1244,13 @@ sub generate_control_statement { print "foreach_initialise_domnamednodemap($coll, \&iterator$iterator_index);\n"; print "while(get_next_domnamednodemap($coll, \&iterator$iterator_index, \&$member)) {\n"; } + + if ($self->{"var"}->{$coll} eq "HTMLCollection") { + $iterator_index++; + print "unsigned int iterator$iterator_index = 0;"; + print "foreach_initialise_domhtmlcollection($coll, \&iterator$iterator_index);\n"; + print "while(get_next_domhtmlcollection($coll, \&iterator$iterator_index, \&$member)) {\n"; + } } } diff --git a/test/testcases/tests/level1/html/HTMLSelectElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement01.xml index 3b08881..3b08881 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement01.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement01.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement02.xml index f9e865d..f9e865d 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement02.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement02.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement03.xml index 97d217c..97d217c 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement03.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement03.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement04.xml index 11ff6ee..11ff6ee 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement04.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement04.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement05.xml index 16c78e1..16c78e1 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement05.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement05.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement06.xml index 8ff66a0..8ff66a0 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement06.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement06.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement07.xml index 218b9d6..218b9d6 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement07.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement07.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement08.xml index 12593fe..12593fe 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement08.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement08.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement09.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement09.xml index 382510d..382510d 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement09.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement09.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement10.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement10.xml index b9f5762..b9f5762 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement10.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement10.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement11.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement11.xml index ebb4d1b..ebb4d1b 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement11.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement11.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement12.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement12.xml index 5559f5d..5559f5d 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement12.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement12.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement13.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement13.xml index 2c0aafb..2c0aafb 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement13.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement13.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement14.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement14.xml index df22987..df22987 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement14.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement14.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement15.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement15.xml index dcc2f6d..dcc2f6d 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement15.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement15.xml diff --git a/test/testcases/tests/level1/html/HTMLSelectElement17.xml.kfail b/test/testcases/tests/level1/html/HTMLSelectElement17.xml index 03549ff..03549ff 100644 --- a/test/testcases/tests/level1/html/HTMLSelectElement17.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLSelectElement17.xml 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 |