From 72287add78150033d00afd813bb6f5b0c6dee907 Mon Sep 17 00:00:00 2001 From: rsk1994 Date: Sat, 31 May 2014 09:07:42 +0530 Subject: tableSectionElement Rev.2 && tableCellElement Rev.4 && tableElement Rev.1 && tableRowElement Rev.1 && DOMTSHandler(Test Suite) Revised and implemented inefficient ways to produce correct .c's && other minor bg fixes in HTMLCollection... Tests expecting 2nd attribute of dom_html_collection_get_length to be of type int32_t aren't enabled yet. Will be done in a later commit. --- Makefile | 2 + include/dom/dom.h | 2 + include/dom/html/html_table_element.h | 123 ++++ include/dom/html/html_tablerow_element.h | 62 ++ include/dom/html/html_tablesection_element.h | 4 +- src/html/Makefile | 6 +- src/html/TODO | 4 +- src/html/html_collection.c | 2 +- src/html/html_document.c | 10 +- src/html/html_document_strings.h | 5 + src/html/html_table_element.c | 740 +++++++++++++++++++++ src/html/html_table_element.h | 56 ++ src/html/html_tablecell_element.c | 19 +- src/html/html_tablerow_element.c | 368 ++++++++++ src/html/html_tablerow_element.h | 46 ++ src/html/html_tablesection_element.c | 77 +-- src/html/html_tablesection_element.h | 2 +- test/DOMTSHandler.pm | 91 ++- .../tests/level1/html/HTMLCollection01.xml.notimpl | 49 -- .../tests/level1/html/HTMLCollection02.xml.kfail | 49 -- .../tests/level1/html/HTMLCollection03.xml.kfail | 49 -- .../tests/level1/html/HTMLCollection04.xml.kfail | 59 ++ .../tests/level1/html/HTMLCollection05.xml.kfail | 46 ++ .../tests/level1/html/HTMLCollection09.xml.kfail | 47 ++ .../tests/level1/html/HTMLCollection12.xml.kfail | 50 ++ .../tests/level1/html/HTMLTableElement01.xml | 45 ++ .../tests/level1/html/HTMLTableElement01.xml.kfail | 45 -- .../tests/level1/html/HTMLTableElement02.xml | 44 ++ .../tests/level1/html/HTMLTableElement02.xml.kfail | 44 -- .../tests/level1/html/HTMLTableElement03.xml | 45 ++ .../tests/level1/html/HTMLTableElement03.xml.kfail | 45 -- .../tests/level1/html/HTMLTableElement04.xml | 44 ++ .../tests/level1/html/HTMLTableElement04.xml.kfail | 44 -- .../tests/level1/html/HTMLTableElement05.xml | 45 ++ .../tests/level1/html/HTMLTableElement05.xml.kfail | 45 -- .../tests/level1/html/HTMLTableElement06.xml | 44 ++ .../tests/level1/html/HTMLTableElement06.xml.kfail | 44 -- .../tests/level1/html/HTMLTableElement07.xml | 57 ++ .../tests/level1/html/HTMLTableElement07.xml.kfail | 57 -- .../tests/level1/html/HTMLTableElement08.xml | 54 ++ .../tests/level1/html/HTMLTableElement08.xml.kfail | 54 -- .../tests/level1/html/HTMLTableElement09.xml | 57 ++ .../tests/level1/html/HTMLTableElement09.xml.kfail | 57 -- .../tests/level1/html/HTMLTableElement10.xml | 44 ++ .../tests/level1/html/HTMLTableElement10.xml.kfail | 44 -- .../tests/level1/html/HTMLTableElement11.xml | 43 ++ .../tests/level1/html/HTMLTableElement11.xml.kfail | 43 -- .../tests/level1/html/HTMLTableElement12.xml | 43 ++ .../tests/level1/html/HTMLTableElement12.xml.kfail | 43 -- .../tests/level1/html/HTMLTableElement13.xml | 44 ++ .../tests/level1/html/HTMLTableElement13.xml.kfail | 44 -- .../tests/level1/html/HTMLTableElement14.xml | 44 ++ .../tests/level1/html/HTMLTableElement14.xml.kfail | 44 -- .../tests/level1/html/HTMLTableElement15.xml | 43 ++ .../tests/level1/html/HTMLTableElement15.xml.kfail | 43 -- .../tests/level1/html/HTMLTableElement16.xml | 43 ++ .../tests/level1/html/HTMLTableElement16.xml.kfail | 43 -- .../tests/level1/html/HTMLTableElement17.xml | 44 ++ .../tests/level1/html/HTMLTableElement17.xml.kfail | 44 -- .../tests/level1/html/HTMLTableElement18.xml | 43 ++ .../tests/level1/html/HTMLTableElement18.xml.kfail | 43 -- .../tests/level1/html/HTMLTableElement19.xml | 51 ++ .../tests/level1/html/HTMLTableElement19.xml.kfail | 51 -- .../tests/level1/html/HTMLTableElement20.xml | 50 ++ .../tests/level1/html/HTMLTableElement20.xml.kfail | 50 -- .../tests/level1/html/HTMLTableElement21.xml.kfail | 4 +- .../tests/level1/html/HTMLTableElement22.xml | 51 ++ .../tests/level1/html/HTMLTableElement22.xml.kfail | 51 -- .../tests/level1/html/HTMLTableElement23.xml | 50 ++ .../tests/level1/html/HTMLTableElement23.xml.kfail | 50 -- .../tests/level1/html/HTMLTableElement24.xml.kfail | 4 +- .../tests/level1/html/HTMLTableElement25.xml | 49 ++ .../tests/level1/html/HTMLTableElement25.xml.kfail | 49 -- .../tests/level1/html/HTMLTableElement26.xml | 52 ++ .../tests/level1/html/HTMLTableElement26.xml.kfail | 52 -- .../tests/level1/html/HTMLTableElement27.xml | 47 ++ .../tests/level1/html/HTMLTableElement27.xml.kfail | 47 -- .../tests/level1/html/HTMLTableRowElement01.xml | 46 ++ .../level1/html/HTMLTableRowElement01.xml.kfail | 46 -- .../tests/level1/html/HTMLTableRowElement02.xml | 44 ++ .../level1/html/HTMLTableRowElement02.xml.kfail | 44 -- .../tests/level1/html/HTMLTableRowElement03.xml | 44 ++ .../level1/html/HTMLTableRowElement03.xml.kfail | 44 -- .../tests/level1/html/HTMLTableRowElement04.xml | 44 ++ .../level1/html/HTMLTableRowElement04.xml.kfail | 44 -- .../tests/level1/html/HTMLTableRowElement06.xml | 44 ++ .../level1/html/HTMLTableRowElement06.xml.kfail | 44 -- .../tests/level1/html/HTMLTableRowElement07.xml | 43 ++ .../level1/html/HTMLTableRowElement07.xml.kfail | 43 -- .../tests/level1/html/HTMLTableRowElement08.xml | 43 ++ .../level1/html/HTMLTableRowElement08.xml.kfail | 43 -- .../tests/level1/html/HTMLTableRowElement09.xml | 43 ++ .../level1/html/HTMLTableRowElement09.xml.kfail | 43 -- .../tests/level1/html/HTMLTableRowElement10.xml | 44 ++ .../level1/html/HTMLTableRowElement10.xml.kfail | 44 -- test/testcases/tests/level1/html/anchor01.xml | 40 ++ .../tests/level1/html/anchor01.xml.notimpl | 40 -- test/testcases/tests/level1/html/anchor02.xml | 40 ++ .../tests/level1/html/anchor02.xml.notimpl | 40 -- test/testcases/tests/level1/html/anchor03.xml | 40 ++ .../tests/level1/html/anchor03.xml.notimpl | 40 -- .../testcases/tests/level1/html/anchor04.xml.kfail | 40 ++ .../tests/level1/html/anchor04.xml.notimpl | 40 -- test/testcases/tests/level1/html/anchor05.xml | 40 ++ .../tests/level1/html/anchor05.xml.notimpl | 40 -- test/testcases/tests/level1/html/anchor06.xml | 40 ++ .../tests/level1/html/anchor06.xml.notimpl | 40 -- test/testcases/tests/level1/html/dlist01.xml | 39 ++ .../tests/level1/html/dlist01.xml.notimpl | 39 -- test/testcases/tests/level1/html/table01.xml | 40 ++ test/testcases/tests/level1/html/table01.xml.kfail | 40 -- test/testcases/tests/level1/html/table02.xml | 42 ++ test/testcases/tests/level1/html/table02.xml.kfail | 42 -- test/testcases/tests/level1/html/table03.xml | 42 ++ test/testcases/tests/level1/html/table03.xml.kfail | 42 -- test/testcases/tests/level1/html/table04.xml | 42 ++ test/testcases/tests/level1/html/table04.xml.kfail | 42 -- test/testcases/tests/level1/html/table08.xml | 42 ++ test/testcases/tests/level1/html/table08.xml.kfail | 42 -- test/testcases/tests/level1/html/table09.xml | 42 ++ test/testcases/tests/level1/html/table09.xml.kfail | 42 -- test/testcases/tests/level1/html/table10.xml | 42 ++ test/testcases/tests/level1/html/table10.xml.kfail | 42 -- test/testcases/tests/level1/html/table12.xml | 42 ++ test/testcases/tests/level1/html/table12.xml.kfail | 42 -- test/testcases/tests/level1/html/table17.xml | 42 ++ test/testcases/tests/level1/html/table17.xml.kfail | 42 -- test/testcases/tests/level1/html/table18.xml | 40 ++ test/testcases/tests/level1/html/table18.xml.kfail | 40 -- test/testcases/tests/level1/html/table19.xml | 41 ++ test/testcases/tests/level1/html/table19.xml.kfail | 41 -- test/testcases/tests/level1/html/table20.xml | 40 ++ test/testcases/tests/level1/html/table20.xml.kfail | 40 -- test/testcases/tests/level1/html/table21.xml | 40 ++ test/testcases/tests/level1/html/table21.xml.kfail | 40 -- test/testcases/tests/level1/html/table22.xml | 40 ++ test/testcases/tests/level1/html/table22.xml.kfail | 40 -- test/testcases/tests/level1/html/table23.xml | 40 ++ test/testcases/tests/level1/html/table23.xml.kfail | 40 -- test/testcases/tests/level1/html/table24.xml | 40 ++ test/testcases/tests/level1/html/table24.xml.kfail | 40 -- test/testcases/tests/level1/html/table25.xml | 40 ++ test/testcases/tests/level1/html/table25.xml.kfail | 40 -- test/testcases/tests/level1/html/table26.xml | 39 ++ test/testcases/tests/level1/html/table26.xml.kfail | 39 -- test/testcases/tests/level1/html/table27.xml | 40 ++ test/testcases/tests/level1/html/table27.xml.kfail | 40 -- test/testcases/tests/level1/html/table28.xml | 40 ++ test/testcases/tests/level1/html/table28.xml.kfail | 40 -- test/testcases/tests/level1/html/table29.xml | 40 ++ test/testcases/tests/level1/html/table29.xml.kfail | 40 -- test/testcases/tests/level1/html/table30.xml | 40 ++ test/testcases/tests/level1/html/table30.xml.kfail | 40 -- test/testcases/tests/level1/html/table31.xml | 40 ++ test/testcases/tests/level1/html/table31.xml.kfail | 40 -- test/testcases/tests/level1/html/table32.xml | 40 ++ test/testcases/tests/level1/html/table32.xml.kfail | 40 -- test/testcases/tests/level1/html/table33.xml | 40 ++ test/testcases/tests/level1/html/table33.xml.kfail | 40 -- test/testcases/tests/level1/html/table34.xml | 40 ++ test/testcases/tests/level1/html/table34.xml.kfail | 40 -- test/testcases/tests/level1/html/table35.xml | 40 ++ test/testcases/tests/level1/html/table35.xml.kfail | 40 -- test/testcases/tests/level1/html/table36.xml | 40 ++ test/testcases/tests/level1/html/table36.xml.kfail | 40 -- test/testcases/tests/level1/html/table37.xml | 39 ++ test/testcases/tests/level1/html/table37.xml.kfail | 39 -- test/testcases/tests/level1/html/table38.xml | 40 ++ test/testcases/tests/level1/html/table38.xml.kfail | 40 -- test/testcases/tests/level1/html/table39.xml | 40 ++ test/testcases/tests/level1/html/table39.xml.kfail | 40 -- test/testcases/tests/level1/html/table40.xml | 40 ++ test/testcases/tests/level1/html/table40.xml.kfail | 40 -- test/testcases/tests/level1/html/table41.xml | 40 ++ test/testcases/tests/level1/html/table41.xml.kfail | 40 -- test/testcases/tests/level1/html/table42.xml | 40 ++ test/testcases/tests/level1/html/table42.xml.kfail | 40 -- test/testcases/tests/level1/html/table43.xml | 40 ++ test/testcases/tests/level1/html/table43.xml.kfail | 40 -- test/testcases/tests/level1/html/table44.xml | 40 ++ test/testcases/tests/level1/html/table44.xml.kfail | 40 -- test/testcases/tests/level1/html/table45.xml | 40 ++ test/testcases/tests/level1/html/table45.xml.kfail | 40 -- test/testcases/tests/level1/html/table46.xml | 40 ++ test/testcases/tests/level1/html/table46.xml.kfail | 40 -- test/testcases/tests/level1/html/table47.xml | 40 ++ test/testcases/tests/level1/html/table47.xml.kfail | 40 -- test/testcases/tests/level1/html/table48.xml | 40 ++ test/testcases/tests/level1/html/table48.xml.kfail | 40 -- test/testcases/tests/level1/html/table49.xml | 40 ++ test/testcases/tests/level1/html/table49.xml.kfail | 40 -- test/testcases/tests/level1/html/table50.xml | 40 ++ test/testcases/tests/level1/html/table50.xml.kfail | 40 -- test/testcases/tests/level1/html/table51.xml | 40 ++ test/testcases/tests/level1/html/table51.xml.kfail | 40 -- test/testcases/tests/level1/html/table52.xml | 40 ++ test/testcases/tests/level1/html/table52.xml.kfail | 40 -- test/testcases/tests/level1/html/table53.xml | 40 ++ test/testcases/tests/level1/html/table53.xml.kfail | 40 -- .../tests/level2/html/HTMLTableElement34.xml | 48 ++ .../tests/level2/html/HTMLTableElement34.xml.kfail | 48 -- .../tests/level2/html/HTMLTableElement35.xml | 48 ++ .../tests/level2/html/HTMLTableElement35.xml.kfail | 48 -- .../tests/level2/html/HTMLTableElement36.xml | 47 ++ .../tests/level2/html/HTMLTableElement36.xml.kfail | 47 -- .../tests/level2/html/HTMLTableElement37.xml | 48 ++ .../tests/level2/html/HTMLTableElement37.xml.kfail | 48 -- .../tests/level2/html/HTMLTableElement38.xml | 47 ++ .../tests/level2/html/HTMLTableElement38.xml.kfail | 47 -- .../tests/level2/html/HTMLTableElement39.xml.kfail | 5 + .../tests/level2/html/HTMLTableRowElement15.xml | 48 ++ .../level2/html/HTMLTableRowElement15.xml.kfail | 48 -- .../tests/level2/html/HTMLTableRowElement16.xml | 48 ++ .../level2/html/HTMLTableRowElement16.xml.kfail | 48 -- .../tests/level2/html/HTMLTableRowElement17.xml | 47 ++ .../level2/html/HTMLTableRowElement17.xml.kfail | 47 -- .../tests/level2/html/HTMLTableRowElement18.xml | 47 ++ .../level2/html/HTMLTableRowElement18.xml.kfail | 47 -- .../tests/level2/html/HTMLTableRowElement19.xml | 47 ++ .../level2/html/HTMLTableRowElement19.xml.kfail | 47 -- .../html/HTMLTableSectionElement30.xml.kfail | 55 ++ .../html/HTMLTableSectionElement31.xml.kfail | 53 ++ test/testcases/tests/level2/html/files/table.html | 78 +++ test/testcases/tests/level2/html/files/table.xhtml | 81 +++ test/testcases/tests/level2/html/files/table.xml | 81 +++ test/testcases/tests/level2/html/files/table1.html | 12 + .../testcases/tests/level2/html/files/table1.xhtml | 15 + test/testcases/tests/level2/html/files/table1.xml | 15 + .../tests/level2/html/files/tablerow.html | 59 ++ .../tests/level2/html/files/tablerow.xhtml | 62 ++ .../testcases/tests/level2/html/files/tablerow.xml | 62 ++ test/testutils/domtsasserts.c | 4 + 232 files changed, 6462 insertions(+), 4376 deletions(-) delete mode 100644 test/testcases/tests/level1/html/HTMLCollection01.xml.notimpl delete mode 100644 test/testcases/tests/level1/html/HTMLCollection02.xml.kfail delete mode 100644 test/testcases/tests/level1/html/HTMLCollection03.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLCollection04.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLCollection05.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLCollection09.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLCollection12.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement01.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement01.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement02.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement02.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement03.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement03.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement04.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement04.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement05.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement05.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement06.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement06.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement07.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement07.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement08.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement08.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement09.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement09.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement10.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement10.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement11.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement11.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement12.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement12.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement13.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement13.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement14.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement14.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement15.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement15.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement16.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement16.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement17.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement17.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement18.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement18.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement19.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement19.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement20.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement20.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement22.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement22.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement23.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement23.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement25.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement25.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement26.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement26.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableElement27.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableElement27.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement01.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement01.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement02.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement02.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement03.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement03.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement04.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement04.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement06.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement06.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement07.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement07.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement08.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement08.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement09.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement09.xml.kfail create mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement10.xml delete mode 100644 test/testcases/tests/level1/html/HTMLTableRowElement10.xml.kfail create mode 100644 test/testcases/tests/level1/html/anchor01.xml delete mode 100644 test/testcases/tests/level1/html/anchor01.xml.notimpl create mode 100644 test/testcases/tests/level1/html/anchor02.xml delete mode 100644 test/testcases/tests/level1/html/anchor02.xml.notimpl create mode 100644 test/testcases/tests/level1/html/anchor03.xml delete mode 100644 test/testcases/tests/level1/html/anchor03.xml.notimpl create mode 100644 test/testcases/tests/level1/html/anchor04.xml.kfail delete mode 100644 test/testcases/tests/level1/html/anchor04.xml.notimpl create mode 100644 test/testcases/tests/level1/html/anchor05.xml delete mode 100644 test/testcases/tests/level1/html/anchor05.xml.notimpl create mode 100644 test/testcases/tests/level1/html/anchor06.xml delete mode 100644 test/testcases/tests/level1/html/anchor06.xml.notimpl create mode 100644 test/testcases/tests/level1/html/dlist01.xml delete mode 100644 test/testcases/tests/level1/html/dlist01.xml.notimpl create mode 100644 test/testcases/tests/level1/html/table01.xml delete mode 100644 test/testcases/tests/level1/html/table01.xml.kfail create mode 100644 test/testcases/tests/level1/html/table02.xml delete mode 100644 test/testcases/tests/level1/html/table02.xml.kfail create mode 100644 test/testcases/tests/level1/html/table03.xml delete mode 100644 test/testcases/tests/level1/html/table03.xml.kfail create mode 100644 test/testcases/tests/level1/html/table04.xml delete mode 100644 test/testcases/tests/level1/html/table04.xml.kfail create mode 100644 test/testcases/tests/level1/html/table08.xml delete mode 100644 test/testcases/tests/level1/html/table08.xml.kfail create mode 100644 test/testcases/tests/level1/html/table09.xml delete mode 100644 test/testcases/tests/level1/html/table09.xml.kfail create mode 100644 test/testcases/tests/level1/html/table10.xml delete mode 100644 test/testcases/tests/level1/html/table10.xml.kfail create mode 100644 test/testcases/tests/level1/html/table12.xml delete mode 100644 test/testcases/tests/level1/html/table12.xml.kfail create mode 100644 test/testcases/tests/level1/html/table17.xml delete mode 100644 test/testcases/tests/level1/html/table17.xml.kfail create mode 100644 test/testcases/tests/level1/html/table18.xml delete mode 100644 test/testcases/tests/level1/html/table18.xml.kfail create mode 100644 test/testcases/tests/level1/html/table19.xml delete mode 100644 test/testcases/tests/level1/html/table19.xml.kfail create mode 100644 test/testcases/tests/level1/html/table20.xml delete mode 100644 test/testcases/tests/level1/html/table20.xml.kfail create mode 100644 test/testcases/tests/level1/html/table21.xml delete mode 100644 test/testcases/tests/level1/html/table21.xml.kfail create mode 100644 test/testcases/tests/level1/html/table22.xml delete mode 100644 test/testcases/tests/level1/html/table22.xml.kfail create mode 100644 test/testcases/tests/level1/html/table23.xml delete mode 100644 test/testcases/tests/level1/html/table23.xml.kfail create mode 100644 test/testcases/tests/level1/html/table24.xml delete mode 100644 test/testcases/tests/level1/html/table24.xml.kfail create mode 100644 test/testcases/tests/level1/html/table25.xml delete mode 100644 test/testcases/tests/level1/html/table25.xml.kfail create mode 100644 test/testcases/tests/level1/html/table26.xml delete mode 100644 test/testcases/tests/level1/html/table26.xml.kfail create mode 100644 test/testcases/tests/level1/html/table27.xml delete mode 100644 test/testcases/tests/level1/html/table27.xml.kfail create mode 100644 test/testcases/tests/level1/html/table28.xml delete mode 100644 test/testcases/tests/level1/html/table28.xml.kfail create mode 100644 test/testcases/tests/level1/html/table29.xml delete mode 100644 test/testcases/tests/level1/html/table29.xml.kfail create mode 100644 test/testcases/tests/level1/html/table30.xml delete mode 100644 test/testcases/tests/level1/html/table30.xml.kfail create mode 100644 test/testcases/tests/level1/html/table31.xml delete mode 100644 test/testcases/tests/level1/html/table31.xml.kfail create mode 100644 test/testcases/tests/level1/html/table32.xml delete mode 100644 test/testcases/tests/level1/html/table32.xml.kfail create mode 100644 test/testcases/tests/level1/html/table33.xml delete mode 100644 test/testcases/tests/level1/html/table33.xml.kfail create mode 100644 test/testcases/tests/level1/html/table34.xml delete mode 100644 test/testcases/tests/level1/html/table34.xml.kfail create mode 100644 test/testcases/tests/level1/html/table35.xml delete mode 100644 test/testcases/tests/level1/html/table35.xml.kfail create mode 100644 test/testcases/tests/level1/html/table36.xml delete mode 100644 test/testcases/tests/level1/html/table36.xml.kfail create mode 100644 test/testcases/tests/level1/html/table37.xml delete mode 100644 test/testcases/tests/level1/html/table37.xml.kfail create mode 100644 test/testcases/tests/level1/html/table38.xml delete mode 100644 test/testcases/tests/level1/html/table38.xml.kfail create mode 100644 test/testcases/tests/level1/html/table39.xml delete mode 100644 test/testcases/tests/level1/html/table39.xml.kfail create mode 100644 test/testcases/tests/level1/html/table40.xml delete mode 100644 test/testcases/tests/level1/html/table40.xml.kfail create mode 100644 test/testcases/tests/level1/html/table41.xml delete mode 100644 test/testcases/tests/level1/html/table41.xml.kfail create mode 100644 test/testcases/tests/level1/html/table42.xml delete mode 100644 test/testcases/tests/level1/html/table42.xml.kfail create mode 100644 test/testcases/tests/level1/html/table43.xml delete mode 100644 test/testcases/tests/level1/html/table43.xml.kfail create mode 100644 test/testcases/tests/level1/html/table44.xml delete mode 100644 test/testcases/tests/level1/html/table44.xml.kfail create mode 100644 test/testcases/tests/level1/html/table45.xml delete mode 100644 test/testcases/tests/level1/html/table45.xml.kfail create mode 100644 test/testcases/tests/level1/html/table46.xml delete mode 100644 test/testcases/tests/level1/html/table46.xml.kfail create mode 100644 test/testcases/tests/level1/html/table47.xml delete mode 100644 test/testcases/tests/level1/html/table47.xml.kfail create mode 100644 test/testcases/tests/level1/html/table48.xml delete mode 100644 test/testcases/tests/level1/html/table48.xml.kfail create mode 100644 test/testcases/tests/level1/html/table49.xml delete mode 100644 test/testcases/tests/level1/html/table49.xml.kfail create mode 100644 test/testcases/tests/level1/html/table50.xml delete mode 100644 test/testcases/tests/level1/html/table50.xml.kfail create mode 100644 test/testcases/tests/level1/html/table51.xml delete mode 100644 test/testcases/tests/level1/html/table51.xml.kfail create mode 100644 test/testcases/tests/level1/html/table52.xml delete mode 100644 test/testcases/tests/level1/html/table52.xml.kfail create mode 100644 test/testcases/tests/level1/html/table53.xml delete mode 100644 test/testcases/tests/level1/html/table53.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableElement34.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableElement34.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableElement35.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableElement35.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableElement36.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableElement36.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableElement37.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableElement37.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableElement38.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableElement38.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableRowElement15.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableRowElement15.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableRowElement16.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableRowElement16.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableRowElement17.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableRowElement17.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableRowElement18.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableRowElement18.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableRowElement19.xml delete mode 100644 test/testcases/tests/level2/html/HTMLTableRowElement19.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement30.xml.kfail create mode 100644 test/testcases/tests/level2/html/HTMLTableSectionElement31.xml.kfail create mode 100644 test/testcases/tests/level2/html/files/table.html create mode 100644 test/testcases/tests/level2/html/files/table.xhtml create mode 100644 test/testcases/tests/level2/html/files/table.xml create mode 100644 test/testcases/tests/level2/html/files/table1.html create mode 100644 test/testcases/tests/level2/html/files/table1.xhtml create mode 100644 test/testcases/tests/level2/html/files/table1.xml create mode 100644 test/testcases/tests/level2/html/files/tablerow.html create mode 100644 test/testcases/tests/level2/html/files/tablerow.xhtml create mode 100644 test/testcases/tests/level2/html/files/tablerow.xml diff --git a/Makefile b/Makefile index 0745e10..adb8d59 100644 --- a/Makefile +++ b/Makefile @@ -127,6 +127,8 @@ 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) $(I):$(Is)/html_table_element.h +INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_tablerow_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 071ca2c..fb39388 100644 --- a/include/dom/dom.h +++ b/include/dom/dom.h @@ -86,6 +86,8 @@ #include #include #include +#include +#include /* DOM Events header */ #include diff --git a/include/dom/html/html_table_element.h b/include/dom/html/html_table_element.h index 2e182d5..6fcd7ed 100644 --- a/include/dom/html/html_table_element.h +++ b/include/dom/html/html_table_element.h @@ -3,5 +3,128 @@ * 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_element_h_ +#define dom_html_table_element_h_ + +#include +#include +#include + +#include +#include +#include +#include + +typedef struct dom_html_table_element dom_html_table_element; + +dom_exception dom_html_table_element_get_caption( + dom_html_table_element *element, dom_html_table_caption_element **caption); + +dom_exception dom_html_table_element_set_caption( + dom_html_table_element *element, dom_html_table_caption_element *caption); + +dom_exception dom_html_table_element_get_t_head( + dom_html_table_element *element, dom_html_table_section_element **t_head); + +dom_exception dom_html_table_element_set_t_head( + dom_html_table_element *element, dom_html_table_section_element *t_head); + +dom_exception dom_html_table_element_get_t_foot( + dom_html_table_element *element, dom_html_table_section_element **t_foot); + +dom_exception dom_html_table_element_set_t_foot( + dom_html_table_element *element, dom_html_table_section_element *t_foot); + +dom_exception dom_html_table_element_get_rows( + dom_html_table_element *element, dom_html_collection **rows); + +dom_exception dom_html_table_element_get_t_bodies( + dom_html_table_element *element, dom_html_collection **t_bodies); + +dom_exception dom_html_table_element_get_align( + dom_html_table_element *table, dom_string **align); + +dom_exception dom_html_table_element_set_align( + dom_html_table_element *table, dom_string *align); + +dom_exception dom_html_table_element_get_bg_color( + dom_html_table_element *table, dom_string **bg_color); + +dom_exception dom_html_table_element_set_bg_color( + dom_html_table_element *table, dom_string *bg_color); + +dom_exception dom_html_table_element_get_border( + dom_html_table_element *table, dom_string **border); + +dom_exception dom_html_table_element_set_border( + dom_html_table_element *table, dom_string *border); + +dom_exception dom_html_table_element_get_cell_padding( + dom_html_table_element *table, dom_string **cell_padding); + +dom_exception dom_html_table_element_set_cell_padding( + dom_html_table_element *table, dom_string *cell_padding); + +dom_exception dom_html_table_element_get_cell_spacing( + dom_html_table_element *table, dom_string **cell_spacing); + +dom_exception dom_html_table_element_set_cell_spacing( + dom_html_table_element *table, dom_string *cell_spacing); + +dom_exception dom_html_table_element_get_frame( + dom_html_table_element *table, dom_string **frame); + +dom_exception dom_html_table_element_set_frame( + dom_html_table_element *table, dom_string *frame); + +dom_exception dom_html_table_element_get_rules( + dom_html_table_element *table, dom_string **rules); + +dom_exception dom_html_table_element_set_rules( + dom_html_table_element *table, dom_string *rules); + +dom_exception dom_html_table_element_get_summary( + dom_html_table_element *table, dom_string **summary); + +dom_exception dom_html_table_element_set_summary( + dom_html_table_element *table, dom_string *summary); + +dom_exception dom_html_table_element_get_width( + dom_html_table_element *table, dom_string **width); + +dom_exception dom_html_table_element_set_width( + dom_html_table_element *table, dom_string *width); + +dom_exception dom_html_table_element_create_caption( + dom_html_table_element *element, + dom_html_element **caption); + +dom_exception dom_html_table_element_delete_caption( + dom_html_table_element *element); + +dom_exception dom_html_table_element_create_t_head( + dom_html_table_element *element, + dom_html_element **t_head); + +dom_exception dom_html_table_element_delete_t_head( + dom_html_table_element *element); + +dom_exception dom_html_table_element_create_t_foot( + dom_html_table_element *element, + dom_html_element **t_foot); + +dom_exception dom_html_table_element_delete_t_foot( + dom_html_table_element *element); + +dom_exception dom_html_table_element_insert_row( + dom_html_table_element *element, + int32_t index, dom_html_element **row); + +dom_exception dom_html_table_element_delete_row( + dom_html_table_element *element, + int32_t index); + +#endif diff --git a/include/dom/html/html_tablerow_element.h b/include/dom/html/html_tablerow_element.h index 2e182d5..897e243 100644 --- a/include/dom/html/html_tablerow_element.h +++ b/include/dom/html/html_tablerow_element.h @@ -3,5 +3,67 @@ * 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_row_element_h_ +#define dom_html_table_row_element_h_ + +#include +#include +#include + +#include +#include + +typedef struct dom_html_table_row_element dom_html_table_row_element; + +dom_exception dom_html_table_row_element_get_align( + dom_html_table_row_element *table, dom_string **align); + +dom_exception dom_html_table_row_element_set_align( + dom_html_table_row_element *table, dom_string *align); + +dom_exception dom_html_table_row_element_get_bg_color( + dom_html_table_row_element *table, dom_string **bg_color); + +dom_exception dom_html_table_row_element_set_bg_color( + dom_html_table_row_element *table, dom_string *bg_color); + +dom_exception dom_html_table_row_element_get_ch( + dom_html_table_row_element *table, dom_string **ch); + +dom_exception dom_html_table_row_element_set_ch( + dom_html_table_row_element *table, dom_string *ch); + +dom_exception dom_html_table_row_element_get_ch_off( + dom_html_table_row_element *table, dom_string **ch_off); + +dom_exception dom_html_table_row_element_set_ch_off( + dom_html_table_row_element *table, dom_string *ch_off); + +dom_exception dom_html_table_row_element_get_v_align( + dom_html_table_row_element *table, dom_string **v_align); + +dom_exception dom_html_table_row_element_set_v_align( + dom_html_table_row_element *table, dom_string *v_align); + +dom_exception dom_html_table_row_element_get_row_index( + dom_html_table_row_element *table, int32_t *index); + +dom_exception dom_html_table_row_element_get_section_row_index( + dom_html_table_row_element *table_row, int32_t *section_row_index); + +dom_exception dom_html_table_row_element_get_cells( + dom_html_table_row_element *element, + dom_html_collection **cells); + +dom_exception dom_html_table_row_element_delete_cell( + dom_html_table_row_element *element, + int32_t index); + +dom_exception dom_html_table_row_element_insert_cell( + dom_html_table_row_element *element, + int32_t index, dom_html_element **cell); + +#endif diff --git a/include/dom/html/html_tablesection_element.h b/include/dom/html/html_tablesection_element.h index e3b0065..bceec18 100644 --- a/include/dom/html/html_tablesection_element.h +++ b/include/dom/html/html_tablesection_element.h @@ -16,6 +16,8 @@ #include #include +#include + typedef struct dom_html_table_section_element dom_html_table_section_element; dom_exception dom_html_table_section_element_get_align( @@ -47,7 +49,7 @@ dom_exception dom_html_table_section_element_get_rows( dom_exception dom_html_table_section_element_insert_row( dom_html_table_section_element *element, - int32_t index, dom_html_element **newRow); + int32_t index, dom_html_element **new_row); dom_exception dom_html_table_section_element_delete_row( dom_html_table_section_element *element, diff --git a/src/html/Makefile b/src/html/Makefile index 8fc029d..8c20362 100644 --- a/src/html/Makefile +++ b/src/html/Makefile @@ -16,11 +16,11 @@ 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_tablesection_element.c + html_tablecell_element.c html_tablecol_element.c html_tablesection_element.c \ + html_table_element.c html_tablerow_element.c UNINMPLEMENTED_SOURCES := \ - html_table_element.c \ - html_tablerow_element.c html_frameset_element.c \ + html_frameset_element.c \ html_frame_element.c html_iframe_element.c include $(NSBUILD)/Makefile.subdir diff --git a/src/html/TODO b/src/html/TODO index 50e905c..0a75535 100644 --- a/src/html/TODO +++ b/src/html/TODO @@ -46,11 +46,11 @@ HTMLAppletElement html_applet_element DONE HTMLMapElement html_map_element DONE HTMLAreaElement html_area_element DONE HTMLScriptElement html_script_element DONE -HTMLTableElement html_table_element MISSING +HTMLTableElement html_table_element DONE HTMLTableCaptionElement html_tablecaption_element DONE HTMLTableColElement html_tablecol_element DONE HTMLTableSectionElement html_tablesection_element DONE -HTMLTableRowElement html_tablerow_element MISSING +HTMLTableRowElement html_tablerow_element DONE HTMLTableCellElement html_tablecell_element DONE HTMLFrameSetElement html_frameset_element MISSING HTMLFrameElement html_frame_element MISSING diff --git a/src/html/html_collection.c b/src/html/html_collection.c index fb801d9..2b4d8aa 100644 --- a/src/html/html_collection.c +++ b/src/html/html_collection.c @@ -132,7 +132,7 @@ dom_exception dom_html_collection_get_length(dom_html_collection *col, /* No children and siblings */ struct dom_node_internal *parent = node->parent; - while (parent != col->root && + while (node != col->root && node == parent->last_child) { node = parent; parent = parent->parent; diff --git a/src/html/html_document.c b/src/html/html_document.c index 692dd98..25abca3 100644 --- a/src/html/html_document.c +++ b/src/html/html_document.c @@ -54,6 +54,8 @@ #include "html/html_tablecell_element.h" #include "html/html_tablecol_element.h" #include "html/html_tablesection_element.h" +#include "html/html_table_element.h" +#include "html/html_tablerow_element.h" #include "core/attr.h" #include "core/string.h" @@ -350,9 +352,15 @@ _dom_html_document_create_element_internal(dom_html_document *html, (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])) { + dom_string_caseless_isequal(tag_name, html->memoised[hds_TFOOT])) { exc = _dom_html_table_section_element_create(html, tag_name, namespace, prefix, (dom_html_table_section_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_TABLE])) { + exc = _dom_html_table_element_create(html, namespace, prefix, + (dom_html_table_element **) result); + } else if (dom_string_caseless_isequal(tag_name, html->memoised[hds_TD])) { + exc = _dom_html_table_row_element_create(html, namespace, prefix, + (dom_html_table_row_element **) result); } else { exc = _dom_html_element_create(html, tag_name, namespace, prefix, result); diff --git a/src/html/html_document_strings.h b/src/html/html_document_strings.h index 38b0004..8ded892 100644 --- a/src/html/html_document_strings.h +++ b/src/html/html_document_strings.h @@ -102,6 +102,9 @@ HTML_DOCUMENT_STRINGS_ACTION1(abbr) HTML_DOCUMENT_STRINGS_ACTION1(axis) HTML_DOCUMENT_STRINGS_ACTION1(headers) HTML_DOCUMENT_STRINGS_ACTION1(scope) +HTML_DOCUMENT_STRINGS_ACTION1(frame) +HTML_DOCUMENT_STRINGS_ACTION1(rules) +HTML_DOCUMENT_STRINGS_ACTION1(summary) HTML_DOCUMENT_STRINGS_ACTION(tab_index,tabindex) HTML_DOCUMENT_STRINGS_ACTION(html_for,for) HTML_DOCUMENT_STRINGS_ACTION(date_time,datetime) @@ -112,6 +115,8 @@ HTML_DOCUMENT_STRINGS_ACTION(value_type,valuetype) HTML_DOCUMENT_STRINGS_ACTION(v_align,valign) HTML_DOCUMENT_STRINGS_ACTION(ch,char) HTML_DOCUMENT_STRINGS_ACTION(ch_off,charoff) +HTML_DOCUMENT_STRINGS_ACTION(cell_padding,cellpadding) +HTML_DOCUMENT_STRINGS_ACTION(cell_spacing,cellspacing) /* HTML_DOCUMENT_STRINGS_ACTION1(type) */ HTML_DOCUMENT_STRINGS_ACTION(use_map,usemap) /* HTML_DOCUMENT_STRINGS_ACTION1(value) */ diff --git a/src/html/html_table_element.c b/src/html/html_table_element.c index 2e182d5..0f27fd3 100644 --- a/src/html/html_table_element.c +++ b/src/html/html_table_element.c @@ -3,5 +3,745 @@ * 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_table_element.h" +#include "html/html_tablecaption_element.h" +#include "html/html_tablesection_element.h" +#include "html/html_tablerow_element.h" +#include "html/html_collection.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_ELEMENT + }, + DOM_HTML_TABLE_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_table_element object + * + * \param doc The document object + * \param ele The returned element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_table_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_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_table_element object + * + * \param doc The document object + * \param ele The dom_html_table_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_element *ele) +{ + ele->caption = NULL; + ele->t_head = NULL; + ele->t_foot = NULL; + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_TABLE], + namespace, prefix); +} + +/** + * Finalise a dom_html_table_element object + * + * \param ele The dom_html_table_element object + */ +void _dom_html_table_element_finalise(struct dom_html_table_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_table_element object + * + * \param ele The dom_html_table_element object + */ +void _dom_html_table_element_destroy(struct dom_html_table_element *ele) +{ + _dom_html_table_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_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_element_destroy(dom_node_internal *node) +{ + _dom_html_table_element_destroy((struct dom_html_table_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_table_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_element_get_##attr( \ + dom_html_table_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_element_set_##attr( \ + dom_html_table_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(bg_color); +SIMPLE_GET_SET(border); +SIMPLE_GET_SET(cell_padding); +SIMPLE_GET_SET(cell_spacing); +SIMPLE_GET_SET(frame); +SIMPLE_GET_SET(rules); +SIMPLE_GET_SET(summary); +SIMPLE_GET_SET(width); + +/** + * Get the caption Attribute + * + * \param table The dom_html_table_element object + */ +dom_exception dom_html_table_element_get_caption( + dom_html_table_element *table, dom_html_table_caption_element **caption) +{ + dom_node_internal *node_tmp = ((dom_node_internal *)table); + dom_html_document *doc = (dom_html_document *)(node_tmp->owner); + + if(table->caption == NULL) { + for (node_tmp = node_tmp->first_child; node_tmp != NULL; node_tmp = node_tmp->next) { + if((node_tmp->type == DOM_ELEMENT_NODE) && + dom_string_caseless_isequal(doc->memoised[hds_CAPTION],node_tmp->name)) { + break; + } + } + table->caption = (dom_html_table_caption_element *)node_tmp; + } + *caption = (table->caption); + return DOM_NO_ERR; +} + +/** + * Set the caption Attribute + * + * \param table The dom_html_table_element object + * \param table The dom_html_table_element object + */ +dom_exception dom_html_table_element_set_caption( + dom_html_table_element *table, dom_html_table_caption_element *caption) +{ + dom_node_internal *check_node = ((dom_node_internal *)caption); + dom_html_document *doc = (dom_html_document *)(((dom_node_internal *)table)->owner); + if(check_node == NULL) { + return DOM_HIERARCHY_REQUEST_ERR; + } + if(!dom_string_caseless_isequal(doc->memoised[hds_CAPTION],check_node->name)) { + return DOM_HIERARCHY_REQUEST_ERR; + } + table->caption = caption; + return DOM_NO_ERR; +} + +/** + * Get the t_head Attribute + * + * \param table The dom_html_table_element object + */ +dom_exception dom_html_table_element_get_t_head( + dom_html_table_element *table, dom_html_table_section_element **t_head) +{ + dom_node_internal *node_tmp = ((dom_node_internal *)table); + dom_html_document *doc = (dom_html_document *)(node_tmp->owner); + + if(table->t_head == NULL) { + for (node_tmp = node_tmp->first_child; node_tmp != NULL; node_tmp = node_tmp->next) { + if((node_tmp->type == DOM_ELEMENT_NODE) && + dom_string_caseless_isequal(doc->memoised[hds_THEAD],node_tmp->name)) { + break; + } + } + table->t_head = (dom_html_table_section_element *)node_tmp; + } + *t_head = table->t_head; + return DOM_NO_ERR; +} + +/** + * Set the t_head Attribute + * + * \param table The dom_html_table_element object + * \param table The dom_html_table_element object + */ +dom_exception dom_html_table_element_set_t_head( + dom_html_table_element *table, dom_html_table_section_element *t_head) +{ + dom_node_internal *check_node = ((dom_node_internal *)t_head); + dom_html_document *doc = (dom_html_document *)(((dom_node_internal *)table)->owner); + if(check_node == NULL) { + return DOM_HIERARCHY_REQUEST_ERR; + } + if(!dom_string_caseless_isequal(doc->memoised[hds_CAPTION],check_node->name)) { + return DOM_HIERARCHY_REQUEST_ERR; + } + table->t_head = t_head; + return DOM_NO_ERR; +} + +/** + * Get the t_foot Attribute + * + * \param table The dom_html_table_element object + */ +dom_exception dom_html_table_element_get_t_foot( + dom_html_table_element *table, dom_html_table_section_element **t_foot) +{ + dom_node_internal *node_tmp = ((dom_node_internal *)table); + dom_html_document *doc = (dom_html_document *)(node_tmp->owner); + + if(table->t_foot == NULL) { + for (node_tmp = node_tmp->first_child; node_tmp != NULL; node_tmp = node_tmp->next) { + if((node_tmp->type == DOM_ELEMENT_NODE) && + dom_string_caseless_isequal(doc->memoised[hds_TFOOT],node_tmp->name)) { + break; + } + } + table->t_foot = (dom_html_table_section_element *)node_tmp; + } + *t_foot = (table->t_foot); + return DOM_NO_ERR; +} + +/** + * Set the t_foot Attribute + * + * \param table The dom_html_table_element object + */ +dom_exception dom_html_table_element_set_t_foot( + dom_html_table_element *table, dom_html_table_section_element *t_foot) +{ + dom_node_internal *check_node = ((dom_node_internal *)t_foot); /*< temporary node to check for raised exceptions */ + dom_html_document *doc = (dom_html_document *)(((dom_node_internal *)table)->owner); + if(check_node == NULL) { + return DOM_HIERARCHY_REQUEST_ERR; + } + if(!dom_string_caseless_isequal(doc->memoised[hds_TFOOT],check_node->name)) { + return DOM_HIERARCHY_REQUEST_ERR; + } + table->t_foot = t_foot; + return DOM_NO_ERR; +} + +/** + * Callback for creating the rows collection + * + * \param node The dom_html_table_element object + * \param ctx The dom_html_document object (void *) + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +bool table_rows_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_table_element object + * \param rows The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_get_rows( + dom_html_table_element *element, + dom_html_collection **rows) +{ + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) element)->owner; + return _dom_html_collection_create(doc, (dom_node_internal *)element, + table_rows_callback, (void *)doc, rows); +} + +/** + * Callback for creating the tbodies collection + * + * \param node The dom_html_table_element object + * \param ctx The dom_html_document object (void *) + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +bool table_t_bodies_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_TBODY])) { + return true; + } + return false; +} + +/** + * Get the tBodies collection + * + * \param element The dom_html_table_element object + * \param t_bodies The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_get_t_bodies( + dom_html_table_element *element, + dom_html_collection **t_bodies) +{ + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) element)->owner; + return _dom_html_collection_create(doc, (dom_node_internal *)element, + table_t_bodies_callback, (void *)doc, t_bodies); +} + +/** + * Get or Create the table caption + * + * \param element The dom_html_table_element object + * \param caption The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_create_caption( + dom_html_table_element *element, + dom_html_element **caption) +{ + dom_exception exp; + if((exp = dom_html_table_element_get_caption(element, + (dom_html_table_caption_element **)caption)) != DOM_NO_ERR) { + return exp; + } + if((*caption) == NULL) { + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *) element)->owner; + exp = _dom_html_table_caption_element_create(doc, + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + (dom_html_table_caption_element **)caption); + if(exp != DOM_NO_ERR) { + return exp; + } + _dom_node_append_child((dom_node_internal *)element, + (dom_node_internal *)*caption, + (dom_node_internal **)caption); + element->caption = (dom_html_table_caption_element *)*caption; + + } + return DOM_NO_ERR; +} + +/** + * Delete the table caption, if one exists + * + * \param element The dom_html_table_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_delete_caption( + dom_html_table_element *element) +{ + dom_html_table_caption_element *caption; + dom_html_table_element_get_caption(element, &caption); + _dom_node_remove_child((dom_node_internal *)element, + (dom_node_internal *)caption, + (dom_node_internal **)&caption); + element->caption = NULL; + return DOM_NO_ERR; +} + +/** + * Get or Create the table Foot + * + * \param element The dom_html_table_element object + * \param t_foot The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_create_t_foot( + dom_html_table_element *element, + dom_html_element **t_foot) +{ + dom_exception exp; + exp = dom_html_table_element_get_t_foot(element, + (dom_html_table_section_element **)t_foot); + if(exp !=DOM_NO_ERR) { + return exp; + } + if((*t_foot) == NULL) { + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *) element)->owner; + exp = _dom_html_table_section_element_create(doc, + doc->memoised[hds_TFOOT], + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + (dom_html_table_section_element **)t_foot); + if(exp != DOM_NO_ERR) { + return exp; + } + _dom_node_append_child((dom_node_internal *)element, + (dom_node_internal *)*t_foot, + (dom_node_internal **)t_foot); + element->t_foot = (dom_html_table_section_element *)*t_foot; + + } + return DOM_NO_ERR; +} + +/** + * Delete the table Foot, if one exists + * + * \param element The dom_html_table_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_delete_t_foot( + dom_html_table_element *element) +{ + dom_html_table_section_element *t_foot; + dom_html_table_element_get_t_foot(element, &t_foot); + _dom_node_remove_child((dom_node_internal *)element, + (dom_node_internal *)t_foot, + (dom_node_internal **)&t_foot); + element->t_foot = NULL; + return DOM_NO_ERR; +} + +/** + * Get or Create the table Head + * + * \param element The dom_html_table_element object + * \param t_head The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_create_t_head( + dom_html_table_element *element, + dom_html_element **t_head) +{ + dom_html_table_element_get_t_head(element, + (dom_html_table_section_element **)t_head); + if((*t_head) == NULL) { + dom_exception exp; + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *) element)->owner; + exp = _dom_html_table_section_element_create(doc, + doc->memoised[hds_THEAD], + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + (dom_html_table_section_element **)t_head); + if(exp != DOM_NO_ERR) { + return exp; + } + _dom_node_append_child((dom_node_internal *)element, + (dom_node_internal *)*t_head, + (dom_node_internal **)t_head); + element->t_head = (dom_html_table_section_element *)*t_head; + + } + return DOM_NO_ERR; +} + +/** + * Delete the table Head, if one exists + * + * \param element The dom_html_table_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_delete_t_head( + dom_html_table_element *element) +{ + dom_html_table_section_element *t_head; + dom_html_table_element_get_t_head(element, &t_head); + _dom_node_remove_child((dom_node_internal *)element, + (dom_node_internal *)t_head, + (dom_node_internal **)&t_head); + element->t_head = NULL; + return DOM_NO_ERR; +} + +/** + * Get or Create the table Body + * + * \param element The dom_html_table_element object + * \param t_head The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_create_t_body( + dom_html_table_element *element, + dom_html_table_section_element **t_body) +{ + dom_html_collection *t_bodies; + uint32_t len; + dom_html_table_element_get_t_bodies(element, + &t_bodies); + dom_html_collection_get_length(t_bodies, + &len); + + if(len == 0) { + dom_exception exp; + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *) element)->owner; + exp = _dom_html_table_section_element_create(doc, + doc->memoised[hds_TBODY], + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + t_body); + if(exp != DOM_NO_ERR) { + return exp; + } + return _dom_node_append_child((dom_node_internal *)element, + (dom_node_internal *)*t_body, + (dom_node_internal **)t_body); + + } else { + return dom_html_collection_item(t_bodies, + 0, (dom_node **)t_body); + } + return DOM_NO_ERR; +} +/** + * Insert a new Row into the table + * + * \param element The dom_html_table_element object + * \param index The Index to insert the Row + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_insert_row( + dom_html_table_element *element, + int32_t index, + dom_html_element **row) +{ + dom_exception exp; + dom_html_collection* rows; + uint32_t len; + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *) element)->owner; + + exp = dom_html_table_element_get_rows(element, + &rows); + if(exp != DOM_NO_ERR) { + return exp; + } + exp = dom_html_collection_get_length(rows, + &len); + + exp = _dom_html_table_row_element_create(doc, + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + (dom_html_table_row_element **)row); + if(exp != DOM_NO_ERR) { + return exp; + } + + if(index > (int32_t)len || index < -1) { + return DOM_INDEX_SIZE_ERR; + } else if(len == 0) { + dom_html_table_section_element *new_body; + exp = dom_html_table_element_create_t_body(element, + &new_body); + if(exp != DOM_NO_ERR) { + return exp; + } + + return _dom_node_append_child((dom_node_internal *)new_body, + (dom_node_internal *)*row, + (dom_node_internal **)row); + + } else { + if(index ==-1) { + index = (int32_t)len; + } + + dom_html_collection* rows; + dom_html_table_section_element *t_head; + dom_html_table_section_element *t_foot; + uint32_t window_len = 0, section_len; + + dom_html_table_element_get_t_head(element, &t_head); + dom_html_table_section_element_get_rows(t_head, &rows); + dom_html_collection_get_length(rows, §ion_len); + + if(window_len + section_len > (uint32_t)index || + window_len + section_len == len) { + return dom_html_table_section_element_insert_row(t_head, + index-window_len, row); + } + + window_len += section_len; + + dom_node_internal *n = (dom_node_internal *)element; + + for (n = n->first_child; n != NULL; n = n->next) { + if((n->type == DOM_ELEMENT_NODE) && + dom_string_caseless_isequal(doc->memoised[hds_TBODY],n->name)) { + + dom_html_table_section_element_get_rows((dom_html_table_section_element *)n, &rows); + dom_html_collection_get_length(rows, §ion_len); + + if(window_len + section_len > (uint32_t)index || + window_len + section_len == len) { + return dom_html_table_section_element_insert_row( + (dom_html_table_section_element *)n, + index-window_len, row); + } + + window_len += section_len; + } + } + dom_html_table_element_get_t_foot(element, &t_foot); + dom_html_table_section_element_get_rows(t_foot, &rows); + dom_html_collection_get_length(rows, §ion_len); + if(window_len + section_len > (uint32_t)index || + window_len +section_len == len) { + return dom_html_table_section_element_insert_row(t_foot, + index-window_len, row); + } + return DOM_INDEX_SIZE_ERR; + } +} +/** + * Delete the table Head, if one exists + * + * \param element The dom_html_table_element object + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_element_delete_row( + dom_html_table_element *element, + int32_t index) +{ + dom_exception exp; + dom_html_collection* rows; + uint32_t len; + dom_html_document *doc = (dom_html_document *) + ((dom_node_internal *) element)->owner; + + exp = dom_html_table_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 >= (int32_t)len || index < -1 || len ==0) { + return DOM_INDEX_SIZE_ERR; + } else { + if(index ==-1) { + index = (int32_t)len-1; + } + dom_html_collection* rows; + dom_html_table_section_element *t_head; + dom_html_table_section_element *t_foot; + uint32_t window_len = 0, section_len; + dom_html_table_element_get_t_head(element, &t_head); + dom_html_table_section_element_get_rows(t_head, &rows); + dom_html_collection_get_length(rows, §ion_len); + if(window_len + section_len > (uint32_t)index) { + return dom_html_table_section_element_delete_row(t_head, + index-window_len); + } + window_len += section_len; + dom_node_internal *n = (dom_node_internal *)element; + for (n = n->first_child; n != NULL; n = n->next) { + if((n->type == DOM_ELEMENT_NODE) && + dom_string_caseless_isequal(doc->memoised[hds_TBODY],n->name)) { + dom_html_table_section_element_get_rows((dom_html_table_section_element *)n, &rows); + dom_html_collection_get_length(rows, §ion_len); + if(window_len + section_len > (uint32_t)index) { + return dom_html_table_section_element_delete_row( + (dom_html_table_section_element *)n, + index-window_len); + } + window_len += section_len; + } + } + exp = dom_html_table_element_get_t_foot(element, &t_foot); + dom_html_table_section_element_get_rows(t_foot, &rows); + dom_html_collection_get_length(rows, §ion_len); + if(window_len + section_len > (uint32_t)index) { + return dom_html_table_section_element_delete_row(t_foot, + index-window_len); + } + return DOM_INDEX_SIZE_ERR; + } + +} diff --git a/src/html/html_table_element.h b/src/html/html_table_element.h index 2e182d5..caabbe8 100644 --- a/src/html/html_table_element.h +++ b/src/html/html_table_element.h @@ -3,5 +3,61 @@ * 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_element_h_ +#define dom_internal_html_table_element_h_ + +#include +#include "html/html_element.h" + +struct dom_html_table_element { + struct dom_html_element base; + /**< The base class */ + dom_html_table_caption_element* caption; + /**< The caption associated with the table*/ + dom_html_table_section_element* t_head; + /**< The thead element associated with the table*/ + dom_html_table_section_element* t_foot; + /**< The tfoot element associated with the table*/ +}; + +/* Create a dom_html_table_element object */ +dom_exception _dom_html_table_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_element **ele); + +/* Initialise a dom_html_table_element object */ +dom_exception _dom_html_table_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_element *ele); + +/* Finalise a dom_html_table_element object */ +void _dom_html_table_element_finalise(struct dom_html_table_element *ele); + +/* Destroy a dom_html_table_element object */ +void _dom_html_table_element_destroy(struct dom_html_table_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_table_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_table_element_destroy(dom_node_internal *node); +dom_exception _dom_html_table_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_TABLE_ELEMENT_PROTECT_VTABLE \ + _dom_html_table_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_TABLE_ELEMENT \ + _dom_virtual_html_table_element_destroy, \ + _dom_html_table_element_copy + +#endif + +bool table_rows_callback(struct dom_node_internal *node, void *ctx); +bool table_t_bodies_callback(struct dom_node_internal *node, void *ctx); +dom_exception dom_html_table_element_create_t_body( + dom_html_table_element *element, + dom_html_table_section_element **t_body); diff --git a/src/html/html_tablecell_element.c b/src/html/html_tablecell_element.c index f8eaf01..cc596c1 100644 --- a/src/html/html_tablecell_element.c +++ b/src/html/html_tablecell_element.c @@ -191,6 +191,7 @@ dom_exception dom_html_table_cell_element_get_cell_index( } n = n->parent; } + dom_node_internal *root = n; while(n != NULL) { if(n == (dom_node_internal *)table_cell) { break; @@ -207,18 +208,16 @@ dom_exception dom_html_table_cell_element_get_cell_index( } else { /* No children and siblings */ struct dom_node_internal *parent = n->parent; - - while (parent !=NULL) { - if(n == parent->last_child) { - n = parent; - parent = parent->parent; - } else { - break; - } - + while (n == parent->last_child && + n != root) { + n = parent; + parent = parent->parent; } - if(parent == NULL) { + + if(n == root) { n = NULL; + } else { + n = n->next; } } } diff --git a/src/html/html_tablerow_element.c b/src/html/html_tablerow_element.c index 2e182d5..fb3e27b 100644 --- a/src/html/html_tablerow_element.c +++ b/src/html/html_tablerow_element.c @@ -3,5 +3,373 @@ * 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 + +#include "html/html_document.h" +#include "html/html_tablerow_element.h" +#include "html/html_collection.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_ROW_ELEMENT + }, + DOM_HTML_TABLE_ROW_ELEMENT_PROTECT_VTABLE +}; + +/** + * Create a dom_html_table_row_element table_row + * + * \param doc The document table_row + * \param ele The returned element table_row + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_row_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_row_element **ele) +{ + struct dom_node_internal *node; + + *ele = malloc(sizeof(dom_html_table_row_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_row_element_initialise(doc, namespace, prefix, *ele); +} + +/** + * Initialise a dom_html_table_row_element table_row + * + * \param doc The document table_row + * \param ele The dom_html_table_row_element table_row + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception _dom_html_table_row_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_row_element *ele) +{ + return _dom_html_element_initialise(doc, &ele->base, + doc->memoised[hds_TR], + namespace, prefix); +} + +/** + * Finalise a dom_html_table_row_element table_row + * + * \param ele The dom_html_table_row_element table_row + */ +void _dom_html_table_row_element_finalise(struct dom_html_table_row_element *ele) +{ + _dom_html_element_finalise(&ele->base); +} + +/** + * Destroy a dom_html_table_row_element table_row + * + * \param ele The dom_html_table_row_element table_row + */ +void _dom_html_table_row_element_destroy(struct dom_html_table_row_element *ele) +{ + _dom_html_table_row_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_row_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_row_element_destroy(dom_node_internal *node) +{ + _dom_html_table_row_element_destroy((struct dom_html_table_row_element *) node); +} + +/* The virtual copy function, see src/core/node.c for detail */ +dom_exception _dom_html_table_row_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_row_element_get_##attr( \ + dom_html_table_row_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_row_element_set_##attr( \ + dom_html_table_row_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(bg_color); +SIMPLE_GET_SET(ch); +SIMPLE_GET_SET(ch_off); +SIMPLE_GET_SET(v_align); + +/** + * Get the index of the Row in logical order + * + * \param element The dom_html_table_row_element object + * \param index The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_row_element_get_row_index( + dom_html_table_row_element *table_row, int32_t *row_index) +{ + dom_node_internal *n = ((dom_node_internal *)table_row)->parent; + dom_node_internal *parent = n; + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) table_row)->owner; + uint32_t count = 0; + for(n = n->first_child; n != (dom_node_internal *)table_row; + n = n->next) { + if(n->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(n->name,doc->memoised[hds_TR])) { + count += 1; + } + } + + if(dom_string_caseless_isequal((parent->parent)->name, doc->memoised[hds_TABLE]) && + dom_string_caseless_isequal(parent->name, doc->memoised[hds_THEAD]) + ) { + *row_index = count; + }else if(dom_string_caseless_isequal((parent->parent)->name, doc->memoised[hds_TABLE]) && + (dom_string_caseless_isequal(parent->name, doc->memoised[hds_TBODY]) || + dom_string_caseless_isequal(parent->name, doc->memoised[hds_TFOOT]))) { + uint32_t len; + n = parent->parent; + dom_html_table_section_element *t_head; + dom_html_collection *rows; + dom_html_table_element_get_t_head( + (dom_html_table_element *)(parent->parent), + &t_head); + dom_html_table_section_element_get_rows(t_head, + &rows); + dom_html_collection_get_length(rows, + &len); + count += len; + for(n = n->first_child;n != parent && n != NULL; + n = n->next) { + if(dom_string_caseless_isequal(n->name, doc->memoised[hds_TBODY])) { + dom_html_table_section_element_get_rows( + (dom_html_table_section_element *)n, + &rows); + dom_html_collection_get_length(rows, &len); + count += len; + } + } + *row_index = (int32_t)count; + + } else { + return DOM_HIERARCHY_REQUEST_ERR; + } + return DOM_NO_ERR; +} + +/** + * Get the index of a row within its Section + * + * \param element The dom_html_table_row_element object + * \param index The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_row_element_get_section_row_index( + dom_html_table_row_element *table_row, int32_t *section_row_index) +{ + dom_node_internal *n = ((dom_node_internal *)table_row)->parent; + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) table_row)->owner; + int32_t count = 0; + for(n = n->first_child; n != (dom_node_internal *)table_row; + n = n->next) { + if(n->type == DOM_ELEMENT_NODE && + dom_string_caseless_isequal(n->name, doc->memoised[hds_TR])) { + count += 1; + } + } + *section_row_index = count; + return DOM_NO_ERR; +} + +/** + * Callback for creating the Cells collection + * + * \param node The dom_node_internal object + * \param ctx The dom_html_document object (void *) + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +bool table_cells_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_TD])) { + return true; + } + return false; +} + +/** + * Get the Cells collection + * + * \param element The dom_html_table_element object + * \param t_bodies The Status + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_row_element_get_cells( + dom_html_table_row_element *element, + dom_html_collection **cells) +{ + dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) element)->owner; + return _dom_html_collection_create(doc, (dom_node_internal *)element, + table_cells_callback, (void *)doc, cells); +} + +/** + * Insert Cell before the given Index + * + * \param element The dom_html_table_row_element object + * \param index The Index of the Cell node to be inserted + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_row_element_insert_cell( + dom_html_table_row_element *element, + int32_t index, dom_html_element **cell) { + 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 *cells; /*< The collection of cells in input table_row_element*/ + uint32_t len; /*< The size of the cell collection */ + dom_exception exp; /*< Variable for getting the exceptions*/ + exp = _dom_html_element_create(doc, doc->memoised[hds_TD], + ((dom_node_internal *)element)->namespace, + ((dom_node_internal *)element)->prefix, + cell); + if(exp != DOM_NO_ERR) + return exp; + + exp = dom_html_table_row_element_get_cells(element, &cells); + if(exp != DOM_NO_ERR) + return exp; + + exp = dom_html_collection_get_length(cells, &len); + if(exp != DOM_NO_ERR) + return exp; + + if(index < -1 || index > (int32_t)len) { + /* Check for index validity */ + return DOM_INDEX_SIZE_ERR; + } else if(index == -1 || index == (int32_t)len) { + return _dom_node_append_child((dom_node_internal *)element, + (dom_node_internal *)*cell, + (dom_node_internal **)cell); + } else { + dom_html_collection_item(cells, + index, &node); + return _dom_node_insert_before((dom_node_internal *)element, + (dom_node_internal *)*cell, (dom_node_internal *)node, + (dom_node_internal **)cell); + } +} + +/** + * Delete Cell at given Index + * + * \param element The dom_html_table_row_element object + * \param index The Index of the Cell node to be deleted + * \return DOM_NO_ERR on success, appropriate dom_exception on failure. + */ +dom_exception dom_html_table_row_element_delete_cell( + dom_html_table_row_element *element, + int32_t index) { + dom_node *node; /*< The node at the (index)th position*/ + + dom_html_collection *cells; /*< The collection of rows in input table_row_element*/ + uint32_t len; /*< The size of the row collection */ + + dom_exception exp; /*< Temporary variable to store & check the exceptions*/ + + exp = dom_html_table_row_element_get_cells(element, &cells); + if(exp != DOM_NO_ERR) { + return exp; + } + + exp = dom_html_collection_get_length(cells, &len); + if(exp != DOM_NO_ERR) { + return exp; + } + + if(index < -1 || index >= (int32_t)len || len ==0) { + /* Check for index validity */ + return DOM_INDEX_SIZE_ERR; + } else if(index == -1) { + exp = dom_html_collection_item(cells, + len-1, &node); + } else { + exp = dom_html_collection_item(cells, + index, &node); + } + return _dom_node_remove_child((dom_node_internal *)element, + (dom_node_internal *)node, + (dom_node_internal **)&node); + +} + diff --git a/src/html/html_tablerow_element.h b/src/html/html_tablerow_element.h index 2e182d5..2401790 100644 --- a/src/html/html_tablerow_element.h +++ b/src/html/html_tablerow_element.h @@ -3,5 +3,51 @@ * 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_row_element_h_ +#define dom_internal_html_table_row_element_h_ + +#include +#include "html/html_element.h" + +struct dom_html_table_row_element { + struct dom_html_element base; + /**< The base class */ +}; + +/* Create a dom_html_table_row_element object */ +dom_exception _dom_html_table_row_element_create(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_row_element **ele); + +/* Initialise a dom_html_table_row_element object */ +dom_exception _dom_html_table_row_element_initialise(struct dom_html_document *doc, + dom_string *namespace, dom_string *prefix, + struct dom_html_table_row_element *ele); + +/* Finalise a dom_html_table_row_element object */ +void _dom_html_table_row_element_finalise(struct dom_html_table_row_element *ele); + +/* Destroy a dom_html_table_row_element object */ +void _dom_html_table_row_element_destroy(struct dom_html_table_row_element *ele); + +/* The protected virtual functions */ +dom_exception _dom_html_table_row_element_parse_attribute(dom_element *ele, + dom_string *name, dom_string *value, + dom_string **parsed); +void _dom_virtual_html_table_row_element_destroy(dom_node_internal *node); +dom_exception _dom_html_table_row_element_copy(dom_node_internal *old, + dom_node_internal **copy); + +#define DOM_HTML_TABLE_ROW_ELEMENT_PROTECT_VTABLE \ + _dom_html_table_row_element_parse_attribute + +#define DOM_NODE_PROTECT_VTABLE_HTML_TABLE_ROW_ELEMENT \ + _dom_virtual_html_table_row_element_destroy, \ + _dom_html_table_row_element_copy + +#endif +bool table_cells_callback(struct dom_node_internal *node, void *ctx); + diff --git a/src/html/html_tablesection_element.c b/src/html/html_tablesection_element.c index 7468d01..b35cfb4 100644 --- a/src/html/html_tablesection_element.c +++ b/src/html/html_tablesection_element.c @@ -12,6 +12,7 @@ #include "html/html_document.h" #include "html/html_tablesection_element.h" +#include "html/html_tablerow_element.h" #include "html/html_collection.h" #include "html/html_element.h" @@ -169,8 +170,7 @@ 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])) - { + ((dom_html_document *)ctx)->memoised[hds_TR])) { return true; } return false; @@ -179,7 +179,7 @@ bool table_section_callback(struct dom_node_internal *node, void *ctx) /** * Get the rows collection * - * \param element The dom_html_section_element object + * \param element The dom_html_table_section_element object * \param rows The Status * \return DOM_NO_ERR on success, appropriate dom_exception on failure. */ @@ -188,21 +188,20 @@ dom_exception dom_html_table_section_element_get_rows( 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, + return _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 element The dom_html_table_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) { + int32_t index, dom_html_element **new_row) { dom_html_document *doc = (dom_html_document *) ((dom_node_internal *) element)->owner; dom_node *node; /*< The node at the (index)th position*/ @@ -210,10 +209,10 @@ dom_exception dom_html_table_section_element_insert_row( 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], + exp = _dom_html_table_row_element_create(doc, ((dom_node_internal *)element)->namespace, ((dom_node_internal *)element)->prefix, - newRow); + (dom_html_table_row_element **)new_row); if(exp != DOM_NO_ERR) return exp; @@ -225,47 +224,26 @@ dom_exception dom_html_table_section_element_insert_row( if(exp != DOM_NO_ERR) return exp; - if(index < -1 || (uint32_t)index > len) { + if(index < -1 || index > (int32_t)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) { + } else if(index == -1 || index == (int32_t)len) { + return _dom_node_append_child((dom_node_internal *)element, + (dom_node_internal *)*new_row, + (dom_node_internal **)new_row); + } else { 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; - } + return _dom_node_insert_before((dom_node_internal *)element, + (dom_node_internal *)*new_row, (dom_node_internal *)node, + (dom_node_internal **)new_row); } - - /*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 element The dom_html_table_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. */ @@ -289,7 +267,7 @@ dom_exception dom_html_table_section_element_delete_row( return exp; } - if(index < -1 || (uint32_t)index >= len) { + if(index < -1 || index >= (int32_t)len) { /* Check for index validity */ return DOM_INDEX_SIZE_ERR; } else if(index == -1) { @@ -299,20 +277,9 @@ dom_exception dom_html_table_section_element_delete_row( 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); + exp = _dom_node_remove_child((dom_node_internal *)element, + (dom_node_internal *)node, + (dom_node_internal **)&node); return DOM_NO_ERR; } diff --git a/src/html/html_tablesection_element.h b/src/html/html_tablesection_element.h index fcab1cb..387882a 100644 --- a/src/html/html_tablesection_element.h +++ b/src/html/html_tablesection_element.h @@ -10,8 +10,8 @@ #define dom_internal_html_table_section_element_h_ #include -#include "html/html_element.h" +#include "html/html_element.h" struct dom_html_table_section_element { struct dom_html_element base; diff --git a/test/DOMTSHandler.pm b/test/DOMTSHandler.pm index 78d5e7e..8953047 100644 --- a/test/DOMTSHandler.pm +++ b/test/DOMTSHandler.pm @@ -44,6 +44,10 @@ our %special_type = ( CDATASection => "dom_cdata_section *", HTMLAnchorElement => "dom_html_anchor_element *", HTMLElement => "dom_html_element *", + HTMLTableCaptionElement => "dom_html_table_caption_element *", + HTMLTableSectionElement => "dom_html_table_section_element *", + HTMLTableElement => "dom_html_table_element *", + HTMLTableRowElement => "dom_html_table_row_element *", ); our %special_prefix = ( DOMString => "dom_string", @@ -57,6 +61,20 @@ our %special_prefix = ( HTMLHRElement => "dom_html_hr_element", HTMLBRElement => "dom_html_br_element", HTMLLIElement => "dom_html_li_element", + HTMLTableCaptionElement => "dom_html_table_caption_element", + HTMLTableSectionElement => "dom_html_table_section_element", + HTMLIsIndexElement => "dom_html_isindex_element", + caption => "dom_html_table_caption_element *", + section => "dom_html_table_section_element *", + createCaption => "dom_html_element *", + createTHead => "dom_html_element *", + createTFoot => "dom_html_element *", + deleteCaption => "dom_html_element *", + deleteTHead => "dom_html_element *", + deleteTFoot => "dom_html_element *", + insertRow => "dom_html_element *", + deleteRow => "dom_html_element *", + form => "dom_html_form_element *", ); our %unref_prefix = ( @@ -164,10 +182,14 @@ sub new { # The name of the current List/Collection list_name => "", # The number of items of the current List/Collection + list_last_name => [], + # The number of items of the current List/Collection list_num => 0, # Whether List/Collection has members list_hasmem => 0, # The type of the current List/Collection + member_list_declared => 0, + # The type of the current List/Collection list_type => "", # Whether we are in exception assertion exception => 0, @@ -389,6 +411,7 @@ int main(int argc, char **argv) perror("chdir (\\"$self->{chdir})\\""); return 1; } + int list_temp[100], count = -1; __EOF__ } @@ -442,7 +465,6 @@ sub generate_list { # Yes, we are in List/Collection declaration # Firstly, enclose the Array declaration print "};\n"; - # Now, we should create the list * for the List/Collection # Note, we should deal with "int" or "string" type with different params. if ($self->{"list_type"} eq "char *") { @@ -450,18 +472,37 @@ sub generate_list { } if ($self->{"list_type"} eq "int *") { print $self->{"list_name"}." = list_new(INT);\n"; + while(defined ($x = pop @{$self->{"list_last_name"}})) { + print $x." = list_new(INT);\n"; + } } + while(defined($x = pop(@{$self->{"list_last_name"}}))) { + print $x." = list_new(DOM_STRING);\n"; + } + $self->{"member_list_declared"} = 1; if ($self->{"list_type"} eq "") { die "A List/Collection has children member but no type is impossible!"; } - for (my $i = 0; $i < $self->{"list_num"}; $i++) { - # Use *(char **) to convert char *[] to char * - print "list_add(".$self->{"list_name"}.", *(char **)(".$self->{"list_name"}."Array + $i));\n"; + if ($self->{"list_type"} eq "int *") { + + for (my $i = 0; $i < $self->{"list_num"}; $i++) { + # Use *(char **) to convert char *[] to char * + print "list_add(".$self->{"list_name"}.", (int *)(".$self->{"list_name"}."Array) + $i);\n"; + } + } else { + for (my $i = 0; $i < $self->{"list_num"}; $i++) { + # Use *(char **) to convert char *[] to char * + print "list_add(".$self->{"list_name"}.", *(char **)(".$self->{"list_name"}."Array + $i));\n"; + } } } else { if ($self->{"list_name"} ne "") { #TODO: generally, we set the list type as dom_string, but it may be dom_node - print $self->{"list_name"}." = list_new(DOM_STRING);\n"; + if( $self->{"member_list_declared"} eq 1) { + print $self->{"list_name"}." = list_new(DOM_STRING);\n"; + } else { + push(@{$self->{"list_last_name"}}, $self->{"list_name"}); + } $self->{"list_type"} = "DOMString"; } } @@ -553,14 +594,19 @@ sub generate_framework_statement { if (exists $ats->{"obj"}) { $obj = $ats->{"obj"}; } else { - $obj = $ats->{"item"} + $obj = $ats->{"item"}; } - + if (not $self->{"var"}->{$col} =~ /^(List|Collection)/) { die "Append data to some non-list type!"; } - - print "list_add($col, $obj);\n"; + $type = $self->{"var"}->{$obj}; + if ($type eq "int") { + print "\nlist_temp[++count] =$obj;\n"; + print "list_add($col, &list_temp[count]);\n\n"; + } else { + print "list_add($col, $obj);\n"; + } } case [qw(plus subtract mult divide)] { @@ -681,6 +727,8 @@ sub generate_method { $method = to_cmethod($ats{'interface'}, $en); my $cast = to_attribute_cast($ats{'interface'}); + my $get_attribute = $node->getAttribute("name"); + my $cast_get_attribute = to_get_attribute_cast($get_attribute); my $ns = $dd->find("parameters/param", $node); my $params = "${cast}$ats{'obj'}"; for ($count = 1; $count <= $ns->size; $count++) { @@ -746,7 +794,7 @@ sub generate_method { # Indicate that we have created a temp node $temp_node = 1; } else { - $params = $params.", (void *) \&$ats{'var'}"; + $params = $params.", $cast_get_attribute\&$ats{'var'}"; $unref = $self->param_unref($ats{'var'}); } } @@ -808,6 +856,8 @@ sub generate_attribute_fetcher { my $fetcher = to_attribute_fetcher($ats{'interface'}, "$en"); my $cast = to_attribute_cast($ats{'interface'}); + my $get_attribute = $node->getAttribute("name"); + my $cast_get_attribute = to_get_attribute_cast($get_attribute); my $unref = 0; my $temp_node = 0; # Deal with the situation like @@ -833,7 +883,7 @@ sub generate_attribute_fetcher { $temp_node = 1; } else { $unref = $self->param_unref($ats{'var'}); - print "\texp = $fetcher(${cast}$ats{'obj'}, \&$ats{'var'});\n"; + print "\texp = $fetcher(${cast}$ats{'obj'}, ${cast_get_attribute}\&$ats{'var'});\n"; } @@ -1424,7 +1474,26 @@ sub get_prefix { } return $prefix; } +sub to_get_attribute_cast { + my $type = shift; + my $ret = get_get_attribute_prefix($type); + if($ret eq "") { + return $ret; + } + $ret =~ s/h_t_m_l/html/; + return "(${ret} *)"; +} +sub get_get_attribute_prefix { + my $type = shift; + + if (exists $special_prefix{$type}) { + $prefix = $special_prefix{$type}; + } else { + $prefix = ""; + } + return $prefix; +} # This function remain unsed sub get_suffix { my $type = shift; diff --git a/test/testcases/tests/level1/html/HTMLCollection01.xml.notimpl b/test/testcases/tests/level1/html/HTMLCollection01.xml.notimpl deleted file mode 100644 index fd2cfe4..0000000 --- a/test/testcases/tests/level1/html/HTMLCollection01.xml.notimpl +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -HTMLCollection01 -NIST - - An individual node may be accessed by either ordinal index, the node's - name or id attributes. (Test ordinal index). - - Retrieve the first TABLE element and create a HTMLCollection by invoking - the "rows" attribute. The item located at ordinal index 0 is further - retrieved and its "rowIndex" attribute is examined. - -Rick Rivello -2002-05-01 - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLCollection02.xml.kfail b/test/testcases/tests/level1/html/HTMLCollection02.xml.kfail deleted file mode 100644 index 521d5ae..0000000 --- a/test/testcases/tests/level1/html/HTMLCollection02.xml.kfail +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -HTMLCollection02 -NIST - - An individual node may be accessed by either ordinal index, the node's - name or id attributes. (Test node name). - - Retrieve the first FORM element and create a HTMLCollection by invoking - the elements attribute. The first SELECT element is further retrieved - using the elements name attribute. - -Rick Rivello -2002-05-01 - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLCollection03.xml.kfail b/test/testcases/tests/level1/html/HTMLCollection03.xml.kfail deleted file mode 100644 index 36d489e..0000000 --- a/test/testcases/tests/level1/html/HTMLCollection03.xml.kfail +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -HTMLCollection03 -NIST - - An individual node may be accessed by either ordinal index, the node's - name or id attributes. (Test id attribute). - - Retrieve the first FORM element and create a HTMLCollection by invoking - the "element" attribute. The first SELECT element is further retrieved - using the elements id. - -Rick Rivello -2002-05-01 - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLCollection04.xml.kfail b/test/testcases/tests/level1/html/HTMLCollection04.xml.kfail new file mode 100644 index 0000000..5d78405 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLCollection04.xml.kfail @@ -0,0 +1,59 @@ + + + + + + + +HTMLCollection04 +NIST + + HTMLCollections are live, they are automatically updated when the + underlying document is changed. + + Create a HTMLCollection object by invoking the rows attribute of the + first TABLE element and examine its length, then add a new row and + re-examine the length. + +Rick Rivello +2002-05-01 + + + + + + + + + + + + +4 +5 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLCollection05.xml.kfail b/test/testcases/tests/level1/html/HTMLCollection05.xml.kfail new file mode 100644 index 0000000..ffb7d13 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLCollection05.xml.kfail @@ -0,0 +1,46 @@ + + + + + + + +HTMLCollection05 +NIST + + The length attribute specifies the length or size of the list. + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. Retrieve the length attribute of the HTMLCollection + object. + +Rick Rivello +2002-05-01 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLCollection09.xml.kfail b/test/testcases/tests/level1/html/HTMLCollection09.xml.kfail new file mode 100644 index 0000000..f81e7af --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLCollection09.xml.kfail @@ -0,0 +1,47 @@ + + + + + + + +HTMLCollection09 +NIST + + The item(index) method returns null if the index is out of range. + + Retrieve the first TABLE element and create a HTMLCollection by invoking + the "rows" attribute. Invoke the item(index) method with an index + of 5. This index is out of range and should return null. + +Rick Rivello +2002-05-01 + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLCollection12.xml.kfail b/test/testcases/tests/level1/html/HTMLCollection12.xml.kfail new file mode 100644 index 0000000..d7feb3d --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLCollection12.xml.kfail @@ -0,0 +1,50 @@ + + + + + + + +HTMLCollection12 +NIST + + The namedItem(name) method retrieves a node using a name. It first + searches for a node with a matching id attribute. If it doesn't find + one, it then searches for a Node with a matching name attribute, but only + on those elements that are allowed a name attribute. If there isn't + a matching node the method returns null. + + Retrieve the first FORM element and create a HTMLCollection by invoking + the elements attribute. The method returns null since there is not a + match of the name or id attribute. + +Rick Rivello +2002-05-01 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement01.xml b/test/testcases/tests/level1/html/HTMLTableElement01.xml new file mode 100644 index 0000000..7135fd7 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement01.xml @@ -0,0 +1,45 @@ + + + + + + + +HTMLTableElement01 +NIST + + The caption attribute returns the tables CAPTION. + + Retrieve the align attribute of the CAPTION element from the second + TABLE element and examine its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement01.xml.kfail deleted file mode 100644 index 7135fd7..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement01.xml.kfail +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - -HTMLTableElement01 -NIST - - The caption attribute returns the tables CAPTION. - - Retrieve the align attribute of the CAPTION element from the second - TABLE element and examine its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement02.xml b/test/testcases/tests/level1/html/HTMLTableElement02.xml new file mode 100644 index 0000000..fb9fa8f --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement02.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableElement02 +NIST + + The caption attribute returns the tables CAPTION or void if it does not + exist. + + Retrieve the CAPTION element from within the first TABLE element. + Since one does not exist it should be void. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement02.xml.kfail deleted file mode 100644 index fb9fa8f..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement02.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableElement02 -NIST - - The caption attribute returns the tables CAPTION or void if it does not - exist. - - Retrieve the CAPTION element from within the first TABLE element. - Since one does not exist it should be void. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement03.xml b/test/testcases/tests/level1/html/HTMLTableElement03.xml new file mode 100644 index 0000000..0b59fe6 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement03.xml @@ -0,0 +1,45 @@ + + + + + + + +HTMLTableElement03 +NIST + + The tHead attribute returns the tables THEAD. + + Retrieve the align attribute of the THEAD element from the second + TABLE element and examine its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement03.xml.kfail deleted file mode 100644 index 0b59fe6..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement03.xml.kfail +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - -HTMLTableElement03 -NIST - - The tHead attribute returns the tables THEAD. - - Retrieve the align attribute of the THEAD element from the second - TABLE element and examine its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement04.xml b/test/testcases/tests/level1/html/HTMLTableElement04.xml new file mode 100644 index 0000000..1e254b3 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement04.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableElement04 +NIST + + The tHead attribute returns the tables THEAD or null if it does not + exist. + + Retrieve the THEAD element from within the first TABLE element. + Since one does not exist it should be null. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement04.xml.kfail deleted file mode 100644 index 1e254b3..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement04.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableElement04 -NIST - - The tHead attribute returns the tables THEAD or null if it does not - exist. - - Retrieve the THEAD element from within the first TABLE element. - Since one does not exist it should be null. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement05.xml b/test/testcases/tests/level1/html/HTMLTableElement05.xml new file mode 100644 index 0000000..15de11c --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement05.xml @@ -0,0 +1,45 @@ + + + + + + + +HTMLTableElement05 +NIST + + The tFoot attribute returns the tables TFOOT. + + Retrieve the align attribute of the TFOOT element from the second + TABLE element and examine its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement05.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement05.xml.kfail deleted file mode 100644 index 15de11c..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement05.xml.kfail +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - -HTMLTableElement05 -NIST - - The tFoot attribute returns the tables TFOOT. - - Retrieve the align attribute of the TFOOT element from the second - TABLE element and examine its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement06.xml b/test/testcases/tests/level1/html/HTMLTableElement06.xml new file mode 100644 index 0000000..e18b8f8 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement06.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableElement06 +NIST + + The tFoot attribute returns the tables TFOOT or null if it does not + exist. + + Retrieve the TFOOT element from within the first TABLE element. + Since one does not exist it should be null. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement06.xml.kfail deleted file mode 100644 index e18b8f8..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement06.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableElement06 -NIST - - The tFoot attribute returns the tables TFOOT or null if it does not - exist. - - Retrieve the TFOOT element from within the first TABLE element. - Since one does not exist it should be null. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement07.xml b/test/testcases/tests/level1/html/HTMLTableElement07.xml new file mode 100644 index 0000000..44be1c3 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement07.xml @@ -0,0 +1,57 @@ + + + + + + + +HTMLTableElement07 +NIST + + The rows attribute returns a collection of all the rows in the table, + including al in THEAD, TFOOT, all TBODY elements. + + Retrieve the rows attribute from the second TABLE element and + examine the items of the returned collection. + +Mary Brady +2002-02-22 + + + + + + + + + + +"tr" +"tr" +"tr" +"tr" + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement07.xml.kfail deleted file mode 100644 index 44be1c3..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement07.xml.kfail +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - -HTMLTableElement07 -NIST - - The rows attribute returns a collection of all the rows in the table, - including al in THEAD, TFOOT, all TBODY elements. - - Retrieve the rows attribute from the second TABLE element and - examine the items of the returned collection. - -Mary Brady -2002-02-22 - - - - - - - - - - -"tr" -"tr" -"tr" -"tr" - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement08.xml b/test/testcases/tests/level1/html/HTMLTableElement08.xml new file mode 100644 index 0000000..1a744b1 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement08.xml @@ -0,0 +1,54 @@ + + + + + + + +HTMLTableElement08 +NIST + + The tBodies attribute returns a collection of all the defined + table bodies. + + Retrieve the tBodies attribute from the second TABLE element and + examine the items of the returned collection. + +Mary Brady +2002-02-22 + + + + + + + + + + +"tbody" + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement08.xml.kfail deleted file mode 100644 index 1a744b1..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement08.xml.kfail +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - -HTMLTableElement08 -NIST - - The tBodies attribute returns a collection of all the defined - table bodies. - - Retrieve the tBodies attribute from the second TABLE element and - examine the items of the returned collection. - -Mary Brady -2002-02-22 - - - - - - - - - - -"tbody" - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement09.xml b/test/testcases/tests/level1/html/HTMLTableElement09.xml new file mode 100644 index 0000000..a0aecf3 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement09.xml @@ -0,0 +1,57 @@ + + + + + + + +HTMLTableElement09 +NIST + + The tBodies attribute returns a collection of all the defined + table bodies. + + Retrieve the tBodies attribute from the third TABLE element and + examine the items of the returned collection. Tests multiple TBODY + elements. + +Mary Brady +2002-02-22 + + + + + + + + + + +"tbody" +"tbody" +"tbody" + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement09.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement09.xml.kfail deleted file mode 100644 index a0aecf3..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement09.xml.kfail +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - -HTMLTableElement09 -NIST - - The tBodies attribute returns a collection of all the defined - table bodies. - - Retrieve the tBodies attribute from the third TABLE element and - examine the items of the returned collection. Tests multiple TBODY - elements. - -Mary Brady -2002-02-22 - - - - - - - - - - -"tbody" -"tbody" -"tbody" - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement10.xml b/test/testcases/tests/level1/html/HTMLTableElement10.xml new file mode 100644 index 0000000..160afeb --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement10.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableElement10 +NIST + + The align attribute specifies the table's position with respect to the + rest of the document. + + Retrieve the align attribute of the first TABLE element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement10.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement10.xml.kfail deleted file mode 100644 index 160afeb..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement10.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableElement10 -NIST - - The align attribute specifies the table's position with respect to the - rest of the document. - - Retrieve the align attribute of the first TABLE element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement11.xml b/test/testcases/tests/level1/html/HTMLTableElement11.xml new file mode 100644 index 0000000..785c4d0 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement11.xml @@ -0,0 +1,43 @@ + + + + + + + +HTMLTableElement11 +NIST + + The bgColor attribute specifies cell background color. + + Retrieve the bgColor attribute of the first TABLE element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement11.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement11.xml.kfail deleted file mode 100644 index 785c4d0..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement11.xml.kfail +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -HTMLTableElement11 -NIST - - The bgColor attribute specifies cell background color. - - Retrieve the bgColor attribute of the first TABLE element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement12.xml b/test/testcases/tests/level1/html/HTMLTableElement12.xml new file mode 100644 index 0000000..811a147 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement12.xml @@ -0,0 +1,43 @@ + + + + + + + +HTMLTableElement12 +NIST + + The border attribute specifies the width of the border around the table. + + Retrieve the border attribute of the first TABLE element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement12.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement12.xml.kfail deleted file mode 100644 index 811a147..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement12.xml.kfail +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -HTMLTableElement12 -NIST - - The border attribute specifies the width of the border around the table. - - Retrieve the border attribute of the first TABLE element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement13.xml b/test/testcases/tests/level1/html/HTMLTableElement13.xml new file mode 100644 index 0000000..4a18d8d --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement13.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableElement13 +NIST + + The cellpadding attribute specifies the horizontal and vertical space + between cell content and cell borders. + + Retrieve the cellpadding attribute of the first TABLE element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement13.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement13.xml.kfail deleted file mode 100644 index 4a18d8d..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement13.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableElement13 -NIST - - The cellpadding attribute specifies the horizontal and vertical space - between cell content and cell borders. - - Retrieve the cellpadding attribute of the first TABLE element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement14.xml b/test/testcases/tests/level1/html/HTMLTableElement14.xml new file mode 100644 index 0000000..478e9c9 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement14.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableElement14 +NIST + + The cellSpacing attribute specifies the horizontal and vertical separation + between cells. + + Retrieve the cellSpacing attribute of the first TABLE element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement14.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement14.xml.kfail deleted file mode 100644 index 478e9c9..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement14.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableElement14 -NIST - - The cellSpacing attribute specifies the horizontal and vertical separation - between cells. - - Retrieve the cellSpacing attribute of the first TABLE element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement15.xml b/test/testcases/tests/level1/html/HTMLTableElement15.xml new file mode 100644 index 0000000..51f9763 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement15.xml @@ -0,0 +1,43 @@ + + + + + + + +HTMLTableElement15 +NIST + + The frame attribute specifies which external table borders to render. + + Retrieve the frame attribute of the first TABLE element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement15.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement15.xml.kfail deleted file mode 100644 index 51f9763..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement15.xml.kfail +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -HTMLTableElement15 -NIST - - The frame attribute specifies which external table borders to render. - - Retrieve the frame attribute of the first TABLE element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement16.xml b/test/testcases/tests/level1/html/HTMLTableElement16.xml new file mode 100644 index 0000000..7166437 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement16.xml @@ -0,0 +1,43 @@ + + + + + + + +HTMLTableElement16 +NIST + + The rules attribute specifies which internal table borders to render. + + Retrieve the rules attribute of the first TABLE element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement16.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement16.xml.kfail deleted file mode 100644 index 7166437..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement16.xml.kfail +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -HTMLTableElement16 -NIST - - The rules attribute specifies which internal table borders to render. - - Retrieve the rules attribute of the first TABLE element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement17.xml b/test/testcases/tests/level1/html/HTMLTableElement17.xml new file mode 100644 index 0000000..9337c09 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement17.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableElement17 +NIST + + The summary attribute is a description about the purpose or structure + of a table. + + Retrieve the summary attribute of the first TABLE element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement17.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement17.xml.kfail deleted file mode 100644 index 9337c09..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement17.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableElement17 -NIST - - The summary attribute is a description about the purpose or structure - of a table. - - Retrieve the summary attribute of the first TABLE element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement18.xml b/test/testcases/tests/level1/html/HTMLTableElement18.xml new file mode 100644 index 0000000..210e2b1 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement18.xml @@ -0,0 +1,43 @@ + + + + + + + +HTMLTableElement18 +NIST + + The width attribute specifies the desired table width. + + Retrieve the width attribute of the first TABLE element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement18.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement18.xml.kfail deleted file mode 100644 index 210e2b1..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement18.xml.kfail +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -HTMLTableElement18 -NIST - - The width attribute specifies the desired table width. - - Retrieve the width attribute of the first TABLE element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement19.xml b/test/testcases/tests/level1/html/HTMLTableElement19.xml new file mode 100644 index 0000000..152174d --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement19.xml @@ -0,0 +1,51 @@ + + + + + + + +HTMLTableElement19 +NIST + + The createTHead() method creates a table header row or returns + an existing one. + + Create a new THEAD element on the first TABLE element. The first + TABLE element should return null to make sure one doesn't exist. + After creation of the THEAD element the value is once again + checked and should not be null. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement19.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement19.xml.kfail deleted file mode 100644 index 152174d..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement19.xml.kfail +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - -HTMLTableElement19 -NIST - - The createTHead() method creates a table header row or returns - an existing one. - - Create a new THEAD element on the first TABLE element. The first - TABLE element should return null to make sure one doesn't exist. - After creation of the THEAD element the value is once again - checked and should not be null. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement20.xml b/test/testcases/tests/level1/html/HTMLTableElement20.xml new file mode 100644 index 0000000..032725b --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement20.xml @@ -0,0 +1,50 @@ + + + + + + + +HTMLTableElement20 +NIST + + The createTHead() method creates a table header row or returns + an existing one. + + Try to create a new THEAD element on the second TABLE element. + Since a THEAD element already exists in the TABLE element a new + THEAD element is not created and information from the already + existing THEAD element is returned. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement20.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement20.xml.kfail deleted file mode 100644 index 032725b..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement20.xml.kfail +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - -HTMLTableElement20 -NIST - - The createTHead() method creates a table header row or returns - an existing one. - - Try to create a new THEAD element on the second TABLE element. - Since a THEAD element already exists in the TABLE element a new - THEAD element is not created and information from the already - existing THEAD element is returned. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement21.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement21.xml.kfail index 3903b69..b50a007 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement21.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement21.xml.kfail @@ -35,8 +35,8 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. - - + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement22.xml b/test/testcases/tests/level1/html/HTMLTableElement22.xml new file mode 100644 index 0000000..6649b0f --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement22.xml @@ -0,0 +1,51 @@ + + + + + + + +HTMLTableElement22 +NIST + + The createTFoot() method creates a table footer row or returns + an existing one. + + Create a new TFOOT element on the first TABLE element. The first + TABLE element should return null to make sure one doesn't exist. + After creation of the TFOOT element the value is once again + checked and should not be null. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement22.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement22.xml.kfail deleted file mode 100644 index 6649b0f..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement22.xml.kfail +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - -HTMLTableElement22 -NIST - - The createTFoot() method creates a table footer row or returns - an existing one. - - Create a new TFOOT element on the first TABLE element. The first - TABLE element should return null to make sure one doesn't exist. - After creation of the TFOOT element the value is once again - checked and should not be null. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement23.xml b/test/testcases/tests/level1/html/HTMLTableElement23.xml new file mode 100644 index 0000000..1f53f03 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement23.xml @@ -0,0 +1,50 @@ + + + + + + + +HTMLTableElement23 +NIST + + The createTFoot() method creates a table footer row or returns + an existing one. + + Try to create a new TFOOT element on the second TABLE element. + Since a TFOOT element already exists in the TABLE element a new + TFOOT element is not created and information from the already + existing TFOOT element is returned. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement23.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement23.xml.kfail deleted file mode 100644 index 1f53f03..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement23.xml.kfail +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - -HTMLTableElement23 -NIST - - The createTFoot() method creates a table footer row or returns - an existing one. - - Try to create a new TFOOT element on the second TABLE element. - Since a TFOOT element already exists in the TABLE element a new - TFOOT element is not created and information from the already - existing TFOOT element is returned. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement24.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement24.xml.kfail index d6f993c..58af66e 100644 --- a/test/testcases/tests/level1/html/HTMLTableElement24.xml.kfail +++ b/test/testcases/tests/level1/html/HTMLTableElement24.xml.kfail @@ -35,8 +35,8 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. - - + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement25.xml b/test/testcases/tests/level1/html/HTMLTableElement25.xml new file mode 100644 index 0000000..a28ae65 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement25.xml @@ -0,0 +1,49 @@ + + + + + + + +HTMLTableElement25 +NIST + + The createCaption() method creates a new table caption object or returns + an existing one. + + Create a new CAPTION element on the first TABLE element. Since + one does not currently exist the CAPTION element is created. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement25.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement25.xml.kfail deleted file mode 100644 index a28ae65..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement25.xml.kfail +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -HTMLTableElement25 -NIST - - The createCaption() method creates a new table caption object or returns - an existing one. - - Create a new CAPTION element on the first TABLE element. Since - one does not currently exist the CAPTION element is created. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement26.xml b/test/testcases/tests/level1/html/HTMLTableElement26.xml new file mode 100644 index 0000000..5517f2f --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement26.xml @@ -0,0 +1,52 @@ + + + + + + + +HTMLTableElement26 +NIST + + The createCaption() method creates a new table caption object or returns + an existing one. + + Create a new CAPTION element on the first TABLE element. Since + one currently exists the CAPTION element is not created and you + can get the align attribute from the CAPTION element that exists. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement26.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement26.xml.kfail deleted file mode 100644 index 5517f2f..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement26.xml.kfail +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - -HTMLTableElement26 -NIST - - The createCaption() method creates a new table caption object or returns - an existing one. - - Create a new CAPTION element on the first TABLE element. Since - one currently exists the CAPTION element is not created and you - can get the align attribute from the CAPTION element that exists. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableElement27.xml b/test/testcases/tests/level1/html/HTMLTableElement27.xml new file mode 100644 index 0000000..c387d69 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableElement27.xml @@ -0,0 +1,47 @@ + + + + + + + +HTMLTableElement27 +NIST + + The deleteCaption() method deletes the table caption. + + Delete the CAPTION element on the second TABLE element. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableElement27.xml.kfail b/test/testcases/tests/level1/html/HTMLTableElement27.xml.kfail deleted file mode 100644 index c387d69..0000000 --- a/test/testcases/tests/level1/html/HTMLTableElement27.xml.kfail +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - -HTMLTableElement27 -NIST - - The deleteCaption() method deletes the table caption. - - Delete the CAPTION element on the second TABLE element. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement01.xml b/test/testcases/tests/level1/html/HTMLTableRowElement01.xml new file mode 100644 index 0000000..0dbd008 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableRowElement01.xml @@ -0,0 +1,46 @@ + + + + + + + +HTMLTableRowElement01 +NIST + + The rowIndex attribute specifies the index of the row, relative to the + entire table, starting from 0. This is in document tree order and + not display order. The rowIndex does not take into account sections + (THEAD, TFOOT, or TBODY) within the table. + + Retrieve the third TR element within the document and examine + its rowIndex value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement01.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement01.xml.kfail deleted file mode 100644 index 0dbd008..0000000 --- a/test/testcases/tests/level1/html/HTMLTableRowElement01.xml.kfail +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - -HTMLTableRowElement01 -NIST - - The rowIndex attribute specifies the index of the row, relative to the - entire table, starting from 0. This is in document tree order and - not display order. The rowIndex does not take into account sections - (THEAD, TFOOT, or TBODY) within the table. - - Retrieve the third TR element within the document and examine - its rowIndex value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement02.xml b/test/testcases/tests/level1/html/HTMLTableRowElement02.xml new file mode 100644 index 0000000..284bc84 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableRowElement02.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableRowElement02 +NIST + + The sectionRowIndex attribute specifies the index of this row, relative + to the current section(THEAD, TFOOT, or TBODY),starting from 0. + + Retrieve the second TR(1st In THEAD) element within the document and + examine its sectionRowIndex value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement02.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement02.xml.kfail deleted file mode 100644 index 284bc84..0000000 --- a/test/testcases/tests/level1/html/HTMLTableRowElement02.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableRowElement02 -NIST - - The sectionRowIndex attribute specifies the index of this row, relative - to the current section(THEAD, TFOOT, or TBODY),starting from 0. - - Retrieve the second TR(1st In THEAD) element within the document and - examine its sectionRowIndex value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement03.xml b/test/testcases/tests/level1/html/HTMLTableRowElement03.xml new file mode 100644 index 0000000..341c2a5 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableRowElement03.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableRowElement03 +NIST + + The sectionRowIndex attribute specifies the index of this row, relative + to the current section(THEAD, TFOOT, or TBODY),starting from 0. + + Retrieve the third TR(1st In TFOOT) element within the document and + examine its sectionRowIndex value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement03.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement03.xml.kfail deleted file mode 100644 index 341c2a5..0000000 --- a/test/testcases/tests/level1/html/HTMLTableRowElement03.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableRowElement03 -NIST - - The sectionRowIndex attribute specifies the index of this row, relative - to the current section(THEAD, TFOOT, or TBODY),starting from 0. - - Retrieve the third TR(1st In TFOOT) element within the document and - examine its sectionRowIndex value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement04.xml b/test/testcases/tests/level1/html/HTMLTableRowElement04.xml new file mode 100644 index 0000000..bca05d4 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableRowElement04.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableRowElement04 +NIST + + The sectionRowIndex attribute specifies the index of this row, relative + to the current section(THEAD, TFOOT, or TBODY),starting from 0. + + Retrieve the fifth TR(2nd In TBODY) element within the document and + examine its sectionRowIndex value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement04.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement04.xml.kfail deleted file mode 100644 index bca05d4..0000000 --- a/test/testcases/tests/level1/html/HTMLTableRowElement04.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableRowElement04 -NIST - - The sectionRowIndex attribute specifies the index of this row, relative - to the current section(THEAD, TFOOT, or TBODY),starting from 0. - - Retrieve the fifth TR(2nd In TBODY) element within the document and - examine its sectionRowIndex value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement06.xml b/test/testcases/tests/level1/html/HTMLTableRowElement06.xml new file mode 100644 index 0000000..55fc2ac --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableRowElement06.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableRowElement06 +NIST + + The align attribute specifies the horizontal alignment of data within + cells of this row. + + Retrieve the align attribute of the second TR element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement06.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement06.xml.kfail deleted file mode 100644 index 55fc2ac..0000000 --- a/test/testcases/tests/level1/html/HTMLTableRowElement06.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableRowElement06 -NIST - - The align attribute specifies the horizontal alignment of data within - cells of this row. - - Retrieve the align attribute of the second TR element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement07.xml b/test/testcases/tests/level1/html/HTMLTableRowElement07.xml new file mode 100644 index 0000000..c586f6a --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableRowElement07.xml @@ -0,0 +1,43 @@ + + + + + + + +HTMLTableRowElement07 +NIST + + The bgColor attribute specifies the background color of rows. + + Retrieve the bgColor attribute of the second TR element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement07.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement07.xml.kfail deleted file mode 100644 index c586f6a..0000000 --- a/test/testcases/tests/level1/html/HTMLTableRowElement07.xml.kfail +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -HTMLTableRowElement07 -NIST - - The bgColor attribute specifies the background color of rows. - - Retrieve the bgColor attribute of the second TR element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement08.xml b/test/testcases/tests/level1/html/HTMLTableRowElement08.xml new file mode 100644 index 0000000..751ef9e --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableRowElement08.xml @@ -0,0 +1,43 @@ + + + + + + + +HTMLTableRowElement08 +NIST + + The ch attribute specifies the alignment character for cells in a column. + + Retrieve the char attribute of the second TR element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement08.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement08.xml.kfail deleted file mode 100644 index 751ef9e..0000000 --- a/test/testcases/tests/level1/html/HTMLTableRowElement08.xml.kfail +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -HTMLTableRowElement08 -NIST - - The ch attribute specifies the alignment character for cells in a column. - - Retrieve the char attribute of the second TR element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement09.xml b/test/testcases/tests/level1/html/HTMLTableRowElement09.xml new file mode 100644 index 0000000..eda033b --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableRowElement09.xml @@ -0,0 +1,43 @@ + + + + + + + +HTMLTableRowElement09 +NIST + + The chOff attribute specifies the offset of alignment character. + + Retrieve the charoff attribute of the second TR element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement09.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement09.xml.kfail deleted file mode 100644 index eda033b..0000000 --- a/test/testcases/tests/level1/html/HTMLTableRowElement09.xml.kfail +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - -HTMLTableRowElement09 -NIST - - The chOff attribute specifies the offset of alignment character. - - Retrieve the charoff attribute of the second TR element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement10.xml b/test/testcases/tests/level1/html/HTMLTableRowElement10.xml new file mode 100644 index 0000000..3554fb6 --- /dev/null +++ b/test/testcases/tests/level1/html/HTMLTableRowElement10.xml @@ -0,0 +1,44 @@ + + + + + + + +HTMLTableRowElement10 +NIST + + The vAlign attribute specifies the vertical alignment of data within + cells of this row. + + Retrieve the vAlign attribute of the second TR element and examine + its value. + +Mary Brady +2002-02-22 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/HTMLTableRowElement10.xml.kfail b/test/testcases/tests/level1/html/HTMLTableRowElement10.xml.kfail deleted file mode 100644 index 3554fb6..0000000 --- a/test/testcases/tests/level1/html/HTMLTableRowElement10.xml.kfail +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - -HTMLTableRowElement10 -NIST - - The vAlign attribute specifies the vertical alignment of data within - cells of this row. - - Retrieve the vAlign attribute of the second TR element and examine - its value. - -Mary Brady -2002-02-22 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/anchor01.xml b/test/testcases/tests/level1/html/anchor01.xml new file mode 100644 index 0000000..19a2711 --- /dev/null +++ b/test/testcases/tests/level1/html/anchor01.xml @@ -0,0 +1,40 @@ + + + + + + +anchor01 +Netscape + +A single character access key to give access to the form control. +The value of attribute accessKey of the anchor element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-02 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/anchor01.xml.notimpl b/test/testcases/tests/level1/html/anchor01.xml.notimpl deleted file mode 100644 index 19a2711..0000000 --- a/test/testcases/tests/level1/html/anchor01.xml.notimpl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -anchor01 -Netscape - -A single character access key to give access to the form control. -The value of attribute accessKey of the anchor element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-02 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/anchor02.xml b/test/testcases/tests/level1/html/anchor02.xml new file mode 100644 index 0000000..61486a7 --- /dev/null +++ b/test/testcases/tests/level1/html/anchor02.xml @@ -0,0 +1,40 @@ + + + + + + +anchor02 +Netscape + +The character encoding of the linked resource. +The value of attribute charset of the anchor element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-02 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/anchor02.xml.notimpl b/test/testcases/tests/level1/html/anchor02.xml.notimpl deleted file mode 100644 index 61486a7..0000000 --- a/test/testcases/tests/level1/html/anchor02.xml.notimpl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -anchor02 -Netscape - -The character encoding of the linked resource. -The value of attribute charset of the anchor element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-02 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/anchor03.xml b/test/testcases/tests/level1/html/anchor03.xml new file mode 100644 index 0000000..e6bd32e --- /dev/null +++ b/test/testcases/tests/level1/html/anchor03.xml @@ -0,0 +1,40 @@ + + + + + + +anchor03 +Netscape + +Comma-separated list of lengths, defining an active region geometry. +The value of attribute coords of the anchor element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-02 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/anchor03.xml.notimpl b/test/testcases/tests/level1/html/anchor03.xml.notimpl deleted file mode 100644 index e6bd32e..0000000 --- a/test/testcases/tests/level1/html/anchor03.xml.notimpl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -anchor03 -Netscape - -Comma-separated list of lengths, defining an active region geometry. -The value of attribute coords of the anchor element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-02 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/anchor04.xml.kfail b/test/testcases/tests/level1/html/anchor04.xml.kfail new file mode 100644 index 0000000..b5ce201 --- /dev/null +++ b/test/testcases/tests/level1/html/anchor04.xml.kfail @@ -0,0 +1,40 @@ + + + + + + +anchor04 +Netscape + +The URI of the linked resource. +The value of attribute href of the anchor element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-02 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/anchor04.xml.notimpl b/test/testcases/tests/level1/html/anchor04.xml.notimpl deleted file mode 100644 index b5ce201..0000000 --- a/test/testcases/tests/level1/html/anchor04.xml.notimpl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -anchor04 -Netscape - -The URI of the linked resource. -The value of attribute href of the anchor element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-02 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/anchor05.xml b/test/testcases/tests/level1/html/anchor05.xml new file mode 100644 index 0000000..27b34ac --- /dev/null +++ b/test/testcases/tests/level1/html/anchor05.xml @@ -0,0 +1,40 @@ + + + + + + +anchor05 +Netscape + +Advisory content type. +The value of attribute type of the anchor element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-02 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/anchor05.xml.notimpl b/test/testcases/tests/level1/html/anchor05.xml.notimpl deleted file mode 100644 index 27b34ac..0000000 --- a/test/testcases/tests/level1/html/anchor05.xml.notimpl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -anchor05 -Netscape - -Advisory content type. -The value of attribute type of the anchor element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-02 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/anchor06.xml b/test/testcases/tests/level1/html/anchor06.xml new file mode 100644 index 0000000..31190be --- /dev/null +++ b/test/testcases/tests/level1/html/anchor06.xml @@ -0,0 +1,40 @@ + + + + + + +anchor06 +Netscape + +The shape of the active area. The coordinates are given by coords +The value of attribute shape of the anchor element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-02 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/anchor06.xml.notimpl b/test/testcases/tests/level1/html/anchor06.xml.notimpl deleted file mode 100644 index 31190be..0000000 --- a/test/testcases/tests/level1/html/anchor06.xml.notimpl +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -anchor06 -Netscape - -The shape of the active area. The coordinates are given by coords -The value of attribute shape of the anchor element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-02 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/dlist01.xml b/test/testcases/tests/level1/html/dlist01.xml new file mode 100644 index 0000000..35cbe2c --- /dev/null +++ b/test/testcases/tests/level1/html/dlist01.xml @@ -0,0 +1,39 @@ + + + + + + +dlist01 +Netscape + + + +Sivakiran Tummala +2002-02-08 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/dlist01.xml.notimpl b/test/testcases/tests/level1/html/dlist01.xml.notimpl deleted file mode 100644 index 35cbe2c..0000000 --- a/test/testcases/tests/level1/html/dlist01.xml.notimpl +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -dlist01 -Netscape - - - -Sivakiran Tummala -2002-02-08 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table01.xml b/test/testcases/tests/level1/html/table01.xml new file mode 100644 index 0000000..4cee6f7 --- /dev/null +++ b/test/testcases/tests/level1/html/table01.xml @@ -0,0 +1,40 @@ + + + + + + +table01 +Netscape + +Returns the table's CAPTION, or void if none exists. +The value of attribute caption of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table01.xml.kfail b/test/testcases/tests/level1/html/table01.xml.kfail deleted file mode 100644 index 4cee6f7..0000000 --- a/test/testcases/tests/level1/html/table01.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table01 -Netscape - -Returns the table's CAPTION, or void if none exists. -The value of attribute caption of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table02.xml b/test/testcases/tests/level1/html/table02.xml new file mode 100644 index 0000000..2433751 --- /dev/null +++ b/test/testcases/tests/level1/html/table02.xml @@ -0,0 +1,42 @@ + + + + + + +table02 +Netscape + +Caption alignment with respect to the table. +The value of attribute align of the tablecaption element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table02.xml.kfail b/test/testcases/tests/level1/html/table02.xml.kfail deleted file mode 100644 index 2433751..0000000 --- a/test/testcases/tests/level1/html/table02.xml.kfail +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -table02 -Netscape - -Caption alignment with respect to the table. -The value of attribute align of the tablecaption element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table03.xml b/test/testcases/tests/level1/html/table03.xml new file mode 100644 index 0000000..b8c3ef6 --- /dev/null +++ b/test/testcases/tests/level1/html/table03.xml @@ -0,0 +1,42 @@ + + + + + + +table03 +Netscape + +Alignment character for cells in a column. +The value of attribute ch of the tablesection element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table03.xml.kfail b/test/testcases/tests/level1/html/table03.xml.kfail deleted file mode 100644 index b8c3ef6..0000000 --- a/test/testcases/tests/level1/html/table03.xml.kfail +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -table03 -Netscape - -Alignment character for cells in a column. -The value of attribute ch of the tablesection element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table04.xml b/test/testcases/tests/level1/html/table04.xml new file mode 100644 index 0000000..2d4fcf8 --- /dev/null +++ b/test/testcases/tests/level1/html/table04.xml @@ -0,0 +1,42 @@ + + + + + + +table04 +Netscape + +Horizontal alignment of data in cells. +The value of attribute align of the tablesection element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table04.xml.kfail b/test/testcases/tests/level1/html/table04.xml.kfail deleted file mode 100644 index 2d4fcf8..0000000 --- a/test/testcases/tests/level1/html/table04.xml.kfail +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -table04 -Netscape - -Horizontal alignment of data in cells. -The value of attribute align of the tablesection element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table08.xml b/test/testcases/tests/level1/html/table08.xml new file mode 100644 index 0000000..ea77b80 --- /dev/null +++ b/test/testcases/tests/level1/html/table08.xml @@ -0,0 +1,42 @@ + + + + + + +table08 +Netscape + +Horizontal alignment of data in cells. +The value of attribute align of the tablesection element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table08.xml.kfail b/test/testcases/tests/level1/html/table08.xml.kfail deleted file mode 100644 index ea77b80..0000000 --- a/test/testcases/tests/level1/html/table08.xml.kfail +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -table08 -Netscape - -Horizontal alignment of data in cells. -The value of attribute align of the tablesection element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table09.xml b/test/testcases/tests/level1/html/table09.xml new file mode 100644 index 0000000..fcb9018 --- /dev/null +++ b/test/testcases/tests/level1/html/table09.xml @@ -0,0 +1,42 @@ + + + + + + +table09 +Netscape + +Vertical alignment of data in cells. +The value of attribute valign of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table09.xml.kfail b/test/testcases/tests/level1/html/table09.xml.kfail deleted file mode 100644 index fcb9018..0000000 --- a/test/testcases/tests/level1/html/table09.xml.kfail +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -table09 -Netscape - -Vertical alignment of data in cells. -The value of attribute valign of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table10.xml b/test/testcases/tests/level1/html/table10.xml new file mode 100644 index 0000000..aa05594 --- /dev/null +++ b/test/testcases/tests/level1/html/table10.xml @@ -0,0 +1,42 @@ + + + + + + +table10 +Netscape + +Alignment character for cells in a column. +The value of attribute ch of the tablesection element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table10.xml.kfail b/test/testcases/tests/level1/html/table10.xml.kfail deleted file mode 100644 index aa05594..0000000 --- a/test/testcases/tests/level1/html/table10.xml.kfail +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -table10 -Netscape - -Alignment character for cells in a column. -The value of attribute ch of the tablesection element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table12.xml b/test/testcases/tests/level1/html/table12.xml new file mode 100644 index 0000000..93e475b --- /dev/null +++ b/test/testcases/tests/level1/html/table12.xml @@ -0,0 +1,42 @@ + + + + + + +table12 +Netscape + +Offset of alignment character. +The value of attribute choff of the tablesection element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table12.xml.kfail b/test/testcases/tests/level1/html/table12.xml.kfail deleted file mode 100644 index 93e475b..0000000 --- a/test/testcases/tests/level1/html/table12.xml.kfail +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -table12 -Netscape - -Offset of alignment character. -The value of attribute choff of the tablesection element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table17.xml b/test/testcases/tests/level1/html/table17.xml new file mode 100644 index 0000000..7223562 --- /dev/null +++ b/test/testcases/tests/level1/html/table17.xml @@ -0,0 +1,42 @@ + + + + + + +table17 +Netscape + +Offset of alignment character. +The value of attribute chOff of the tablesection element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table17.xml.kfail b/test/testcases/tests/level1/html/table17.xml.kfail deleted file mode 100644 index 7223562..0000000 --- a/test/testcases/tests/level1/html/table17.xml.kfail +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -table17 -Netscape - -Offset of alignment character. -The value of attribute chOff of the tablesection element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table18.xml b/test/testcases/tests/level1/html/table18.xml new file mode 100644 index 0000000..db8c161 --- /dev/null +++ b/test/testcases/tests/level1/html/table18.xml @@ -0,0 +1,40 @@ + + + + + + +table18 +Netscape + +The index of this cell in the row. +The value of attribute cellIndex of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table18.xml.kfail b/test/testcases/tests/level1/html/table18.xml.kfail deleted file mode 100644 index db8c161..0000000 --- a/test/testcases/tests/level1/html/table18.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table18 -Netscape - -The index of this cell in the row. -The value of attribute cellIndex of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table19.xml b/test/testcases/tests/level1/html/table19.xml new file mode 100644 index 0000000..e88be88 --- /dev/null +++ b/test/testcases/tests/level1/html/table19.xml @@ -0,0 +1,41 @@ + + + + + + +table19 +Netscape + +Abbreviation for header cells. +The index of this cell in the row. +The value of attribute abbr of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table19.xml.kfail b/test/testcases/tests/level1/html/table19.xml.kfail deleted file mode 100644 index e88be88..0000000 --- a/test/testcases/tests/level1/html/table19.xml.kfail +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - -table19 -Netscape - -Abbreviation for header cells. -The index of this cell in the row. -The value of attribute abbr of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table20.xml b/test/testcases/tests/level1/html/table20.xml new file mode 100644 index 0000000..2205987 --- /dev/null +++ b/test/testcases/tests/level1/html/table20.xml @@ -0,0 +1,40 @@ + + + + + + +table20 +Netscape + +Names group of related headers. +The value of attribute axis of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table20.xml.kfail b/test/testcases/tests/level1/html/table20.xml.kfail deleted file mode 100644 index 2205987..0000000 --- a/test/testcases/tests/level1/html/table20.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table20 -Netscape - -Names group of related headers. -The value of attribute axis of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table21.xml b/test/testcases/tests/level1/html/table21.xml new file mode 100644 index 0000000..fa22103 --- /dev/null +++ b/test/testcases/tests/level1/html/table21.xml @@ -0,0 +1,40 @@ + + + + + + +table21 +Netscape + +Horizontal alignment of data in cell. +The value of attribute align of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table21.xml.kfail b/test/testcases/tests/level1/html/table21.xml.kfail deleted file mode 100644 index fa22103..0000000 --- a/test/testcases/tests/level1/html/table21.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table21 -Netscape - -Horizontal alignment of data in cell. -The value of attribute align of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table22.xml b/test/testcases/tests/level1/html/table22.xml new file mode 100644 index 0000000..7c097b4 --- /dev/null +++ b/test/testcases/tests/level1/html/table22.xml @@ -0,0 +1,40 @@ + + + + + + +table22 +Netscape + +Cell background color. +The value of attribute bgColor of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table22.xml.kfail b/test/testcases/tests/level1/html/table22.xml.kfail deleted file mode 100644 index 7c097b4..0000000 --- a/test/testcases/tests/level1/html/table22.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table22 -Netscape - -Cell background color. -The value of attribute bgColor of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table23.xml b/test/testcases/tests/level1/html/table23.xml new file mode 100644 index 0000000..4ea8ace --- /dev/null +++ b/test/testcases/tests/level1/html/table23.xml @@ -0,0 +1,40 @@ + + + + + + +table23 +Netscape + +Alignment character for cells in a column. +The value of attribute char of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table23.xml.kfail b/test/testcases/tests/level1/html/table23.xml.kfail deleted file mode 100644 index 4ea8ace..0000000 --- a/test/testcases/tests/level1/html/table23.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table23 -Netscape - -Alignment character for cells in a column. -The value of attribute char of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table24.xml b/test/testcases/tests/level1/html/table24.xml new file mode 100644 index 0000000..7606917 --- /dev/null +++ b/test/testcases/tests/level1/html/table24.xml @@ -0,0 +1,40 @@ + + + + + + +table24 +Netscape + +offset of alignment character. +The value of attribute chOff of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table24.xml.kfail b/test/testcases/tests/level1/html/table24.xml.kfail deleted file mode 100644 index 7606917..0000000 --- a/test/testcases/tests/level1/html/table24.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table24 -Netscape - -offset of alignment character. -The value of attribute chOff of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table25.xml b/test/testcases/tests/level1/html/table25.xml new file mode 100644 index 0000000..b8e10dd --- /dev/null +++ b/test/testcases/tests/level1/html/table25.xml @@ -0,0 +1,40 @@ + + + + + + +table25 +Netscape + +Number of columns spanned by cell. +The value of attribute colspan of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table25.xml.kfail b/test/testcases/tests/level1/html/table25.xml.kfail deleted file mode 100644 index b8e10dd..0000000 --- a/test/testcases/tests/level1/html/table25.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table25 -Netscape - -Number of columns spanned by cell. -The value of attribute colspan of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table26.xml b/test/testcases/tests/level1/html/table26.xml new file mode 100644 index 0000000..9f09d4f --- /dev/null +++ b/test/testcases/tests/level1/html/table26.xml @@ -0,0 +1,39 @@ + + + + + + +table26 +Netscape + +The value of attribute height of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table26.xml.kfail b/test/testcases/tests/level1/html/table26.xml.kfail deleted file mode 100644 index 9f09d4f..0000000 --- a/test/testcases/tests/level1/html/table26.xml.kfail +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -table26 -Netscape - -The value of attribute height of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table27.xml b/test/testcases/tests/level1/html/table27.xml new file mode 100644 index 0000000..e0dc78d --- /dev/null +++ b/test/testcases/tests/level1/html/table27.xml @@ -0,0 +1,40 @@ + + + + + + +table27 +Netscape + +Suppress word wrapping. +The value of attribute nowrap of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table27.xml.kfail b/test/testcases/tests/level1/html/table27.xml.kfail deleted file mode 100644 index e0dc78d..0000000 --- a/test/testcases/tests/level1/html/table27.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table27 -Netscape - -Suppress word wrapping. -The value of attribute nowrap of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table28.xml b/test/testcases/tests/level1/html/table28.xml new file mode 100644 index 0000000..d445a1c --- /dev/null +++ b/test/testcases/tests/level1/html/table28.xml @@ -0,0 +1,40 @@ + + + + + + +table28 +Netscape + +Number of rows spanned by cell. +The value of attribute rowspan of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table28.xml.kfail b/test/testcases/tests/level1/html/table28.xml.kfail deleted file mode 100644 index d445a1c..0000000 --- a/test/testcases/tests/level1/html/table28.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table28 -Netscape - -Number of rows spanned by cell. -The value of attribute rowspan of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table29.xml b/test/testcases/tests/level1/html/table29.xml new file mode 100644 index 0000000..ae483d4 --- /dev/null +++ b/test/testcases/tests/level1/html/table29.xml @@ -0,0 +1,40 @@ + + + + + + +table29 +Netscape + +Scope covered by header cells. +The value of attribute scope of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table29.xml.kfail b/test/testcases/tests/level1/html/table29.xml.kfail deleted file mode 100644 index ae483d4..0000000 --- a/test/testcases/tests/level1/html/table29.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table29 -Netscape - -Scope covered by header cells. -The value of attribute scope of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table30.xml b/test/testcases/tests/level1/html/table30.xml new file mode 100644 index 0000000..837be29 --- /dev/null +++ b/test/testcases/tests/level1/html/table30.xml @@ -0,0 +1,40 @@ + + + + + + +table30 +Netscape + +List of id attribute values for header cells. +The value of attribute headers of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table30.xml.kfail b/test/testcases/tests/level1/html/table30.xml.kfail deleted file mode 100644 index 837be29..0000000 --- a/test/testcases/tests/level1/html/table30.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table30 -Netscape - -List of id attribute values for header cells. -The value of attribute headers of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table31.xml b/test/testcases/tests/level1/html/table31.xml new file mode 100644 index 0000000..f5c3fa6 --- /dev/null +++ b/test/testcases/tests/level1/html/table31.xml @@ -0,0 +1,40 @@ + + + + + + +table31 +Netscape + +Vertical alignment of data in cell. +The value of attribute valign of the tablecell element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table31.xml.kfail b/test/testcases/tests/level1/html/table31.xml.kfail deleted file mode 100644 index f5c3fa6..0000000 --- a/test/testcases/tests/level1/html/table31.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table31 -Netscape - -Vertical alignment of data in cell. -The value of attribute valign of the tablecell element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table32.xml b/test/testcases/tests/level1/html/table32.xml new file mode 100644 index 0000000..cf7e0cd --- /dev/null +++ b/test/testcases/tests/level1/html/table32.xml @@ -0,0 +1,40 @@ + + + + + + +table32 +Netscape + +cell width. +The value of attribute width of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table32.xml.kfail b/test/testcases/tests/level1/html/table32.xml.kfail deleted file mode 100644 index cf7e0cd..0000000 --- a/test/testcases/tests/level1/html/table32.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table32 -Netscape - -cell width. -The value of attribute width of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table33.xml b/test/testcases/tests/level1/html/table33.xml new file mode 100644 index 0000000..5c0e447 --- /dev/null +++ b/test/testcases/tests/level1/html/table33.xml @@ -0,0 +1,40 @@ + + + + + + +table33 +Netscape + +Specifies the table's position with respect to the rest of the document. +The value of attribute align of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table33.xml.kfail b/test/testcases/tests/level1/html/table33.xml.kfail deleted file mode 100644 index 5c0e447..0000000 --- a/test/testcases/tests/level1/html/table33.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table33 -Netscape - -Specifies the table's position with respect to the rest of the document. -The value of attribute align of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table34.xml b/test/testcases/tests/level1/html/table34.xml new file mode 100644 index 0000000..07443ef --- /dev/null +++ b/test/testcases/tests/level1/html/table34.xml @@ -0,0 +1,40 @@ + + + + + + +table34 +Netscape + +The width of the border around the table. +The value of attribute border of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table34.xml.kfail b/test/testcases/tests/level1/html/table34.xml.kfail deleted file mode 100644 index 07443ef..0000000 --- a/test/testcases/tests/level1/html/table34.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table34 -Netscape - -The width of the border around the table. -The value of attribute border of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table35.xml b/test/testcases/tests/level1/html/table35.xml new file mode 100644 index 0000000..32cce60 --- /dev/null +++ b/test/testcases/tests/level1/html/table35.xml @@ -0,0 +1,40 @@ + + + + + + +table35 +Netscape + +Cell background color. +The value of attribute bgcolor of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table35.xml.kfail b/test/testcases/tests/level1/html/table35.xml.kfail deleted file mode 100644 index 32cce60..0000000 --- a/test/testcases/tests/level1/html/table35.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table35 -Netscape - -Cell background color. -The value of attribute bgcolor of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table36.xml b/test/testcases/tests/level1/html/table36.xml new file mode 100644 index 0000000..2bdded8 --- /dev/null +++ b/test/testcases/tests/level1/html/table36.xml @@ -0,0 +1,40 @@ + + + + + + +table36 +Netscape + +Specifies which external table borders to render. +The value of attribute frame of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table36.xml.kfail b/test/testcases/tests/level1/html/table36.xml.kfail deleted file mode 100644 index 2bdded8..0000000 --- a/test/testcases/tests/level1/html/table36.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table36 -Netscape - -Specifies which external table borders to render. -The value of attribute frame of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table37.xml b/test/testcases/tests/level1/html/table37.xml new file mode 100644 index 0000000..cdf5b73 --- /dev/null +++ b/test/testcases/tests/level1/html/table37.xml @@ -0,0 +1,39 @@ + + + + + + +table37 +Netscape + +Specifies the horizontal and vertical space between cell content and cell borders. The value of attribute cellpadding of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table37.xml.kfail b/test/testcases/tests/level1/html/table37.xml.kfail deleted file mode 100644 index cdf5b73..0000000 --- a/test/testcases/tests/level1/html/table37.xml.kfail +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - -table37 -Netscape - -Specifies the horizontal and vertical space between cell content and cell borders. The value of attribute cellpadding of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table38.xml b/test/testcases/tests/level1/html/table38.xml new file mode 100644 index 0000000..fad8dfe --- /dev/null +++ b/test/testcases/tests/level1/html/table38.xml @@ -0,0 +1,40 @@ + + + + + + +table38 +Netscape + +Specifies the horizontal and vertical separation between cells. +The value of attribute cellspacing of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table38.xml.kfail b/test/testcases/tests/level1/html/table38.xml.kfail deleted file mode 100644 index fad8dfe..0000000 --- a/test/testcases/tests/level1/html/table38.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table38 -Netscape - -Specifies the horizontal and vertical separation between cells. -The value of attribute cellspacing of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table39.xml b/test/testcases/tests/level1/html/table39.xml new file mode 100644 index 0000000..1fd66db --- /dev/null +++ b/test/testcases/tests/level1/html/table39.xml @@ -0,0 +1,40 @@ + + + + + + +table39 +Netscape + +Supplementary description about the purpose or structure of a table. +The value of attribute summary of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table39.xml.kfail b/test/testcases/tests/level1/html/table39.xml.kfail deleted file mode 100644 index 1fd66db..0000000 --- a/test/testcases/tests/level1/html/table39.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table39 -Netscape - -Supplementary description about the purpose or structure of a table. -The value of attribute summary of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table40.xml b/test/testcases/tests/level1/html/table40.xml new file mode 100644 index 0000000..31a9763 --- /dev/null +++ b/test/testcases/tests/level1/html/table40.xml @@ -0,0 +1,40 @@ + + + + + + +table40 +Netscape + +Specifies which internal table borders to render. +The value of attribute rules of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table40.xml.kfail b/test/testcases/tests/level1/html/table40.xml.kfail deleted file mode 100644 index 31a9763..0000000 --- a/test/testcases/tests/level1/html/table40.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table40 -Netscape - -Specifies which internal table borders to render. -The value of attribute rules of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table41.xml b/test/testcases/tests/level1/html/table41.xml new file mode 100644 index 0000000..4030b09 --- /dev/null +++ b/test/testcases/tests/level1/html/table41.xml @@ -0,0 +1,40 @@ + + + + + + +table41 +Netscape + +Specifies the desired table width. +The value of attribute width of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table41.xml.kfail b/test/testcases/tests/level1/html/table41.xml.kfail deleted file mode 100644 index 4030b09..0000000 --- a/test/testcases/tests/level1/html/table41.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table41 -Netscape - -Specifies the desired table width. -The value of attribute width of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table42.xml b/test/testcases/tests/level1/html/table42.xml new file mode 100644 index 0000000..8fa86f1 --- /dev/null +++ b/test/testcases/tests/level1/html/table42.xml @@ -0,0 +1,40 @@ + + + + + + +table42 +Netscape + +Horizontal alignment of data within cells of this row. +The value of attribute align of the tablerow element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table42.xml.kfail b/test/testcases/tests/level1/html/table42.xml.kfail deleted file mode 100644 index 8fa86f1..0000000 --- a/test/testcases/tests/level1/html/table42.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table42 -Netscape - -Horizontal alignment of data within cells of this row. -The value of attribute align of the tablerow element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table43.xml b/test/testcases/tests/level1/html/table43.xml new file mode 100644 index 0000000..ea9e5de --- /dev/null +++ b/test/testcases/tests/level1/html/table43.xml @@ -0,0 +1,40 @@ + + + + + + +table43 +Netscape + +Background color for rows. +The value of attribute bgcolor of the tablerow element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table43.xml.kfail b/test/testcases/tests/level1/html/table43.xml.kfail deleted file mode 100644 index ea9e5de..0000000 --- a/test/testcases/tests/level1/html/table43.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table43 -Netscape - -Background color for rows. -The value of attribute bgcolor of the tablerow element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table44.xml b/test/testcases/tests/level1/html/table44.xml new file mode 100644 index 0000000..a893f76 --- /dev/null +++ b/test/testcases/tests/level1/html/table44.xml @@ -0,0 +1,40 @@ + + + + + + +table44 +Netscape + +Vertical alignment of data within cells of this row. +The value of attribute valign of the tablerow element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table44.xml.kfail b/test/testcases/tests/level1/html/table44.xml.kfail deleted file mode 100644 index a893f76..0000000 --- a/test/testcases/tests/level1/html/table44.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table44 -Netscape - -Vertical alignment of data within cells of this row. -The value of attribute valign of the tablerow element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table45.xml b/test/testcases/tests/level1/html/table45.xml new file mode 100644 index 0000000..b1717db --- /dev/null +++ b/test/testcases/tests/level1/html/table45.xml @@ -0,0 +1,40 @@ + + + + + + +table45 +Netscape + +Alignment character for cells in a column. +The value of attribute ch of the tablerow element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table45.xml.kfail b/test/testcases/tests/level1/html/table45.xml.kfail deleted file mode 100644 index b1717db..0000000 --- a/test/testcases/tests/level1/html/table45.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table45 -Netscape - -Alignment character for cells in a column. -The value of attribute ch of the tablerow element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table46.xml b/test/testcases/tests/level1/html/table46.xml new file mode 100644 index 0000000..096b892 --- /dev/null +++ b/test/testcases/tests/level1/html/table46.xml @@ -0,0 +1,40 @@ + + + + + + +table46 +Netscape + +Offset of alignment character. +The value of attribute choff of the tablerow element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table46.xml.kfail b/test/testcases/tests/level1/html/table46.xml.kfail deleted file mode 100644 index 096b892..0000000 --- a/test/testcases/tests/level1/html/table46.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table46 -Netscape - -Offset of alignment character. -The value of attribute choff of the tablerow element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table47.xml b/test/testcases/tests/level1/html/table47.xml new file mode 100644 index 0000000..4d8340b --- /dev/null +++ b/test/testcases/tests/level1/html/table47.xml @@ -0,0 +1,40 @@ + + + + + + +table47 +Netscape + +The index of this row, relative to the entire table. +The value of attribute rowIndex of the table element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table47.xml.kfail b/test/testcases/tests/level1/html/table47.xml.kfail deleted file mode 100644 index 4d8340b..0000000 --- a/test/testcases/tests/level1/html/table47.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table47 -Netscape - -The index of this row, relative to the entire table. -The value of attribute rowIndex of the table element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table48.xml b/test/testcases/tests/level1/html/table48.xml new file mode 100644 index 0000000..1910883 --- /dev/null +++ b/test/testcases/tests/level1/html/table48.xml @@ -0,0 +1,40 @@ + + + + + + +HTMLTableColElement align +Netscape + +Horizontal alignment of cell data in column. +The value of attribute align of the tablecol element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table48.xml.kfail b/test/testcases/tests/level1/html/table48.xml.kfail deleted file mode 100644 index 1910883..0000000 --- a/test/testcases/tests/level1/html/table48.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -HTMLTableColElement align -Netscape - -Horizontal alignment of cell data in column. -The value of attribute align of the tablecol element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table49.xml b/test/testcases/tests/level1/html/table49.xml new file mode 100644 index 0000000..1db690b --- /dev/null +++ b/test/testcases/tests/level1/html/table49.xml @@ -0,0 +1,40 @@ + + + + + + +table49 +Netscape + +Alignment character for cells in a column. +The value of attribute ch of the tablecol element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table49.xml.kfail b/test/testcases/tests/level1/html/table49.xml.kfail deleted file mode 100644 index 1db690b..0000000 --- a/test/testcases/tests/level1/html/table49.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table49 -Netscape - -Alignment character for cells in a column. -The value of attribute ch of the tablecol element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table50.xml b/test/testcases/tests/level1/html/table50.xml new file mode 100644 index 0000000..8f60638 --- /dev/null +++ b/test/testcases/tests/level1/html/table50.xml @@ -0,0 +1,40 @@ + + + + + + +table50 +Netscape + +Offset of alignment character. +The value of attribute choff of the tablecol element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table50.xml.kfail b/test/testcases/tests/level1/html/table50.xml.kfail deleted file mode 100644 index 8f60638..0000000 --- a/test/testcases/tests/level1/html/table50.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table50 -Netscape - -Offset of alignment character. -The value of attribute choff of the tablecol element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table51.xml b/test/testcases/tests/level1/html/table51.xml new file mode 100644 index 0000000..c917f27 --- /dev/null +++ b/test/testcases/tests/level1/html/table51.xml @@ -0,0 +1,40 @@ + + + + + + +table51 +Netscape + +Indicates the number of columns in a group or affected by a grouping. +The value of attribute span of the tablecol element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table51.xml.kfail b/test/testcases/tests/level1/html/table51.xml.kfail deleted file mode 100644 index c917f27..0000000 --- a/test/testcases/tests/level1/html/table51.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table51 -Netscape - -Indicates the number of columns in a group or affected by a grouping. -The value of attribute span of the tablecol element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table52.xml b/test/testcases/tests/level1/html/table52.xml new file mode 100644 index 0000000..bf94572 --- /dev/null +++ b/test/testcases/tests/level1/html/table52.xml @@ -0,0 +1,40 @@ + + + + + + +table52 +Netscape + +Vertical alignment of cell data in column. +The value of attribute valign of the tablecol element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table52.xml.kfail b/test/testcases/tests/level1/html/table52.xml.kfail deleted file mode 100644 index bf94572..0000000 --- a/test/testcases/tests/level1/html/table52.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table52 -Netscape - -Vertical alignment of cell data in column. -The value of attribute valign of the tablecol element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level1/html/table53.xml b/test/testcases/tests/level1/html/table53.xml new file mode 100644 index 0000000..210c7e1 --- /dev/null +++ b/test/testcases/tests/level1/html/table53.xml @@ -0,0 +1,40 @@ + + + + + + +table53 +Netscape + +Default column width. +The value of attribute width of the tablecol element is read and checked against the expected value. + +Sivakiran Tummala +2002-02-15 + + + + + + + + + + + + + diff --git a/test/testcases/tests/level1/html/table53.xml.kfail b/test/testcases/tests/level1/html/table53.xml.kfail deleted file mode 100644 index 210c7e1..0000000 --- a/test/testcases/tests/level1/html/table53.xml.kfail +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - -table53 -Netscape - -Default column width. -The value of attribute width of the tablecol element is read and checked against the expected value. - -Sivakiran Tummala -2002-02-15 - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableElement34.xml b/test/testcases/tests/level2/html/HTMLTableElement34.xml new file mode 100644 index 0000000..d774498 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableElement34.xml @@ -0,0 +1,48 @@ + + + + + + +HTMLTableElement34 +NIST + + The insertRow() method throws a INDEX_SIZE_ERR DOMException + if the specified index is greater than the number of rows. + + Retrieve the second TABLE element which has four rows. Try + to insert a new row using an index of five. This should throw + a INDEX_SIZE_ERR DOMException since there are only four rows. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level2/html/HTMLTableElement34.xml.kfail b/test/testcases/tests/level2/html/HTMLTableElement34.xml.kfail deleted file mode 100644 index d774498..0000000 --- a/test/testcases/tests/level2/html/HTMLTableElement34.xml.kfail +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -HTMLTableElement34 -NIST - - The insertRow() method throws a INDEX_SIZE_ERR DOMException - if the specified index is greater than the number of rows. - - Retrieve the second TABLE element which has four rows. Try - to insert a new row using an index of five. This should throw - a INDEX_SIZE_ERR DOMException since there are only four rows. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableElement35.xml b/test/testcases/tests/level2/html/HTMLTableElement35.xml new file mode 100644 index 0000000..6410e89 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableElement35.xml @@ -0,0 +1,48 @@ + + + + + + +HTMLTableElement35 +NIST + + The insertRow() method throws a INDEX_SIZE_ERR DOMException + if the specified index is negative. + + Retrieve the second TABLE element which has four rows. Try + to insert a new row using an index of negative five. 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/HTMLTableElement35.xml.kfail b/test/testcases/tests/level2/html/HTMLTableElement35.xml.kfail deleted file mode 100644 index 6410e89..0000000 --- a/test/testcases/tests/level2/html/HTMLTableElement35.xml.kfail +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -HTMLTableElement35 -NIST - - The insertRow() method throws a INDEX_SIZE_ERR DOMException - if the specified index is negative. - - Retrieve the second TABLE element which has four rows. Try - to insert a new row using an index of negative five. 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/HTMLTableElement36.xml b/test/testcases/tests/level2/html/HTMLTableElement36.xml new file mode 100644 index 0000000..7a514e5 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableElement36.xml @@ -0,0 +1,47 @@ + + + + + + +HTMLTableElement36 +NIST + + The deleteRow() method throws a INDEX_SIZE_ERR DOMException + if the specified index is greater than the number of rows. + + Retrieve the second TABLE element which has four rows. Try + to delete a new row using an index of five. This should throw + a INDEX_SIZE_ERR DOMException since there are only four rows. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level2/html/HTMLTableElement36.xml.kfail b/test/testcases/tests/level2/html/HTMLTableElement36.xml.kfail deleted file mode 100644 index 7a514e5..0000000 --- a/test/testcases/tests/level2/html/HTMLTableElement36.xml.kfail +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - -HTMLTableElement36 -NIST - - The deleteRow() method throws a INDEX_SIZE_ERR DOMException - if the specified index is greater than the number of rows. - - Retrieve the second TABLE element which has four rows. Try - to delete a new row using an index of five. This should throw - a INDEX_SIZE_ERR DOMException since there are only four rows. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableElement37.xml b/test/testcases/tests/level2/html/HTMLTableElement37.xml new file mode 100644 index 0000000..097deb1 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableElement37.xml @@ -0,0 +1,48 @@ + + + + + + +HTMLTableElement37 +NIST + + The deleteRow() method throws a INDEX_SIZE_ERR DOMException + if the specified index is equal the number of rows. + + Retrieve the second TABLE element which has four rows. Try + to delete a new row using an index of four. 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/HTMLTableElement37.xml.kfail b/test/testcases/tests/level2/html/HTMLTableElement37.xml.kfail deleted file mode 100644 index 097deb1..0000000 --- a/test/testcases/tests/level2/html/HTMLTableElement37.xml.kfail +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -HTMLTableElement37 -NIST - - The deleteRow() method throws a INDEX_SIZE_ERR DOMException - if the specified index is equal the number of rows. - - Retrieve the second TABLE element which has four rows. Try - to delete a new row using an index of four. 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/HTMLTableElement38.xml b/test/testcases/tests/level2/html/HTMLTableElement38.xml new file mode 100644 index 0000000..0f5bccd --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableElement38.xml @@ -0,0 +1,47 @@ + + + + + + +HTMLTableElement38 +NIST + + The deleteRow() method throws a INDEX_SIZE_ERR DOMException + if the specified index is negative. + + Retrieve the second TABLE element which has four rows. Try + to delete a new row using an index of negative five. 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/HTMLTableElement38.xml.kfail b/test/testcases/tests/level2/html/HTMLTableElement38.xml.kfail deleted file mode 100644 index 0f5bccd..0000000 --- a/test/testcases/tests/level2/html/HTMLTableElement38.xml.kfail +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - -HTMLTableElement38 -NIST - - The deleteRow() method throws a INDEX_SIZE_ERR DOMException - if the specified index is negative. - - Retrieve the second TABLE element which has four rows. Try - to delete a new row using an index of negative five. 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/HTMLTableElement39.xml.kfail b/test/testcases/tests/level2/html/HTMLTableElement39.xml.kfail index 6631584..0a6fcfd 100644 --- a/test/testcases/tests/level2/html/HTMLTableElement39.xml.kfail +++ b/test/testcases/tests/level2/html/HTMLTableElement39.xml.kfail @@ -54,9 +54,14 @@ See W3C License http://www.w3.org/Consortium/Legal/ for more details. + diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement15.xml b/test/testcases/tests/level2/html/HTMLTableRowElement15.xml new file mode 100644 index 0000000..9e89674 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableRowElement15.xml @@ -0,0 +1,48 @@ + + + + + + +HTMLTableRowElement15 +NIST + + The insertCell() method throws a INDEX_SIZE_ERR DOMException + if the specified index is greater than the number of cells. + + Retrieve the fourth TR element which has six cells. Try + to insert a cell using an index of seven. This should throw + a INDEX_SIZE_ERR DOMException since there are only six cells. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement15.xml.kfail b/test/testcases/tests/level2/html/HTMLTableRowElement15.xml.kfail deleted file mode 100644 index 9e89674..0000000 --- a/test/testcases/tests/level2/html/HTMLTableRowElement15.xml.kfail +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -HTMLTableRowElement15 -NIST - - The insertCell() method throws a INDEX_SIZE_ERR DOMException - if the specified index is greater than the number of cells. - - Retrieve the fourth TR element which has six cells. Try - to insert a cell using an index of seven. This should throw - a INDEX_SIZE_ERR DOMException since there are only six cells. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement16.xml b/test/testcases/tests/level2/html/HTMLTableRowElement16.xml new file mode 100644 index 0000000..8471a2b --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableRowElement16.xml @@ -0,0 +1,48 @@ + + + + + + +HTMLTableRowElement16 +NIST + + The insertCell() method throws a INDEX_SIZE_ERR DOMException + if the specified index is negative. + + Retrieve the fourth TR element which has six cells. Try + to insert a cell using an index of negative seven. 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/HTMLTableRowElement16.xml.kfail b/test/testcases/tests/level2/html/HTMLTableRowElement16.xml.kfail deleted file mode 100644 index 8471a2b..0000000 --- a/test/testcases/tests/level2/html/HTMLTableRowElement16.xml.kfail +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - -HTMLTableRowElement16 -NIST - - The insertCell() method throws a INDEX_SIZE_ERR DOMException - if the specified index is negative. - - Retrieve the fourth TR element which has six cells. Try - to insert a cell using an index of negative seven. 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/HTMLTableRowElement17.xml b/test/testcases/tests/level2/html/HTMLTableRowElement17.xml new file mode 100644 index 0000000..b469470 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableRowElement17.xml @@ -0,0 +1,47 @@ + + + + + + +HTMLTableRowElement17 +NIST + + The deleteCell() method throws a INDEX_SIZE_ERR DOMException + if the specified index is greater than the number of cells. + + Retrieve the fourth TR element which has six cells. Try + to delete a cell using an index of seven. This should throw + a INDEX_SIZE_ERR DOMException since there are only six cells. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement17.xml.kfail b/test/testcases/tests/level2/html/HTMLTableRowElement17.xml.kfail deleted file mode 100644 index b469470..0000000 --- a/test/testcases/tests/level2/html/HTMLTableRowElement17.xml.kfail +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - -HTMLTableRowElement17 -NIST - - The deleteCell() method throws a INDEX_SIZE_ERR DOMException - if the specified index is greater than the number of cells. - - Retrieve the fourth TR element which has six cells. Try - to delete a cell using an index of seven. This should throw - a INDEX_SIZE_ERR DOMException since there are only six cells. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement18.xml b/test/testcases/tests/level2/html/HTMLTableRowElement18.xml new file mode 100644 index 0000000..f296086 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableRowElement18.xml @@ -0,0 +1,47 @@ + + + + + + +HTMLTableRowElement18 +NIST + + The deleteCell() method throws a INDEX_SIZE_ERR DOMException + if the specified index is equal to the number of cells. + + Retrieve the fourth TR element which has six cells. Try + to delete a cell using an index of six. This should throw + a INDEX_SIZE_ERR DOMException since there are only six cells. + +Rick Rivello +2002-05-02 + + + + + + + + + + + + + + + + diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement18.xml.kfail b/test/testcases/tests/level2/html/HTMLTableRowElement18.xml.kfail deleted file mode 100644 index f296086..0000000 --- a/test/testcases/tests/level2/html/HTMLTableRowElement18.xml.kfail +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - -HTMLTableRowElement18 -NIST - - The deleteCell() method throws a INDEX_SIZE_ERR DOMException - if the specified index is equal to the number of cells. - - Retrieve the fourth TR element which has six cells. Try - to delete a cell using an index of six. This should throw - a INDEX_SIZE_ERR DOMException since there are only six cells. - -Rick Rivello -2002-05-02 - - - - - - - - - - - - - - - - diff --git a/test/testcases/tests/level2/html/HTMLTableRowElement19.xml b/test/testcases/tests/level2/html/HTMLTableRowElement19.xml new file mode 100644 index 0000000..9a111f3 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableRowElement19.xml @@ -0,0 +1,47 @@ + + + + + + +HTMLTableRowElement19 +NIST + + The deleteCell() method throws a INDEX_SIZE_ERR DOMException + if the specified index is negative. + + Retrieve the fourth TR element which has six cells. Try + to delete a cell using an index of negative six. 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/HTMLTableRowElement19.xml.kfail b/test/testcases/tests/level2/html/HTMLTableRowElement19.xml.kfail deleted file mode 100644 index 9a111f3..0000000 --- a/test/testcases/tests/level2/html/HTMLTableRowElement19.xml.kfail +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - -HTMLTableRowElement19 -NIST - - The deleteCell() method throws a INDEX_SIZE_ERR DOMException - if the specified index is negative. - - Retrieve the fourth TR element which has six cells. Try - to delete a cell using an index of negative six. 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 new file mode 100644 index 0000000..8fd17c2 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableSectionElement30.xml.kfail @@ -0,0 +1,55 @@ + + + + + + +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 new file mode 100644 index 0000000..55464e2 --- /dev/null +++ b/test/testcases/tests/level2/html/HTMLTableSectionElement31.xml.kfail @@ -0,0 +1,53 @@ + + + + + + +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/table.html b/test/testcases/tests/level2/html/files/table.html new file mode 100644 index 0000000..b8f151e --- /dev/null +++ b/test/testcases/tests/level2/html/files/table.html @@ -0,0 +1,78 @@ + + + + +NIST DOM HTML Test - TABLE + + + + + + + + + +
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/table.xhtml b/test/testcases/tests/level2/html/files/table.xhtml new file mode 100644 index 0000000..8300b90 --- /dev/null +++ b/test/testcases/tests/level2/html/files/table.xhtml @@ -0,0 +1,81 @@ + + + + +NIST DOM HTML Test - TABLE + + + + + + + + + +
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/table.xml b/test/testcases/tests/level2/html/files/table.xml new file mode 100644 index 0000000..8300b90 --- /dev/null +++ b/test/testcases/tests/level2/html/files/table.xml @@ -0,0 +1,81 @@ + + + + +NIST DOM HTML Test - TABLE + + + + + + + + + +
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/table1.html b/test/testcases/tests/level2/html/files/table1.html new file mode 100644 index 0000000..8f5d19b --- /dev/null +++ b/test/testcases/tests/level2/html/files/table1.html @@ -0,0 +1,12 @@ + + + + +NIST DOM HTML Test - TABLE + + + + +
HTML can't abide empty table
+ + diff --git a/test/testcases/tests/level2/html/files/table1.xhtml b/test/testcases/tests/level2/html/files/table1.xhtml new file mode 100644 index 0000000..e174c63 --- /dev/null +++ b/test/testcases/tests/level2/html/files/table1.xhtml @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - TABLE + + + + +
XHTML can't abide empty table
+ + + diff --git a/test/testcases/tests/level2/html/files/table1.xml b/test/testcases/tests/level2/html/files/table1.xml new file mode 100644 index 0000000..e174c63 --- /dev/null +++ b/test/testcases/tests/level2/html/files/table1.xml @@ -0,0 +1,15 @@ + + + + +NIST DOM HTML Test - TABLE + + + + +
XHTML can't abide empty table
+ + + diff --git a/test/testcases/tests/level2/html/files/tablerow.html b/test/testcases/tests/level2/html/files/tablerow.html new file mode 100644 index 0000000..9e76a4c --- /dev/null +++ b/test/testcases/tests/level2/html/files/tablerow.html @@ -0,0 +1,59 @@ + + + + +NIST DOM HTML Test - TABLEROW + + + + + + + + + +
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/tablerow.xhtml b/test/testcases/tests/level2/html/files/tablerow.xhtml new file mode 100644 index 0000000..b901e3c --- /dev/null +++ b/test/testcases/tests/level2/html/files/tablerow.xhtml @@ -0,0 +1,62 @@ + + + + +NIST DOM HTML Test - TABLE + + + + + + + + + +
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/tablerow.xml b/test/testcases/tests/level2/html/files/tablerow.xml new file mode 100644 index 0000000..b901e3c --- /dev/null +++ b/test/testcases/tests/level2/html/files/tablerow.xml @@ -0,0 +1,62 @@ + + + + +NIST DOM HTML Test - TABLE + + + + + + + + + +
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/testutils/domtsasserts.c b/test/testutils/domtsasserts.c index 41cacf2..cbb8ed0 100644 --- a/test/testutils/domtsasserts.c +++ b/test/testutils/domtsasserts.c @@ -124,7 +124,10 @@ bool is_equals_list(list *expected, list *actual, bool ignoreCase) comparator rcmp = NULL; if (expected->type == INT) + { cmp = int_comparator; + rcmp = int_comparator; + } if (expected->type == STRING) { if (actual->type == DOM_STRING) { cmp = ignoreCase? str_icmp : str_cmp; @@ -139,6 +142,7 @@ bool is_equals_list(list *expected, list *actual, bool ignoreCase) } assert(cmp != NULL); + assert(rcmp != NULL); return list_contains_all(expected, actual, cmp) && list_contains_all(actual, expected, rcmp); } -- cgit v1.2.3