From ca30ba7de4c3b0b17a61e1f07032575a01f2cd25 Mon Sep 17 00:00:00 2001 From: rsk1994 Date: Wed, 21 May 2014 12:16:24 +0530 Subject: TableSection Element Rev.1 --- Makefile | 1 + include/dom/dom.h | 1 + include/dom/html/html_tablesection_element.h | 50 ++++ src/html/Makefile | 4 +- src/html/TODO | 4 +- src/html/html_document.c | 6 + src/html/html_tablesection_element.c | 312 +++++++++++++++++++++ src/html/html_tablesection_element.h | 47 ++++ test/DOMTSHandler.pm | 1 + .../level1/html/HTMLTableSectionElement01.xml | 44 +++ .../html/HTMLTableSectionElement01.xml.kfail | 44 --- .../level1/html/HTMLTableSectionElement02.xml | 44 +++ .../html/HTMLTableSectionElement02.xml.kfail | 44 --- .../level1/html/HTMLTableSectionElement03.xml | 44 +++ .../html/HTMLTableSectionElement03.xml.kfail | 44 --- .../level1/html/HTMLTableSectionElement04.xml | 44 +++ .../html/HTMLTableSectionElement04.xml.kfail | 44 --- .../level1/html/HTMLTableSectionElement05.xml | 44 +++ .../html/HTMLTableSectionElement05.xml.kfail | 44 --- .../level1/html/HTMLTableSectionElement06.xml | 44 +++ .../html/HTMLTableSectionElement06.xml.kfail | 44 --- .../level1/html/HTMLTableSectionElement07.xml | 43 +++ .../html/HTMLTableSectionElement07.xml.kfail | 43 --- .../level1/html/HTMLTableSectionElement08.xml | 43 +++ .../html/HTMLTableSectionElement08.xml.kfail | 43 --- .../level1/html/HTMLTableSectionElement09.xml | 43 +++ .../html/HTMLTableSectionElement09.xml.kfail | 43 --- .../level1/html/HTMLTableSectionElement10.xml | 44 +++ .../html/HTMLTableSectionElement10.xml.kfail | 44 --- .../level1/html/HTMLTableSectionElement11.xml | 44 +++ .../html/HTMLTableSectionElement11.xml.kfail | 44 --- .../level1/html/HTMLTableSectionElement12.xml | 44 +++ .../html/HTMLTableSectionElement12.xml.kfail | 44 --- .../level2/html/HTMLTableSectionElement25.xml | 48 ++++ .../html/HTMLTableSectionElement25.xml.kfail | 48 ---- .../level2/html/HTMLTableSectionElement26.xml | 48 ++++ .../html/HTMLTableSectionElement26.xml.kfail | 48 ---- .../level2/html/HTMLTableSectionElement27.xml | 48 ++++ .../html/HTMLTableSectionElement27.xml.kfail | 48 ---- .../level2/html/HTMLTableSectionElement28.xml | 48 ++++ .../html/HTMLTableSectionElement28.xml.kfail | 48 ---- .../level2/html/HTMLTableSectionElement29.xml | 47 ++++ .../html/HTMLTableSectionElement29.xml.kfail | 47 ---- .../html/HTMLTableSectionElement30.xml.kfail | 55 ---- .../html/HTMLTableSectionElement31.xml.kfail | 53 ---- .../tests/level2/html/files/tablesection.html | 62 ++++ .../tests/level2/html/files/tablesection.xhtml | 65 +++++ .../tests/level2/html/files/tablesection.xml | 65 +++++ 48 files changed, 1378 insertions(+), 876 deletions(-) create mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement01.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement01.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement02.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement02.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement03.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement03.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement04.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement04.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement05.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement05.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement06.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement06.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement07.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement07.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement08.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement08.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement09.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement09.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement10.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement10.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement11.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement11.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement12.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableSectionElement12.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement25.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement25.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement26.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement26.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement27.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement27.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement28.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement28.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement29.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement29.xml.kfail delete mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement30.xml.kfail delete mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement31.xml.kfail create mode 100644 test/testcases/tests/level2/html/files/tablesection.html create mode 100644 test/testcases/tests/level2/html/files/tablesection.xhtml create mode 100644 test/testcases/tests/level2/html/files/tablesection.xml diff --git a/Makefile b/Makefile index 52c0035..0745e10 100644 --- a/Makefile +++ b/Makefile @@ -126,6 +126,7 @@ INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_script_element.h INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_tablecaption_element.h INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_tablecell_element.h INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_tablecol_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_tablesection_element.h INSTALL_ITEMS := $(INSTALL_ITEMS) /$(LIBDIR)/pkgconfig:lib$(COMPONENT).pc.in INSTALL_ITEMS := $(INSTALL_ITEMS) /$(LIBDIR):$(OUTPUT) diff --git a/include/dom/dom.h b/include/dom/dom.h index 51d12c4..071ca2c 100644 --- a/include/dom/dom.h +++ b/include/dom/dom.h @@ -85,6 +85,7 @@ #include #include #include +#include /* DOM Events header */ #include diff --git a/include/dom/html/html_tablesection_element.h b/include/dom/html/html_tablesection_element.h index 2e182d5..e3b0065 100644 --- a/include/dom/html/html_tablesection_element.h +++ b/include/dom/html/html_tablesection_element.h @@ -3,5 +3,55 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang + * Copyright 2014 Rupinder Singh Khokhar */ +#ifndef dom_html_table_section_element_h_ +#define dom_html_table_section_element_h_ + +#include +#include +#include + +#include +#include + +typedef struct dom_html_table_section_element dom_html_table_section_element; + +dom_exception dom_html_table_section_element_get_align( + dom_html_table_section_element *table_section, dom_string **align); + +dom_exception dom_html_table_section_element_set_align( + dom_html_table_section_element *table_section, dom_string *align); + +dom_exception dom_html_table_section_element_get_ch( + dom_html_table_section_element *table_section, dom_string **ch); + +dom_exception dom_html_table_section_element_set_ch( + dom_html_table_section_element *table_section, dom_string *ch); + +dom_exception dom_html_table_section_element_get_ch_off( + dom_html_table_section_element *table_section, dom_string **ch_off); + +dom_exception dom_html_table_section_element_set_ch_off( + dom_html_table_section_element *table_section, dom_string *ch_off); + +dom_exception dom_html_table_section_element_get_v_align( + dom_html_table_section_element *table_section, dom_string **v_align); + +dom_exception dom_html_table_section_element_set_v_align( + dom_html_table_section_element *table_section, dom_string *v_align); + +dom_exception dom_html_table_section_element_get_rows( + dom_html_table_section_element *table_section, dom_html_collection **rows); + +dom_exception dom_html_table_section_element_insert_row( + dom_html_table_section_element *element, + int32_t index, dom_html_element **newRow); + +dom_exception dom_html_table_section_element_delete_row( + dom_html_table_section_element *element, + int32_t index); + +#endif + diff --git a/src/html/Makefile b/src/html/Makefile index c66e670..8fc029d 100644 --- a/src/html/Makefile +++ b/src/html/Makefile @@ -16,10 +16,10 @@ DIR_SOURCES := \ html_basefont_element.c html_image_element.c html_object_element.c \ html_param_element.c html_applet_element.c html_area_element.c \ html_map_element.c html_script_element.c html_tablecaption_element.c \ - html_tablecell_element.c html_tablecol_element.c + html_tablecell_element.c html_tablecol_element.c html_tablesection_element.c UNINMPLEMENTED_SOURCES := \ - html_table_element.c html_tablesection_element.c \ + html_table_element.c \ html_tablerow_element.c html_frameset_element.c \ html_frame_element.c html_iframe_element.c diff --git a/src/html/TODO b/src/html/TODO index 584de0e..50e905c 100644 --- a/src/html/TODO +++ b/src/html/TODO @@ -48,8 +48,8 @@ HTMLAreaElement html_area_element DONE HTMLScriptElement html_script_element DONE HTMLTableElement html_table_element MISSING HTMLTableCaptionElement html_tablecaption_element DONE -HTMLTableColElement html_tablecol_element MISSING -HTMLTableSectionElement html_tablesection_element MISSING +HTMLTableColElement html_tablecol_element DONE +HTMLTableSectionElement html_tablesection_element DONE HTMLTableRowElement html_tablerow_element MISSING HTMLTableCellElement html_tablecell_element DONE HTMLFrameSetElement html_frameset_element MISSING diff --git a/src/html/html_document.c b/src/html/html_document.c index 5aef359..692dd98 100644 --- a/src/html/html_document.c +++ b/src/html/html_document.c @@ -53,6 +53,7 @@ #include "html/html_tablecaption_element.h" #include "html/html_tablecell_element.h" #include "html/html_tablecol_element.h" +#include "html/html_tablesection_element.h" #include "core/attr.h" #include "core/string.h" @@ -347,6 +348,11 @@ _dom_html_document_create_element_internal(dom_html_document *html, ) { exc = _dom_html_table_col_element_create(html, tag_name, namespace, prefix, (dom_html_table_col_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_THEAD])|| + dom_string_caseless_isequal(tag_name, html->memoised[hds_TBODY])|| + dom_string_caseless_isequal(tag_name, html->memoised[hds_TBODY])) { + exc = _dom_html_table_section_element_create(html, tag_name, namespace, prefix, + (dom_html_table_section_element **) result); } else { exc = _dom_html_element_create(html, tag_name, namespace, prefix, result); diff --git a/src/html/html_tablesection_element.c b/src/html/html_tablesection_element.c index 2e182d5..7468d01 100644 --- a/src/html/html_tablesection_element.c +++ b/src/html/html_tablesection_element.c @@ -3,5 +3,317 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang + * Copyright 2014 Rupinder Singh Khokhar */ +#include +#include + +#include + +#include "html/html_document.h" +#include "html/html_tablesection_element.h" + +#include "html/html_collection.h" +#include "html/html_element.h" + +#include "core/node.h" +#include "core/attr.h" +#include "utils/utils.h" + +static struct dom_element_protected_vtable _protect_vtable = { + { + DOM_NODE_PROTECT_VTABLE_HTML_TABLE_SECTION_ELEMENT + }, + DOM_HTML_TABLE_SECTION_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_table_section_element object + * + * \table_section doc The document object + * \table_section ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_section_element_create(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_section_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_table_section_element)); + if (*ele == NULL) + return DOM_NO_MEM_ERR; + + /* Set up vtables */ + node = (struct dom_node_internal *) *ele; + node->base.vtable = &_dom_html_element_vtable; + node->vtable = &_protect_vtable; + + return _dom_html_table_section_element_initialise(doc, tag_name, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_table_section_element object + * + * \table_section doc The document object + * \table_section ele The dom_html_table_section_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_section_element_initialise(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_section_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + tag_name, + namespace, prefix); +} + +/** + * Finalise a dom_html_table_section_element object + * + * \table_section ele The dom_html_table_section_element object + */ +void _dom_html_table_section_element_finalise(struct dom_html_table_section_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_table_section_element object + * + * \table_section ele The dom_html_table_section_element object + */ +void _dom_html_table_section_element_destroy(struct dom_html_table_section_element *ele) +{ + _dom_html_table_section_element_finalise(ele); + free(ele); +} + +/*------------------------------------------------------------------------*/ +/* The protected virtual functions */ + +/* The virtual function used to parse attribute value, see src/core/element.c + * for detail */ +dom_exception _dom_html_table_section_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed) +{ + UNUSED(ele); + UNUSED(name); + + dom_string_ref(value); + *parsed = value; + + return DOM_NO_ERR; +} + +/* The virtual destroy function, see src/core/node.c for detail */ +void _dom_virtual_html_table_section_element_destroy(dom_node_internal *node) +{ + _dom_html_table_section_element_destroy((struct dom_html_table_section_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_table_section_element_copy(dom_node_internal *old, + dom_node_internal **copy) +{ + return _dom_html_element_copy(old, copy); +} + +/*-----------------------------------------------------------------------*/ +/* API functions */ + +#define SIMPLE_GET(attr) \ + dom_exception dom_html_table_section_element_get_##attr( \ + dom_html_table_section_element *element, \ + dom_string **attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_get_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} +#define SIMPLE_SET(attr) \ + dom_exception dom_html_table_section_element_set_##attr( \ + dom_html_table_section_element *element, \ + dom_string *attr) \ +{ \ + dom_exception ret; \ + dom_string *_memo_##attr; \ + \ + _memo_##attr = \ + ((struct dom_html_document *) \ + ((struct dom_node_internal *)element)->owner)-> \ + memoised[hds_##attr]; \ + \ + ret = dom_element_set_attribute(element, _memo_##attr, attr); \ + \ + return ret; \ +} + +#define SIMPLE_GET_SET(attr) SIMPLE_GET(attr) SIMPLE_SET(attr) +SIMPLE_GET_SET(align); +SIMPLE_GET_SET(ch); +SIMPLE_GET_SET(ch_off); +SIMPLE_GET_SET(v_align); + +/* The callback function for _dom_html_collection_create*/ +bool table_section_callback(struct dom_node_internal *node, void *ctx) +{ + if(node->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(node->name, + ((dom_html_document *)ctx)->memoised[hds_TR])) + { + return true; + } + return false; +} + +/** + * Get the rows collection + * + * \param element The dom_html_section_element object + * \param rows The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_section_element_get_rows( + dom_html_table_section_element *element, + dom_html_collection **rows) +{ + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) element)->owner; + _dom_html_collection_create(doc, (dom_node_internal *)element, + table_section_callback, (void *)doc, rows); + return DOM_NO_ERR; +} + +/** + * Insert Row before the given Index + * + * \param element The dom_html_section_element object + * \param index The Index of the Row node to be inserted + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_section_element_insert_row( + dom_html_table_section_element *element, + int32_t index, dom_html_element **newRow) { + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) element)->owner; + + dom_node *node; /*< The node at the (index)th position*/ + + dom_html_collection *rows; /*< The collection of rows in input table_section_element*/ + uint32_t len; /*< The size of the row collection */ + dom_exception exp; /*< Variable for getting the exceptions*/ + exp = _dom_html_element_create(doc, doc->memoised[hds_TR], + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + newRow); + if(exp != DOM_NO_ERR) + return exp; + + exp = dom_html_table_section_element_get_rows(element, &rows); + if(exp != DOM_NO_ERR) + return exp; + + exp = dom_html_collection_get_length(rows, &len); + if(exp != DOM_NO_ERR) + return exp; + + if(index < -1 || (uint32_t)index > len) { + /* Check for index validity */ + return DOM_INDEX_SIZE_ERR; + } else if((index == -1 || (uint32_t)index == len) + &&len != 0) { + dom_html_collection_item(rows, + len-1, &node); + + dom_node_internal *internal_node = (dom_node_internal *)node; /*< The dom_node_internal row object at the (len-1)th position*/ + + ((dom_node_internal *) *newRow)->next = internal_node->next; + ((dom_node_internal *) *newRow)->previous = internal_node; + internal_node->next = (dom_node_internal *)*newRow; + } else if(len != 0) { + dom_html_collection_item(rows, + index, &node); + + dom_node_internal *internal_node = (dom_node_internal *)node; /*< The dom_node_internal row object at the (index)th position*/ + + ((dom_node_internal *) *newRow)->next = internal_node; + ((dom_node_internal *) *newRow)->previous = internal_node->previous; + if(internal_node->previous != NULL) { + (internal_node->previous)->next = (dom_node_internal *)*newRow; + internal_node->previous = (dom_node_internal *)*newRow; + } + } + + /*Adjust parent's pointers*/ + ((dom_node_internal *) *newRow)->parent = (dom_node_internal *)element; + if(index == 0) + ((dom_node_internal *)element)->first_child = (dom_node_internal *)*newRow; + if((uint32_t)index == len) + ((dom_node_internal *)element)->last_child = (dom_node_internal *)*newRow; + + return DOM_NO_ERR; +} + +/** + * Delete Row at given Index + * + * \param element The dom_html_section_element object + * \param index The Index of the Row node to be deleted + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_section_element_delete_row( + dom_html_table_section_element *element, + int32_t index) { + dom_node *node; /*< The node at the (index)th position*/ + + dom_html_collection *rows; /*< The collection of rows in input table_section_element*/ + uint32_t len; /*< The size of the row collection */ + + dom_exception exp; /*< Temporary variable to store & check the exceptions*/ + + exp = dom_html_table_section_element_get_rows(element, &rows); + if(exp != DOM_NO_ERR) { + return exp; + } + + exp = dom_html_collection_get_length(rows, &len); + if(exp != DOM_NO_ERR) { + return exp; + } + + if(index < -1 || (uint32_t)index >= len) { + /* Check for index validity */ + return DOM_INDEX_SIZE_ERR; + } else if(index == -1) { + exp = dom_html_collection_item(rows, + len-1, &node); + } else { + exp = dom_html_collection_item(rows, + index, &node); + } + if(exp != DOM_NO_ERR) + return exp; + + dom_node_internal *internal_node = (dom_node_internal *)node; + + /*Fixing the sibling pointers*/ + if(internal_node->previous != NULL) { + (internal_node->previous)->next = internal_node->next; + } + if(internal_node->next != NULL) { + (internal_node->next)->previous = internal_node->previous; + } + + _dom_html_element_destroy(internal_node); + + return DOM_NO_ERR; +} diff --git a/src/html/html_tablesection_element.h b/src/html/html_tablesection_element.h index 2e182d5..fcab1cb 100644 --- a/src/html/html_tablesection_element.h +++ b/src/html/html_tablesection_element.h @@ -3,5 +3,52 @@ * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 Bo Yang + * Copyright 2014 Rupinder Singh Khokhar */ +#ifndef dom_internal_html_table_section_element_h_ +#define dom_internal_html_table_section_element_h_ + +#include +#include "html/html_element.h" + + +struct dom_html_table_section_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_table_section_element object */ +dom_exception _dom_html_table_section_element_create(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_section_element **ele); + +/* Initialise a dom_html_table_section_element object */ +dom_exception _dom_html_table_section_element_initialise(struct dom_html_document *doc, + dom_string *tag_name, dom_string *namespace, dom_string *prefix, + struct dom_html_table_section_element *ele); + +/* Finalise a dom_html_table_section_element object */ +void _dom_html_table_section_element_finalise(struct dom_html_table_section_element *ele); + +/* Destroy a dom_html_table_section_element object */ +void _dom_html_table_section_element_destroy(struct dom_html_table_section_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_table_section_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_table_section_element_destroy(dom_node_internal *node); +dom_exception _dom_html_table_section_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_TABLE_SECTION_ELEMENT_PROTECT_VTABLE \ + _dom_html_table_section_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_TABLE_SECTION_ELEMENT \ + _dom_virtual_html_table_section_element_destroy, \ + _dom_html_table_section_element_copy + +#endif +bool table_section_callback(struct dom_node_internal *node, void *ctx); + diff --git a/test/DOMTSHandler.pm b/test/DOMTSHandler.pm index 6dfaae9..78d5e7e 100644 --- a/test/DOMTSHandler.pm +++ b/test/DOMTSHandler.pm @@ -43,6 +43,7 @@ our %special_type = ( CharacterData => "dom_characterdata *", CDATASection => "dom_cdata_section *", HTMLAnchorElement => "dom_html_anchor_element *", + HTMLElement => "dom_html_element *", ); our %special_prefix = ( DOMString => "dom_string", diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement01.xml b/test/testcases/tests/level1/html/HTMLTableSectionElement01.xml new file mode 100644 index 0000000..238dcb2 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement01.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableSectionElement01 +NIST + + The align attribute specifies the horizontal alignment of data within + cells. + + Retrieve the align attribute of the first THEAD element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement01.xml.kfail deleted file mode 100644 index 238dcb2..0000000 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement01.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableSectionElement01 -NIST - - The align attribute specifies the horizontal alignment of data within - cells. - - Retrieve the align attribute of the first THEAD element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement02.xml b/test/testcases/tests/level1/html/HTMLTableSectionElement02.xml new file mode 100644 index 0000000..c4bdbf9 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement02.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableSectionElement02 +NIST + + The align attribute specifies the horizontal alignment of data within + cells. + + Retrieve the align attribute of the first TFOOT element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement02.xml.kfail deleted file mode 100644 index c4bdbf9..0000000 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement02.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableSectionElement02 -NIST - - The align attribute specifies the horizontal alignment of data within - cells. - - Retrieve the align attribute of the first TFOOT element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement03.xml b/test/testcases/tests/level1/html/HTMLTableSectionElement03.xml new file mode 100644 index 0000000..2236435 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement03.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableSectionElement03 +NIST + + The align attribute specifies the horizontal alignment of data within + cells. + + Retrieve the align attribute of the first TBODY element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement03.xml.kfail deleted file mode 100644 index 2236435..0000000 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement03.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableSectionElement03 -NIST - - The align attribute specifies the horizontal alignment of data within - cells. - - Retrieve the align attribute of the first TBODY element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement04.xml b/test/testcases/tests/level1/html/HTMLTableSectionElement04.xml new file mode 100644 index 0000000..2060f35 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement04.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableSectionElement04 +NIST + + The ch attribute specifies the alignment character for cells in a + column. + + Retrieve the char attribute of the first THEAD element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement04.xml.kfail deleted file mode 100644 index 2060f35..0000000 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement04.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableSectionElement04 -NIST - - The ch attribute specifies the alignment character for cells in a - column. - - Retrieve the char attribute of the first THEAD element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement05.xml b/test/testcases/tests/level1/html/HTMLTableSectionElement05.xml new file mode 100644 index 0000000..32022bb --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement05.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableSectionElement05 +NIST + + The ch attribute specifies the alignment character for cells in a + column. + + Retrieve the char attribute of the first TFOOT element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement05.xml.kfail deleted file mode 100644 index 32022bb..0000000 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement05.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableSectionElement05 -NIST - - The ch attribute specifies the alignment character for cells in a - column. - - Retrieve the char attribute of the first TFOOT element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement06.xml b/test/testcases/tests/level1/html/HTMLTableSectionElement06.xml new file mode 100644 index 0000000..be665e4 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement06.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableSectionElement06 +NIST + + The ch attribute specifies the alignment character for cells in a + column. + + Retrieve the char attribute of the first TBODY element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement06.xml.kfail deleted file mode 100644 index be665e4..0000000 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement06.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableSectionElement06 -NIST - - The ch attribute specifies the alignment character for cells in a - column. - - Retrieve the char attribute of the first TBODY element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement07.xml b/test/testcases/tests/level1/html/HTMLTableSectionElement07.xml new file mode 100644 index 0000000..ecf38f3 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement07.xml @@ -0,0 +1,43 @@ + + + + + + + +HTMLTableSectionElement07 +NIST + + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the first THEAD element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement07.xml.kfail deleted file mode 100644 index ecf38f3..0000000 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement07.xml.kfail +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -HTMLTableSectionElement07 -NIST - - The chOff attribute specifies the offset of alignment character. - - Retrieve the charoff attribute of the first THEAD element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement08.xml b/test/testcases/tests/level1/html/HTMLTableSectionElement08.xml new file mode 100644 index 0000000..48440ca --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement08.xml @@ -0,0 +1,43 @@ + + + + + + + +HTMLTableSectionElement08 +NIST + + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the first TFOOT element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement08.xml.kfail deleted file mode 100644 index 48440ca..0000000 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement08.xml.kfail +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -HTMLTableSectionElement08 -NIST - - The chOff attribute specifies the offset of alignment character. - - Retrieve the charoff attribute of the first TFOOT element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement09.xml b/test/testcases/tests/level1/html/HTMLTableSectionElement09.xml new file mode 100644 index 0000000..501446b --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement09.xml @@ -0,0 +1,43 @@ + + + + + + + +HTMLTableSectionElement09 +NIST + + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the first TBODY element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement09.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement09.xml.kfail deleted file mode 100644 index 501446b..0000000 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement09.xml.kfail +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -HTMLTableSectionElement09 -NIST - - The chOff attribute specifies the offset of alignment character. - - Retrieve the charoff attribute of the first TBODY element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement10.xml b/test/testcases/tests/level1/html/HTMLTableSectionElement10.xml new file mode 100644 index 0000000..3e011c1 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement10.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableSectionElement10 +NIST + + The vAlign attribute specifies the vertical alignment of cell data in + column. + + Retrieve the vAlign attribute of the first THEAD element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement10.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement10.xml.kfail deleted file mode 100644 index 3e011c1..0000000 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement10.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableSectionElement10 -NIST - - The vAlign attribute specifies the vertical alignment of cell data in - column. - - Retrieve the vAlign attribute of the first THEAD element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement11.xml b/test/testcases/tests/level1/html/HTMLTableSectionElement11.xml new file mode 100644 index 0000000..ba5ae68 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement11.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableSectionElement11 +NIST + + The vAlign attribute specifies the vertical alignment of cell data in + column. + + Retrieve the vAlign attribute of the first TFOOT element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement11.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement11.xml.kfail deleted file mode 100644 index ba5ae68..0000000 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement11.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableSectionElement11 -NIST - - The vAlign attribute specifies the vertical alignment of cell data in - column. - - Retrieve the vAlign attribute of the first TFOOT element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement12.xml b/test/testcases/tests/level1/html/HTMLTableSectionElement12.xml new file mode 100644 index 0000000..e649489 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableSectionElement12.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableSectionElement12 +NIST + + The vAlign attribute specifies the vertical alignment of cell data in + column. + + Retrieve the vAlign attribute of the first TBODY element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableSectionElement12.xml.kfail b/test/testcases/tests/level1/html/HTMLTableSectionElement12.xml.kfail deleted file mode 100644 index e649489..0000000 --- a/test/testcases/tests/level1/html/HTMLTableSectionElement12.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableSectionElement12 -NIST - - The vAlign attribute specifies the vertical alignment of cell data in - column. - - Retrieve the vAlign attribute of the first TBODY element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement25.xml b/test/testcases/tests/level2/html/HTMLTableSectionElement25.xml new file mode 100644 index 0000000..8fbd1c2 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableSectionElement25.xml @@ -0,0 +1,48 @@ + + + + + + +HTMLTableSectionElement25 +NIST + + The insertRow() method throws a INDEX_SIZE_ERR DOMException + if the specified index is greater than the number of rows. + + Retrieve the first THEAD element which has one row. Try + to insert a new row using an index of two. This should throw + a INDEX_SIZE_ERR DOMException since there is only one row. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement25.xml.kfail b/test/testcases/tests/level2/html/HTMLTableSectionElement25.xml.kfail deleted file mode 100644 index 8fbd1c2..0000000 --- a/test/testcases/tests/level2/html/HTMLTableSectionElement25.xml.kfail +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -HTMLTableSectionElement25 -NIST - - The insertRow() method throws a INDEX_SIZE_ERR DOMException - if the specified index is greater than the number of rows. - - Retrieve the first THEAD element which has one row. Try - to insert a new row using an index of two. This should throw - a INDEX_SIZE_ERR DOMException since there is only one row. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement26.xml b/test/testcases/tests/level2/html/HTMLTableSectionElement26.xml new file mode 100644 index 0000000..206d91f --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableSectionElement26.xml @@ -0,0 +1,48 @@ + + + + + + +HTMLTableSectionElement26 +NIST + + The insertRow() method throws a INDEX_SIZE_ERR DOMException + if the specified index is negative. + + Retrieve the first THEAD element which has one row. Try + to insert a new row using an index of negative two. This should throw + a INDEX_SIZE_ERR DOMException since the index is negative. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement26.xml.kfail b/test/testcases/tests/level2/html/HTMLTableSectionElement26.xml.kfail deleted file mode 100644 index 206d91f..0000000 --- a/test/testcases/tests/level2/html/HTMLTableSectionElement26.xml.kfail +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -HTMLTableSectionElement26 -NIST - - The insertRow() method throws a INDEX_SIZE_ERR DOMException - if the specified index is negative. - - Retrieve the first THEAD element which has one row. Try - to insert a new row using an index of negative two. This should throw - a INDEX_SIZE_ERR DOMException since the index is negative. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement27.xml b/test/testcases/tests/level2/html/HTMLTableSectionElement27.xml new file mode 100644 index 0000000..3ab35a5 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableSectionElement27.xml @@ -0,0 +1,48 @@ + + + + + + +HTMLTableSectionElement27 +NIST + + The deleteRow() method throws a INDEX_SIZE_ERR DOMException + if the specified index is greater than the number of rows. + + Retrieve the first THEAD element which has one row. Try + to delete a row using an index of two. This should throw + a INDEX_SIZE_ERR DOMException since the index is greater than the + number of rows. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement27.xml.kfail b/test/testcases/tests/level2/html/HTMLTableSectionElement27.xml.kfail deleted file mode 100644 index 3ab35a5..0000000 --- a/test/testcases/tests/level2/html/HTMLTableSectionElement27.xml.kfail +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -HTMLTableSectionElement27 -NIST - - The deleteRow() method throws a INDEX_SIZE_ERR DOMException - if the specified index is greater than the number of rows. - - Retrieve the first THEAD element which has one row. Try - to delete a row using an index of two. This should throw - a INDEX_SIZE_ERR DOMException since the index is greater than the - number of rows. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement28.xml b/test/testcases/tests/level2/html/HTMLTableSectionElement28.xml new file mode 100644 index 0000000..5578ba5 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableSectionElement28.xml @@ -0,0 +1,48 @@ + + + + + + +HTMLTableSectionElement28 +NIST + + The deleteRow() method throws a INDEX_SIZE_ERR DOMException + if the specified index is equal to the number of rows. + + Retrieve the first THEAD element which has one row. Try + to delete a row using an index of 1. This should throw + a INDEX_SIZE_ERR DOMException since the index is equal to the + number of rows. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement28.xml.kfail b/test/testcases/tests/level2/html/HTMLTableSectionElement28.xml.kfail deleted file mode 100644 index 5578ba5..0000000 --- a/test/testcases/tests/level2/html/HTMLTableSectionElement28.xml.kfail +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -HTMLTableSectionElement28 -NIST - - The deleteRow() method throws a INDEX_SIZE_ERR DOMException - if the specified index is equal to the number of rows. - - Retrieve the first THEAD element which has one row. Try - to delete a row using an index of 1. This should throw - a INDEX_SIZE_ERR DOMException since the index is equal to the - number of rows. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement29.xml b/test/testcases/tests/level2/html/HTMLTableSectionElement29.xml new file mode 100644 index 0000000..0ddd852 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableSectionElement29.xml @@ -0,0 +1,47 @@ + + + + + + +HTMLTableSectionElement29 +NIST + + The deleteRow() method throws a INDEX_SIZE_ERR DOMException + if the specified index is negative. + + Retrieve the first THEAD element which has one row. Try + to delete a row using an index of negative two. This should throw + a INDEX_SIZE_ERR DOMException since the index is negative. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement29.xml.kfail b/test/testcases/tests/level2/html/HTMLTableSectionElement29.xml.kfail deleted file mode 100644 index 0ddd852..0000000 --- a/test/testcases/tests/level2/html/HTMLTableSectionElement29.xml.kfail +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - -HTMLTableSectionElement29 -NIST - - The deleteRow() method throws a INDEX_SIZE_ERR DOMException - if the specified index is negative. - - Retrieve the first THEAD element which has one row. Try - to delete a row using an index of negative two. This should throw - a INDEX_SIZE_ERR DOMException since the index is negative. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement30.xml.kfail b/test/testcases/tests/level2/html/HTMLTableSectionElement30.xml.kfail deleted file mode 100644 index 8fd17c2..0000000 --- a/test/testcases/tests/level2/html/HTMLTableSectionElement30.xml.kfail +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - -HTMLTableSectionElement30 -NIST - - The insertRow() method inserts a new empty table row. The new - row is inserted immediately before the current indexth row in this - section. If index is -1 or equal to the number of rows in this section, - the new row is appended. - - Retrieve the first THEAD element and invoke the insertRow() method - with an index of negative one. Since the index is negative one the - new row is appended. - After the new row is appended the number of rows in the THEAD - section is two. - -Rick Rivello -2002-11-07 - - - - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableSectionElement31.xml.kfail b/test/testcases/tests/level2/html/HTMLTableSectionElement31.xml.kfail deleted file mode 100644 index 55464e2..0000000 --- a/test/testcases/tests/level2/html/HTMLTableSectionElement31.xml.kfail +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - -HTMLTableSectionElement31 -NIST - - The deleteRow() method deletes a row from this section. The index - starts from 0 and is relative only to the rows contained inside - this section, not all the rows in the table. If the index is -1 - the last row will be deleted. - - Retrieve the second TBODY element and invoke the deleteRow() method - with an index of -1. The nuber of rows in the THEAD section before - the deletion of the row is two. After the row is deleted the number - of rows in the TBODY section is one. - -Rick Rivello -2002-11-07 - - - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/files/tablesection.html b/test/testcases/tests/level2/html/files/tablesection.html new file mode 100644 index 0000000..0c1a5f7 --- /dev/null +++ b/test/testcases/tests/level2/html/files/tablesection.html @@ -0,0 +1,62 @@ + + + + +NIST DOM HTML Test - TABLESECTION + + + + + + + + + + + +
IdNamePositionSalary
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table Caption
Employee IdEmployee NamePositionSalaryGenderAddress
next page ...next page ...next page ...next page ...next page ...next page ...
EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
+ + + + diff --git a/test/testcases/tests/level2/html/files/tablesection.xhtml b/test/testcases/tests/level2/html/files/tablesection.xhtml new file mode 100644 index 0000000..3498650 --- /dev/null +++ b/test/testcases/tests/level2/html/files/tablesection.xhtml @@ -0,0 +1,65 @@ + + + + +NIST DOM HTML Test - TABLESECTION + + + + + + + + + + + +
IdNamePositionSalary
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table Caption
Employee IdEmployee NamePositionSalaryGenderAddress
next page ...next page ...next page ...next page ...next page ...next page ...
EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
+ + + + + diff --git a/test/testcases/tests/level2/html/files/tablesection.xml b/test/testcases/tests/level2/html/files/tablesection.xml new file mode 100644 index 0000000..3498650 --- /dev/null +++ b/test/testcases/tests/level2/html/files/tablesection.xml @@ -0,0 +1,65 @@ + + + + +NIST DOM HTML Test - TABLESECTION + + + + + + + + + + + +
IdNamePositionSalary
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Table Caption
Employee IdEmployee NamePositionSalaryGenderAddress
next page ...next page ...next page ...next page ...next page ...next page ...
EMP0001Margaret MartinAccountant56,000Female1230 North Ave. Dallas, Texas 98551
EMP0002Martha RaynoldsSecretary35,000Female1900 Dallas Road Dallas, Texas 98554
+ + + + + -- cgit v1.2.3