diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2018-07-29 14:02:55 +0100 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2018-07-29 14:02:55 +0100 |
commit | 2da4dab86544670377b108ada0d69445d1b09a51 (patch) | |
tree | 9d6aec0cb7f1ad872e25c70992656192aa1556f7 /test | |
parent | ca9930d02e9534d83542a188011ac9c8b6171965 (diff) | |
download | libdom-2da4dab86544670377b108ada0d69445d1b09a51.tar.gz libdom-2da4dab86544670377b108ada0d69445d1b09a51.tar.bz2 |
More cleanup for iterating in test suite
Diffstat (limited to 'test')
-rw-r--r-- | test/DOMTSHandler.pm | 2 | ||||
-rw-r--r-- | test/testutils/foreach.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/test/DOMTSHandler.pm b/test/DOMTSHandler.pm index 0cf3a56..5022db9 100644 --- a/test/DOMTSHandler.pm +++ b/test/DOMTSHandler.pm @@ -1314,6 +1314,7 @@ sub generate_control_statement { print "unsigned int iterator$iterator_index = 0;"; print "foreach_initialise_domnamednodemap($coll, \&iterator$iterator_index);\n"; print "while(get_next_domnamednodemap($coll, \&iterator$iterator_index, \&$member)) {\n"; + $self->addto_cleanup($member); } if ($self->{"var"}->{$coll} eq "HTMLCollection") { @@ -1321,6 +1322,7 @@ sub generate_control_statement { 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"; + $self->addto_cleanup($member); } } } diff --git a/test/testutils/foreach.c b/test/testutils/foreach.c index e23192c..533958f 100644 --- a/test/testutils/foreach.c +++ b/test/testutils/foreach.c @@ -93,6 +93,7 @@ bool _get_next_domnamednodemap(dom_namednodemap *map, unsigned int *iterator, do { dom_exception err; uint32_t len; + dom_node *old = *ret; err = dom_namednodemap_get_length(map, &len); if (err != DOM_NO_ERR) @@ -104,7 +105,10 @@ bool _get_next_domnamednodemap(dom_namednodemap *map, unsigned int *iterator, do err = dom_namednodemap_item(map, (*iterator), ret); if (err != DOM_NO_ERR) return false; - + + if (old != NULL) + dom_node_unref(old); + (*iterator)++; return true; |