summaryrefslogtreecommitdiffstats
path: root/LayoutTests
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-07-12 10:34:30 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-07-12 10:34:30 -0700
commit53451870e9ac7ef67aa76fdd8c1cf47eafaa8763 (patch)
tree41b79bf91b39d6b58708b21f072f6a50b5ee02d9 /LayoutTests
parent641074aac7439f6af9fa90bcaf9e2bb0ac274a4a (diff)
parent8e32145b4e03a65dfedc686a281d7a7f78d57a72 (diff)
downloadexternal_webkit-53451870e9ac7ef67aa76fdd8c1cf47eafaa8763.zip
external_webkit-53451870e9ac7ef67aa76fdd8c1cf47eafaa8763.tar.gz
external_webkit-53451870e9ac7ef67aa76fdd8c1cf47eafaa8763.tar.bz2
Merge "Add dom/xhtml/level2 layout tests at WebKit r62496"
Diffstat (limited to 'LayoutTests')
-rw-r--r--LayoutTests/dom/xhtml/level2/core/createAttributeNS06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/core/createAttributeNS06.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/core/createAttributeNS06.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/core/createDocument08-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/core/createDocument08.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/core/createDocument08.xhtml25
-rw-r--r--LayoutTests/dom/xhtml/level2/core/createDocumentType04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/core/createDocumentType04.js108
-rw-r--r--LayoutTests/dom/xhtml/level2/core/createDocumentType04.xhtml25
-rw-r--r--LayoutTests/dom/xhtml/level2/core/createElementNS06.js119
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1.js141
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_entitiessetnameditemns1-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_entitiessetnameditemns1.js143
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_entitiessetnameditemns1.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1.js124
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1.js121
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_notationsremovenameditemns1-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_notationsremovenameditemns1.js141
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_notationsremovenameditemns1.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_notationssetnameditemns1-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_notationssetnameditemns1.js143
-rw-r--r--LayoutTests/dom/xhtml/level2/core/hc_notationssetnameditemns1.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/core/resources/COPYRIGHT.xhtml102
-rw-r--r--LayoutTests/dom/xhtml/level2/core/selfxhtml.js743
-rw-r--r--LayoutTests/dom/xhtml/level2/core/setAttributeNS10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/core/setAttributeNS10.js120
-rw-r--r--LayoutTests/dom/xhtml/level2/core/setAttributeNS10.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/core/staff.dtd17
-rw-r--r--LayoutTests/dom/xhtml/level2/core/staff2.dtd24
-rw-r--r--LayoutTests/dom/xhtml/level2/core/staffNS.dtd45
-rw-r--r--LayoutTests/dom/xhtml/level2/core/xhtml-lat1.ent196
-rw-r--r--LayoutTests/dom/xhtml/level2/core/xhtml-special.ent80
-rw-r--r--LayoutTests/dom/xhtml/level2/core/xhtml-symbol.ent237
-rw-r--r--LayoutTests/dom/xhtml/level2/core/xhtml1-frameset.dtd1235
-rw-r--r--LayoutTests/dom/xhtml/level2/core/xhtml1-strict.dtd978
-rw-r--r--LayoutTests/dom/xhtml/level2/core/xhtml1-transitional.dtd1201
-rw-r--r--LayoutTests/dom/xhtml/level2/events/DocumentEventCast01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/DocumentEventCast01.js104
-rw-r--r--LayoutTests/dom/xhtml/level2/events/DocumentEventCast01.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/EventTargetCast01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/EventTargetCast01.js104
-rw-r--r--LayoutTests/dom/xhtml/level2/events/EventTargetCast01.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent01.js105
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent01.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent02.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent02.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent03.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent03.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent04.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent04.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent05.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/events/createEvent05.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent01.js118
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent01.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent02.js118
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent02.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent03.js119
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent03.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent04.js119
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent04.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent05.js119
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent05.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent06.js119
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent06.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent07.js119
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent07.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent08.js126
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent08.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent09-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent09.js126
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent09.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent10.js127
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent10.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent11.js120
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent11.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent12.js151
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent12.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent13.js209
-rw-r--r--LayoutTests/dom/xhtml/level2/events/dispatchEvent13.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent01.js121
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent01.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent02.js121
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent02.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent03.js130
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent03.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent04.js123
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent04.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent05.js123
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent05.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent06.js132
-rw-r--r--LayoutTests/dom/xhtml/level2/events/initEvent06.xhtml60
-rw-r--r--LayoutTests/dom/xhtml/level2/events/resources/COPYRIGHT.xhtml102
-rw-r--r--LayoutTests/dom/xhtml/level2/events/selfxhtml.js743
-rw-r--r--LayoutTests/dom/xhtml/level2/events/staff.dtd17
-rw-r--r--LayoutTests/dom/xhtml/level2/events/xhtml-lat1.ent196
-rw-r--r--LayoutTests/dom/xhtml/level2/events/xhtml-special.ent80
-rw-r--r--LayoutTests/dom/xhtml/level2/events/xhtml-symbol.ent237
-rw-r--r--LayoutTests/dom/xhtml/level2/events/xhtml1-frameset.dtd1235
-rw-r--r--LayoutTests/dom/xhtml/level2/events/xhtml1-strict.dtd978
-rw-r--r--LayoutTests/dom/xhtml/level2/events/xhtml1-transitional.dtd1201
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement01.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement02.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement03.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement04.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement04.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement05.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement05.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement06.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement06.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement07.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement07.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement08.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement08.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement09.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement09.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement10.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement10.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement11.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement11.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement12.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement12.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement13.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement13.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement14-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement14.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement14.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement01.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement02.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement03.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement03.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement04.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement04.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement05.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement05.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement06.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement06.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement07.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement07.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement08.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement08.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement09.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement09.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement10.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement10.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement11.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAppletElement11.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement01.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement02.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement03.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement04.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement04.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement05.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement05.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement06.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement06.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement07.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement07.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement08.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLAreaElement08.xhtml16
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBRElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBRElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBRElement01.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseElement01.xhtml849
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseElement02.xhtml852
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement01.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement02.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement02.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement03.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement03.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement01.xhtml22
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement02.xhtml22
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement03.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement03.xhtml22
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement04.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement04.xhtml22
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement05.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement05.xhtml22
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement06.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement06.xhtml22
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement07.js110
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement07.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement08.js109
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement08.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement09.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement09.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement10.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement10.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement11.js110
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement11.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement12.js109
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLBodyElement12.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement01.js116
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement01.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement02.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement03.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement04.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement04.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement05.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement05.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement06.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement06.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement07.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement07.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement08.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLButtonElement08.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection01.js121
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection01.xhtml82
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection02-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection02.js121
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection02.xhtml82
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection03.js121
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection03.xhtml82
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection04.js133
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection04.xhtml82
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection05.js118
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection05.xhtml82
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection06.js122
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection06.xhtml82
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection07.js121
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection07.xhtml82
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection08.js121
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection08.xhtml82
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection09.js118
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection09.xhtml82
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection10-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection10.js123
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection10.xhtml82
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection11.js123
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection11.xhtml82
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection12.js121
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLCollection12.xhtml82
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDirectoryElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDirectoryElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDirectoryElement01.xhtml16
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDivElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDivElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDivElement01.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDlistElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDlistElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDlistElement01.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument01.js109
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument01.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument02.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument02.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument03.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument03.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument04.js110
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument04.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument05.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument05.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument07.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument07.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument08.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument08.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument09.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument09.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument10.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument10.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument11.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument11.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument12.js109
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument12.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument13.js109
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument13.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument14-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument14.js110
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument14.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument15-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument15.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument15.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument16-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument16.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument16.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument17-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument17.js119
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument17.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument18-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument18.js102
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument18.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument19-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument19.js129
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument19.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument20-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument20.js129
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument20.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument21-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument21.js138
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument21.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument22-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument22.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument22.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument23-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument23.js106
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument23.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument24-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument24.js109
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument24.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument25-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument25.js108
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument25.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument26-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument26.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument26.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument27-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument27.js106
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLDocument27.xhtml39
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement01-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement01.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement02.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement02.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement03.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement03.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement04.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement04.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement05.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement05.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement06.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement06.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement07.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement07.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement08.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement08.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement09.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement09.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement10.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement10.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement100-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement100.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement100.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement101-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement101.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement101.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement102-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement102.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement102.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement103-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement103.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement103.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement104-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement104.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement104.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement105-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement105.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement105.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement106-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement106.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement106.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement107-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement107.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement107.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement108-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement108.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement108.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement109-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement109.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement109.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement11.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement11.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement110-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement110.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement110.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement111-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement111.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement111.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement112-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement112.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement112.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement113-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement113.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement113.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement114-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement114.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement114.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement115-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement115.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement115.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement116-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement116.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement116.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement117-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement117.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement117.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement118-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement118.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement118.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement119-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement119.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement119.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement12.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement12.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement120-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement120.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement120.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement121-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement121.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement121.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement122-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement122.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement122.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement123-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement123.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement123.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement124-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement124.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement124.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement125-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement125.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement125.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement126-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement126.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement126.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement127-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement127.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement127.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement128-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement128.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement128.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement129-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement129.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement129.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement13.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement13.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement130-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement130.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement130.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement131-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement131.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement131.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement132-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement132.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement132.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement133-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement133.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement133.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement134-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement134.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement134.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement135-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement135.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement135.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement136-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement136.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement136.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement137-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement137.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement137.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement138-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement138.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement138.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement139-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement139.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement139.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement14-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement14.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement14.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement140-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement140.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement140.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement141-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement141.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement141.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement142-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement142.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement142.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement143-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement143.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement143.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement144-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement144.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement144.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement145-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement145.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement145.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement15-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement15.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement15.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement16-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement16.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement16.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement17-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement17.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement17.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement18-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement18.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement18.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement19-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement19.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement19.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement20-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement20.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement20.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement21-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement21.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement21.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement22-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement22.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement22.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement23-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement23.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement23.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement24-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement24.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement24.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement25-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement25.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement25.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement26-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement26.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement26.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement27-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement27.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement27.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement28-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement28.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement28.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement29-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement29.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement29.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement30-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement30.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement30.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement31-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement31.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement31.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement32-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement32.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement32.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement33-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement33.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement33.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement34-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement34.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement34.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement35-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement35.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement35.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement36-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement36.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement36.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement37-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement37.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement37.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement38-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement38.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement38.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement39-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement39.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement39.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement40-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement40.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement40.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement41-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement41.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement41.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement42-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement42.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement42.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement43-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement43.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement43.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement44-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement44.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement44.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement45-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement45.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement45.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement46-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement46.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement46.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement47-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement47.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement47.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement48-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement48.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement48.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement49-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement49.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement49.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement50-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement50.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement50.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement51-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement51.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement51.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement52-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement52.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement52.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement53-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement53.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement53.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement54-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement54.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement54.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement55-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement55.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement55.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement56-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement56.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement56.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement57-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement57.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement57.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement58-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement58.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement58.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement59-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement59.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement59.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement60-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement60.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement60.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement61-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement61.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement61.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement62-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement62.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement62.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement63-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement63.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement63.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement64-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement64.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement64.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement65-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement65.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement65.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement66-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement66.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement66.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement67-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement67.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement67.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement68-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement68.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement68.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement69-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement69.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement69.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement70-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement70.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement70.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement71-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement71.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement71.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement72-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement72.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement72.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement73-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement73.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement73.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement74-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement74.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement74.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement75-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement75.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement75.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement76-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement76.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement76.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement77-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement77.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement77.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement78-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement78.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement78.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement79-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement79.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement79.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement80-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement80.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement80.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement81-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement81.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement81.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement82-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement82.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement82.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement83-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement83.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement83.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement84-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement84.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement84.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement85-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement85.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement85.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement86-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement86.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement86.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement87-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement87.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement87.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement88-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement88.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement88.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement89-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement89.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement89.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement90-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement90.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement90.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement91-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement91.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement91.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement92-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement92.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement92.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement93-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement93.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement93.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement94-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement94.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement94.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement95-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement95.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement95.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement96-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement96.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement96.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement97-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement97.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement97.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement98-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement98.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement98.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement99-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement99.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLElement99.xhtml83
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement01.js116
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement01.xhtml25
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement02.xhtml25
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFontElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFontElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFontElement01.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFontElement02-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFontElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFontElement02.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFontElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFontElement03.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFontElement03.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement01.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement01.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement02.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement03.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement03.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement04.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement04.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement05.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement05.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement06.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement06.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement07.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement07.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement08.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement08.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement09.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement09.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement10.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFormElement10.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement01.js116
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement01.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement02.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement03.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement04.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement04.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement05.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement05.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement06.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement06.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement07.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement07.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement08.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement08.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09-expected.txt4
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09.xhtml-disabled17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement01.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement01.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement02.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHRElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHRElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHRElement01.xhtml13
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHRElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHRElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHRElement02.xhtml13
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHRElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHRElement03.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHRElement03.xhtml13
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHRElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHRElement04.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHRElement04.xhtml13
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadElement01.xhtml13
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement01.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement02.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement02.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement03.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement03.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement04-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement04.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement04.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement05.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement05.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement06.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement06.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHtmlElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHtmlElement01.js124
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLHtmlElement01.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement01.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement01.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement02.js116
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement02.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement03.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement04.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement04.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement05.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement05.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement06.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement06.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement07.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement07.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement08.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement08.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement09.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement09.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement10.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement10.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement11-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement11.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement11.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement01.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement02.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement03.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement04.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement04.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement05.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement05.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement06.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement06.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement07.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement07.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement08.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement08.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement09.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement09.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement10.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement10.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement11.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement11.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement12.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLImageElement12.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement01.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement01.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement02.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement03.js116
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement03.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement04.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement04.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement05.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement05.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement06.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement06.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement07.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement07.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement08.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement08.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement09.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement09.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement10.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement10.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement11.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement11.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement12.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement12.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement13.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement13.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement14-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement14.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement14.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement15-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement15.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement15.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement16-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement16.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement16.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement17-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement17.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement17.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement18-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement18.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement18.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement19-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement19.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement19.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement20-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement20.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement20.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement21-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement21.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement21.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement22-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement22.js108
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLInputElement22.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement01.js122
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement01.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement02.js119
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement02.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement03.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLIElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLIElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLIElement01.xhtml25
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLIElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLIElement02.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLIElement02.xhtml25
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLabelElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLabelElement01.js116
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLabelElement01.xhtml22
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLabelElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLabelElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLabelElement02.xhtml22
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLabelElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLabelElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLabelElement03.xhtml22
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLabelElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLabelElement04.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLabelElement04.xhtml22
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLegendElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLegendElement01.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLegendElement01.xhtml23
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLegendElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLegendElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLegendElement02.xhtml23
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLegendElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLegendElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLegendElement03.xhtml23
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLegendElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLegendElement04.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLegendElement04.xhtml23
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement01.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement02.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement03.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement03.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement04.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement04.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement05.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement05.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement06.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement06.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement07.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement07.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement08.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement08.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement09.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLLinkElement09.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMapElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMapElement01.js116
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMapElement01.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMapElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMapElement02.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMapElement02.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMenuElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMenuElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMenuElement01.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMetaElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMetaElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMetaElement01.xhtml16
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMetaElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMetaElement02.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMetaElement02.xhtml16
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMetaElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMetaElement03.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMetaElement03.xhtml16
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMetaElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMetaElement04.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLMetaElement04.xhtml16
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLModElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLModElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLModElement01.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLModElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLModElement02.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLModElement02.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLModElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLModElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLModElement03.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLModElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLModElement04.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLModElement04.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOListElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOListElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOListElement01.xhtml34
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOListElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOListElement02.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOListElement02.xhtml34
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOListElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOListElement03.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOListElement03.xhtml34
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement01.js116
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement01.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement02.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement03.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement03.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement04.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement04.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement05.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement05.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement06.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement06.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement07.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement07.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement08.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement08.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement09.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement09.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement10.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement10.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement11.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement11.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement12.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement12.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement13.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement13.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement14-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement14.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement14.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement15-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement15.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement15.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement16-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement16.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement16.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement17-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement17.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement17.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement18-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement18.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement18.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement19-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement19.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement19.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement20-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement20.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLObjectElement20.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement01.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement02.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement02.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement01.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement01.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement02.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement03.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement03.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement04-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement04.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement04.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement05.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement05.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement06.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement06.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement07.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement07.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement08.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement08.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement09.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionElement09.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection01.js119
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection01.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection02.js128
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection02.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection03.js127
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection03.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection04.js127
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection04.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection05.js127
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection05.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection06.js124
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection06.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection07.js128
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection07.xhtml33
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParagraphElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParagraphElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParagraphElement01.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParamElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParamElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParamElement01.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParamElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParamElement02.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParamElement02.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParamElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParamElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParamElement03.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParamElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParamElement04.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLParamElement04.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLPreElement01-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLPreElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLPreElement01.xhtml19
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement01.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement02.xhtml18
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement01.xhtml13
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement02.xhtml13
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement03.xhtml13
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement04.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement04.xhtml13
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement05.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement05.xhtml13
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement06.js109
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement06.xhtml13
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement07.js109
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLScriptElement07.xhtml13
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement01.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement01.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement02.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement03.js118
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement03.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement04.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement04.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement05.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement05.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement06.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement06.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement07.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement07.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement08.js134
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement08.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement09.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement09.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement10.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement10.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement11.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement11.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement12.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement12.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement13.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement13.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement14-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement14.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement14.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement15-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement15.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement15.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement16-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement16.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement16.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement17-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement17.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement17.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement18-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement18.js133
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement18.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement19-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement19.js137
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement19.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement20-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement20.js133
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLSelectElement20.xhtml41
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLStyleElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLStyleElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLStyleElement01.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLStyleElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLStyleElement02.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLStyleElement02.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLStyleElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLStyleElement03.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLStyleElement03.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCaptionElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCaptionElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCaptionElement01.xhtml21
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement01.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement02.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement02.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement03.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement03.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement04.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement04.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement05.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement05.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement06.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement06.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement07.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement07.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement08.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement08.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement09.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement09.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement10.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement10.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement11.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement11.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement12.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement12.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement13.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement13.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement14-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement14.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement14.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement15-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement15.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement15.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement16-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement16.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement16.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement17-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement17.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement17.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement18-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement18.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement18.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement19-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement19.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement19.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement20-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement20.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement20.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement21-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement21.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement21.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement22-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement22.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement22.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement23-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement23.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement23.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement24-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement24.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement24.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement25-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement25.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement25.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement26-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement26.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement26.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement27-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement27.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement27.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement28-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement28.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement28.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement29-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement29.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement29.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement30-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement30.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement30.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement01.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement01.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement02.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement03.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement03.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement04.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement04.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement05.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement05.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement06.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement06.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement07.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement07.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement08.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement08.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement09.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement09.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement10.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement10.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement11.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement11.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement12.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableColElement12.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement01.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement01.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement02.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement03.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement03.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement04.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement04.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement05.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement05.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement06.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement06.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement07.js132
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement07.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement08.js129
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement08.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement09.js132
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement09.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement10.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement10.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement11.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement11.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement12.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement12.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement13.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement13.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement14-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement14.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement14.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement15-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement15.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement15.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement16-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement16.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement16.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement17-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement17.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement17.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement18-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement18.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement18.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement19-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement19.js123
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement19.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement20-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement20.js122
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement20.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement21-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement21.js139
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement21.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement22-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement22.js123
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement22.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement23-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement23.js122
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement23.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement24-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement24.js139
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement24.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement25-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement25.js121
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement25.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement26-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement26.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement26.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement27-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement27.js119
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement27.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement28-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement28.js133
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement28.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement29-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement29.js137
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement29.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement30-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement30.js144
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement30.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement31-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement31.js138
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement31.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement32-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement32.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement32.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement33-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement33.js124
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement33.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement34-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement34.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement34.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement35-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement35.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement35.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement36-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement36.js124
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement36.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement37-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement37.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement37.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement38-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement38.js124
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement38.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement39-expected.txt3
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement39.js139
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement39.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement40-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement40.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableElement40.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement01.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement01.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement02.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement03.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement03.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement04.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement04.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement05.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement05.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement06.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement06.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement07.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement07.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement08.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement08.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement09.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement09.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement10.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement10.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement11.js144
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement11.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement12.js143
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement12.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement13.js144
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement13.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement14-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement14.js144
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement14.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement15-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement15.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement15.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement16-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement16.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement16.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement17-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement17.js124
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement17.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement18-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement18.js124
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement18.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement19-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement19.js124
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement19.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement20-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement20.js146
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement20.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement21-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement21.js146
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement21.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement01.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement01.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement02.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement03.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement03.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement04.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement04.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement05.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement05.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement06.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement06.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement07.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement07.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement08.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement08.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement09.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement09.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement10.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement10.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement11.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement11.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement12.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement12.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement13.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement13.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement14-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement14.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement14.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement15-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement15.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement15.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement16-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement16.js126
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement16.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement17-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement17.js126
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement17.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement18-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement18.js126
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement18.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement19-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement19.js127
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement19.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement20-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement20.js127
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement20.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement21-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement21.js128
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement21.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement22-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement22.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement22.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement23-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement23.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement23.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement24-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement24.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement24.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement25-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement25.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement25.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement26-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement26.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement26.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement27-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement27.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement27.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement28-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement28.js125
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement28.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement29-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement29.js124
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement29.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement30-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement30.js130
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement30.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement31-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement31.js128
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement31.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement01.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement01.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement02.js117
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement02.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement03.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement03.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement04.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement04.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement05.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement05.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement06.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement06.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement07.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement07.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement08.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement08.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement09.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement09.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement10.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement10.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement11.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement11.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement12.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement12.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement13.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement13.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement14-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement14.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement14.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement15-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement15.js107
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement15.xhtml27
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTitleElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTitleElement01.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLTitleElement01.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLUListElement01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLUListElement01.js114
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLUListElement01.xhtml38
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLUListElement02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLUListElement02.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/HTMLUListElement02.xhtml38
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor01.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor01.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor02.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor02.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor03.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor03.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor04.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor04.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor05.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor05.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor06.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/anchor06.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/applets/DOMTSApplet.datbin0 -> 956 bytes
-rw-r--r--LayoutTests/dom/xhtml/level2/html/applets/org/w3c/domts/DOMTSApplet.classbin0 -> 1584 bytes
-rw-r--r--LayoutTests/dom/xhtml/level2/html/area01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/area01.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/area01.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/area02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/area02.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/area02.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/area03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/area03.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/area03.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/area04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/area04.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/area04.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/basefont01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/basefont01.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/basefont01.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/body01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/body01.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/body01.xhtml22
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button01.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button01.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button02.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button03.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button03.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button04.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button04.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button05.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button05.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button06.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button06.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button07.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button07.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button08.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button08.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button09.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/button09.xhtml24
-rw-r--r--LayoutTests/dom/xhtml/level2/html/dlist01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/dlist01.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/dlist01.xhtml17
-rw-r--r--LayoutTests/dom/xhtml/level2/html/doc01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/doc01.js106
-rw-r--r--LayoutTests/dom/xhtml/level2/html/doc01.xhtml14
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature01.js96
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature01.xhtml25
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature02.js95
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature02.xhtml25
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature03.js98
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature03.xhtml25
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature04.js97
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature04.xhtml25
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature05.js96
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature05.xhtml25
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature06.js95
-rw-r--r--LayoutTests/dom/xhtml/level2/html/hasFeature06.xhtml25
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object01.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object01.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object02.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object02.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object03.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object03.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object04.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object04.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object05-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object05.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object05.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object06.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object07.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object07.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object08.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object08.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object09.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object09.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object10.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object10.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object11-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object11.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object11.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object12.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object12.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object13-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object13.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object13.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object14-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object14.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object14.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object15-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object15.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/object15.xhtml20
-rw-r--r--LayoutTests/dom/xhtml/level2/html/resources/COPYRIGHT.xhtml102
-rw-r--r--LayoutTests/dom/xhtml/level2/html/resources/frame.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/resources/iframe.xhtml12
-rw-r--r--LayoutTests/dom/xhtml/level2/html/right.pngbin0 -> 137 bytes
-rw-r--r--LayoutTests/dom/xhtml/level2/html/selfxhtml.js750
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table01-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table01.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table01.xhtml15
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table02-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table02.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table02.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table03-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table03.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table03.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table04-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table04.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table04.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table06-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table06.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table06.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table07-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table07.js118
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table07.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table08-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table08.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table08.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table09-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table09.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table09.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table10-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table10.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table10.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table12-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table12.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table12.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table15-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table15.js118
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table15.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table17-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table17.js115
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table17.xhtml65
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table18-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table18.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table18.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table19-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table19.js113
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table19.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table20-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table20.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table20.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table21-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table21.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table21.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table22-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table22.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table22.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table23-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table23.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table23.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table24-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table24.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table24.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table25-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table25.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table25.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table26-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table26.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table26.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table27-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table27.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table27.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table28-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table28.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table28.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table29-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table29.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table29.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table30-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table30.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table30.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table31-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table31.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table31.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table32-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table32.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table32.xhtml26
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table33-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table33.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table33.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table34-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table34.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table34.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table35-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table35.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table35.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table36-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table36.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table36.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table37-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table37.js111
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table37.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table38-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table38.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table38.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table39-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table39.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table39.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table40-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table40.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table40.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table41-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table41.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table41.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table42-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table42.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table42.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table43-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table43.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table43.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table44-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table44.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table44.xhtml81
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table45-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table45.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table45.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table46-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table46.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table46.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table47-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table47.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table47.xhtml62
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table48-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table48.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table48.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table49-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table49.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table49.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table50-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table50.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table50.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table51-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table51.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table51.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table52-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table52.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table52.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table53-expected.txt2
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table53.js112
-rw-r--r--LayoutTests/dom/xhtml/level2/html/table53.xhtml29
-rw-r--r--LayoutTests/dom/xhtml/level2/html/w3c_main.pngbin0 -> 5904 bytes
-rw-r--r--LayoutTests/dom/xhtml/level2/html/xhtml-lat1.ent196
-rw-r--r--LayoutTests/dom/xhtml/level2/html/xhtml-special.ent80
-rw-r--r--LayoutTests/dom/xhtml/level2/html/xhtml-symbol.ent237
-rw-r--r--LayoutTests/dom/xhtml/level2/html/xhtml1-frameset.dtd1235
-rw-r--r--LayoutTests/dom/xhtml/level2/html/xhtml1-strict.dtd978
-rw-r--r--LayoutTests/dom/xhtml/level2/html/xhtml1-transitional.dtd1201
-rw-r--r--LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument17-expected.txt3
-rw-r--r--LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument18-expected.txt3
-rw-r--r--LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument19-expected.txt3
-rw-r--r--LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument20-expected.txt3
-rw-r--r--LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument21-expected.txt3
-rw-r--r--LayoutTests/platform/android/dom/xhtml/level2/html/HTMLFormElement10-expected.txt0
2204 files changed, 134675 insertions, 0 deletions
diff --git a/LayoutTests/dom/xhtml/level2/core/createAttributeNS06-expected.txt b/LayoutTests/dom/xhtml/level2/core/createAttributeNS06-expected.txt
new file mode 100644
index 0000000..791514d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/createAttributeNS06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/createAttributeNS06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/core/createAttributeNS06.js b/LayoutTests/dom/xhtml/level2/core/createAttributeNS06.js
new file mode 100644
index 0000000..b788b3d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/createAttributeNS06.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/createAttributeNS06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Document.createAttributeNS with an empty qualified name should cause an INVALID_CHARACTER_ERR.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrAttrNS
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrAttrNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])
+* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525
+*/
+function createAttributeNS06() {
+ var success;
+ if(checkInitialization(builder, "createAttributeNS06") != null) return;
+ var namespaceURI = "http://www.example.com/";
+ var qualifiedName;
+ var doc;
+ var newAttr;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+
+ {
+ success = false;
+ try {
+ newAttr = doc.createAttributeNS(namespaceURI,"");
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 5);
+ }
+ assertTrue("throw_INVALID_CHARACTER_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ createAttributeNS06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/createAttributeNS06.xhtml b/LayoutTests/dom/xhtml/level2/core/createAttributeNS06.xhtml
new file mode 100644
index 0000000..4a354c8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/createAttributeNS06.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="createAttributeNS06.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/core/createDocument08-expected.txt b/LayoutTests/dom/xhtml/level2/core/createDocument08-expected.txt
new file mode 100644
index 0000000..85ae253
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/createDocument08-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/createDocument08
+Status failure
+Message throw_INVALID_CHARACTER_ERR: assertTrue failed
diff --git a/LayoutTests/dom/xhtml/level2/core/createDocument08.js b/LayoutTests/dom/xhtml/level2/core/createDocument08.js
new file mode 100644
index 0000000..bcaacc1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/createDocument08.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/createDocument08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ if (docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+DOMImplementation.createDocument with an empty qualified name should cause an INVALID_CHARACTER_ERR.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#
+* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525
+*/
+function createDocument08() {
+ var success;
+ if(checkInitialization(builder, "createDocument08") != null) return;
+ var namespaceURI = "http://www.example.org/schema";
+ var docType = null;
+
+ var domImpl;
+ var aNewDoc;
+ var charact;
+ domImpl = getImplementation();
+
+ {
+ success = false;
+ try {
+ aNewDoc = domImpl.createDocument(namespaceURI,"",docType);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 5);
+ }
+ assertTrue("throw_INVALID_CHARACTER_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ createDocument08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/createDocument08.xhtml b/LayoutTests/dom/xhtml/level2/core/createDocument08.xhtml
new file mode 100644
index 0000000..f1e00ef
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/createDocument08.xhtml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<!--
+Copyright(c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>implementation</title>
+ <script type='text/javascript' src='selfxhtml.js'></script>
+ <script type='text/javascript' charset='UTF-8' src='createDocument08.js'></script>
+ <script type='text/javascript'>function loadComplete() { startTest(); }</script>
+ </head>
+ <body onload="loadComplete()">
+ </body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/core/createDocumentType04-expected.txt b/LayoutTests/dom/xhtml/level2/core/createDocumentType04-expected.txt
new file mode 100644
index 0000000..159516a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/createDocumentType04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/createDocumentType04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/core/createDocumentType04.js b/LayoutTests/dom/xhtml/level2/core/createDocumentType04.js
new file mode 100644
index 0000000..d25f864
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/createDocumentType04.js
@@ -0,0 +1,108 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/createDocumentType04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ if (docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+DOMImplementation.createDocumentType with an empty name should cause an INVALID_CHARACTER_ERR.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocType
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocType')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])
+* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525
+*/
+function createDocumentType04() {
+ var success;
+ if(checkInitialization(builder, "createDocumentType04") != null) return;
+ var publicId = "http://www.example.com/";
+ var systemId = "myDoc.dtd";
+ var qualifiedName;
+ var docType = null;
+
+ var domImpl;
+ domImpl = getImplementation();
+
+ {
+ success = false;
+ try {
+ docType = domImpl.createDocumentType("",publicId,systemId);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 5);
+ }
+ assertTrue("throw_INVALID_CHARACTER_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ createDocumentType04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/createDocumentType04.xhtml b/LayoutTests/dom/xhtml/level2/core/createDocumentType04.xhtml
new file mode 100644
index 0000000..c5a4a9f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/createDocumentType04.xhtml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<!--
+Copyright(c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>implementation</title>
+ <script type='text/javascript' src='selfxhtml.js'></script>
+ <script type='text/javascript' charset='UTF-8' src='createDocumentType04.js'></script>
+ <script type='text/javascript'>function loadComplete() { startTest(); }</script>
+ </head>
+ <body onload="loadComplete()">
+ </body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/core/createElementNS06.js b/LayoutTests/dom/xhtml/level2/core/createElementNS06.js
new file mode 100644
index 0000000..e0dd3eb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/createElementNS06.js
@@ -0,0 +1,119 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/createElementNS06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Document.createElementNS with an empty qualified name should cause an INVALID_CHARACTER_ERR.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-DocCrElNS
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-DocCrElNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])
+* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525
+*/
+function createElementNS06() {
+ var success;
+ if(checkInitialization(builder, "createElementNS06") != null) return;
+ var namespaceURI = "http://www.example.com/";
+ var qualifiedName;
+ var doc;
+ var done;
+ var newElement;
+ var charact;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+
+ {
+ success = false;
+ try {
+ newElement = doc.createElementNS(namespaceURI,"");
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 5);
+ }
+ assertTrue("throw_INVALID_CHARACTER_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ createElementNS06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1-expected.txt b/LayoutTests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1-expected.txt
new file mode 100644
index 0000000..9990753
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_entitiesremovenameditemns1
+Status failure
+Message entitiesNotNull: assertNotNull failed
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1.js b/LayoutTests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1.js
new file mode 100644
index 0000000..b747021
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1.js
@@ -0,0 +1,141 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_entitiesremovenameditemns1";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An attempt to add remove an entity using removeNamedItemNS should result in
+a NO_MODIFICATION_ERR or a NOT_FOUND_ERR.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-1788794630
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-removeNamedItemNS
+*/
+function hc_entitiesremovenameditemns1() {
+ var success;
+ if(checkInitialization(builder, "hc_entitiesremovenameditemns1") != null) return;
+ var doc;
+ var entities;
+ var docType;
+ var retval;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ docType = doc.doctype;
+
+
+ if(
+
+ !(
+ (builder.contentType == "text/html")
+)
+
+ ) {
+ assertNotNull("docTypeNotNull",docType);
+entities = docType.entities;
+
+ assertNotNull("entitiesNotNull",entities);
+
+ try {
+ retval = entities.removeNamedItemNS("http://www.w3.org/1999/xhtml","alpha");
+ fail("throw_NO_MOD_OR_NOT_FOUND_ERR");
+
+ } catch (ex) {
+ if (typeof(ex.code) != 'undefined') {
+ switch(ex.code) {
+ case /* NO_MODIFICATION_ALLOWED_ERR */ 7 :
+ break;
+ case /* NOT_FOUND_ERR */ 8 :
+ break;
+ default:
+ throw ex;
+ }
+ } else {
+ throw ex;
+ }
+ }
+
+ }
+
+}
+
+
+
+
+function runTest() {
+ hc_entitiesremovenameditemns1();
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1.xhtml b/LayoutTests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1.xhtml
new file mode 100644
index 0000000..2cff41e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_entitiesremovenameditemns1.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="hc_entitiesremovenameditemns1.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_entitiessetnameditemns1-expected.txt b/LayoutTests/dom/xhtml/level2/core/hc_entitiessetnameditemns1-expected.txt
new file mode 100644
index 0000000..7d070cc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_entitiessetnameditemns1-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_entitiessetnameditemns1
+Status failure
+Message entitiesNotNull: assertNotNull failed
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_entitiessetnameditemns1.js b/LayoutTests/dom/xhtml/level2/core/hc_entitiessetnameditemns1.js
new file mode 100644
index 0000000..4b5e134
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_entitiessetnameditemns1.js
@@ -0,0 +1,143 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_entitiessetnameditemns1";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An attempt to add an element to the named node map returned by entities should
+result in a NO_MODIFICATION_ERR or HIERARCHY_REQUEST_ERR.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-1788794630
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-setNamedItemNS
+*/
+function hc_entitiessetnameditemns1() {
+ var success;
+ if(checkInitialization(builder, "hc_entitiessetnameditemns1") != null) return;
+ var doc;
+ var entities;
+ var docType;
+ var retval;
+ var elem;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ docType = doc.doctype;
+
+
+ if(
+
+ !(
+ (builder.contentType == "text/html")
+)
+
+ ) {
+ assertNotNull("docTypeNotNull",docType);
+entities = docType.entities;
+
+ assertNotNull("entitiesNotNull",entities);
+elem = doc.createElementNS("http://www.w3.org/1999/xhtml","br");
+
+ try {
+ retval = entities.setNamedItemNS(elem);
+ fail("throw_HIER_OR_NO_MOD_ERR");
+
+ } catch (ex) {
+ if (typeof(ex.code) != 'undefined') {
+ switch(ex.code) {
+ case /* HIERARCHY_REQUEST_ERR */ 3 :
+ break;
+ case /* NO_MODIFICATION_ALLOWED_ERR */ 7 :
+ break;
+ default:
+ throw ex;
+ }
+ } else {
+ throw ex;
+ }
+ }
+
+ }
+
+}
+
+
+
+
+function runTest() {
+ hc_entitiessetnameditemns1();
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_entitiessetnameditemns1.xhtml b/LayoutTests/dom/xhtml/level2/core/hc_entitiessetnameditemns1.xhtml
new file mode 100644
index 0000000..d5ae8de
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_entitiessetnameditemns1.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="hc_entitiessetnameditemns1.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1-expected.txt b/LayoutTests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1-expected.txt
new file mode 100644
index 0000000..bdd9b08
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_namednodemapinvalidtype1
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1.js b/LayoutTests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1.js
new file mode 100644
index 0000000..0cffa0e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1.js
@@ -0,0 +1,124 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_namednodemapinvalidtype1";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Attempt to insert an element into an attribute list,
+should raise a HIERARCHY_REQUEST_ERR.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#xpointer(id('ID-258A00AF')/constant[@name='HIERARCHY_REQUEST_ERR'])
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-1025163788
+* @see http://www.w3.org/2000/11/DOM-Level-2-errata#core-4
+*/
+function hc_namednodemapinvalidtype1() {
+ var success;
+ if(checkInitialization(builder, "hc_namednodemapinvalidtype1") != null) return;
+ var doc;
+ var attributes;
+ var docElem;
+ var newElem;
+ var retval;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ docElem = doc.documentElement;
+
+ attributes = docElem.attributes;
+
+ newElem = doc.createElement("html");
+
+ {
+ success = false;
+ try {
+ retval = attributes.setNamedItem(newElem);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 3);
+ }
+ assertTrue("throw_HIERARCHY_REQUEST_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ hc_namednodemapinvalidtype1();
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1.xhtml b/LayoutTests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1.xhtml
new file mode 100644
index 0000000..1e7e405
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_namednodemapinvalidtype1.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="hc_namednodemapinvalidtype1.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1-expected.txt b/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1-expected.txt
new file mode 100644
index 0000000..4f700ce
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_nodedocumentfragmentnormalize1
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1.js b/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1.js
new file mode 100644
index 0000000..dd681a6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1.js
@@ -0,0 +1,121 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_nodedocumentfragmentnormalize1";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Create a document fragment with two adjacent text nodes, normalize and see if the text nodes
+were combined.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-F68D095
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-B63ED1A3
+*/
+function hc_nodedocumentfragmentnormalize1() {
+ var success;
+ if(checkInitialization(builder, "hc_nodedocumentfragmentnormalize1") != null) return;
+ var doc;
+ var docFragment;
+ var nodeValue;
+ var txtNode;
+ var retval;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ docFragment = doc.createDocumentFragment();
+ txtNode = doc.createTextNode("foo");
+ retval = docFragment.appendChild(txtNode);
+ txtNode = doc.createTextNode("bar");
+ retval = docFragment.appendChild(txtNode);
+ docFragment.normalize();
+ txtNode = docFragment.firstChild;
+
+ nodeValue = txtNode.nodeValue;
+
+ assertEquals("normalizedNodeValue","foobar",nodeValue);
+ retval = txtNode.nextSibling;
+
+ assertNull("singleChild",retval);
+
+}
+
+
+
+
+function runTest() {
+ hc_nodedocumentfragmentnormalize1();
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1.xhtml b/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1.xhtml
new file mode 100644
index 0000000..c9422e7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize1.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="hc_nodedocumentfragmentnormalize1.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2-expected.txt b/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2-expected.txt
new file mode 100644
index 0000000..9ee87c3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_nodedocumentfragmentnormalize2
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2.js b/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2.js
new file mode 100644
index 0000000..23c2e0e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_nodedocumentfragmentnormalize2";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Create a document fragment with an empty text node, after normalization there should be no child nodes.
+were combined.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-F68D095
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-B63ED1A3
+*/
+function hc_nodedocumentfragmentnormalize2() {
+ var success;
+ if(checkInitialization(builder, "hc_nodedocumentfragmentnormalize2") != null) return;
+ var doc;
+ var docFragment;
+ var nodeValue;
+ var txtNode;
+ var retval;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ docFragment = doc.createDocumentFragment();
+ txtNode = doc.createTextNode("");
+ retval = docFragment.appendChild(txtNode);
+ docFragment.normalize();
+ txtNode = docFragment.firstChild;
+
+ assertNull("noChild",txtNode);
+
+}
+
+
+
+
+function runTest() {
+ hc_nodedocumentfragmentnormalize2();
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2.xhtml b/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2.xhtml
new file mode 100644
index 0000000..43b7dec
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_nodedocumentfragmentnormalize2.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="hc_nodedocumentfragmentnormalize2.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_notationsremovenameditemns1-expected.txt b/LayoutTests/dom/xhtml/level2/core/hc_notationsremovenameditemns1-expected.txt
new file mode 100644
index 0000000..e2ec7b8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_notationsremovenameditemns1-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_notationsremovenameditemns1
+Status failure
+Message notationsNotNull: assertNotNull failed
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_notationsremovenameditemns1.js b/LayoutTests/dom/xhtml/level2/core/hc_notationsremovenameditemns1.js
new file mode 100644
index 0000000..0202283
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_notationsremovenameditemns1.js
@@ -0,0 +1,141 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_notationsremovenameditemns1";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An attempt to add remove an notation using removeNamedItemNS should result in
+a NO_MODIFICATION_ERR or a NOT_FOUND_ERR.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-D46829EF
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-removeNamedItemNS
+*/
+function hc_notationsremovenameditemns1() {
+ var success;
+ if(checkInitialization(builder, "hc_notationsremovenameditemns1") != null) return;
+ var doc;
+ var notations;
+ var docType;
+ var retval;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ docType = doc.doctype;
+
+
+ if(
+
+ !(
+ (builder.contentType == "text/html")
+)
+
+ ) {
+ assertNotNull("docTypeNotNull",docType);
+notations = docType.notations;
+
+ assertNotNull("notationsNotNull",notations);
+
+ try {
+ retval = notations.removeNamedItemNS("http://www.w3.org/1999/xhtml","alpha");
+ fail("throw_NO_MOD_OR_NOT_FOUND_ERR");
+
+ } catch (ex) {
+ if (typeof(ex.code) != 'undefined') {
+ switch(ex.code) {
+ case /* NO_MODIFICATION_ALLOWED_ERR */ 7 :
+ break;
+ case /* NOT_FOUND_ERR */ 8 :
+ break;
+ default:
+ throw ex;
+ }
+ } else {
+ throw ex;
+ }
+ }
+
+ }
+
+}
+
+
+
+
+function runTest() {
+ hc_notationsremovenameditemns1();
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_notationsremovenameditemns1.xhtml b/LayoutTests/dom/xhtml/level2/core/hc_notationsremovenameditemns1.xhtml
new file mode 100644
index 0000000..cffa87e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_notationsremovenameditemns1.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="hc_notationsremovenameditemns1.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_notationssetnameditemns1-expected.txt b/LayoutTests/dom/xhtml/level2/core/hc_notationssetnameditemns1-expected.txt
new file mode 100644
index 0000000..a22869a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_notationssetnameditemns1-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_notationssetnameditemns1
+Status failure
+Message notationsNotNull: assertNotNull failed
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_notationssetnameditemns1.js b/LayoutTests/dom/xhtml/level2/core/hc_notationssetnameditemns1.js
new file mode 100644
index 0000000..a2df4f5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_notationssetnameditemns1.js
@@ -0,0 +1,143 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/hc_notationssetnameditemns1";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An attempt to add an element to the named node map returned by notations should
+result in a NO_MODIFICATION_ERR or HIERARCHY_REQUEST_ERR.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-D46829EF
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-setNamedItemNS
+*/
+function hc_notationssetnameditemns1() {
+ var success;
+ if(checkInitialization(builder, "hc_notationssetnameditemns1") != null) return;
+ var doc;
+ var notations;
+ var docType;
+ var retval;
+ var elem;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ docType = doc.doctype;
+
+
+ if(
+
+ !(
+ (builder.contentType == "text/html")
+)
+
+ ) {
+ assertNotNull("docTypeNotNull",docType);
+notations = docType.notations;
+
+ assertNotNull("notationsNotNull",notations);
+elem = doc.createElementNS("http://www.w3.org/1999/xhtml","br");
+
+ try {
+ retval = notations.setNamedItemNS(elem);
+ fail("throw_HIER_OR_NO_MOD_ERR");
+
+ } catch (ex) {
+ if (typeof(ex.code) != 'undefined') {
+ switch(ex.code) {
+ case /* HIERARCHY_REQUEST_ERR */ 3 :
+ break;
+ case /* NO_MODIFICATION_ALLOWED_ERR */ 7 :
+ break;
+ default:
+ throw ex;
+ }
+ } else {
+ throw ex;
+ }
+ }
+
+ }
+
+}
+
+
+
+
+function runTest() {
+ hc_notationssetnameditemns1();
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/hc_notationssetnameditemns1.xhtml b/LayoutTests/dom/xhtml/level2/core/hc_notationssetnameditemns1.xhtml
new file mode 100644
index 0000000..12bfcf1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/hc_notationssetnameditemns1.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="hc_notationssetnameditemns1.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/core/resources/COPYRIGHT.xhtml b/LayoutTests/dom/xhtml/level2/core/resources/COPYRIGHT.xhtml
new file mode 100644
index 0000000..295cf8e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/resources/COPYRIGHT.xhtml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+ <head>
+ <title>W3C IPR SOFTWARE NOTICE</title>
+ </head>
+ <body>
+ <h1>
+ W3C IPR SOFTWARE NOTICE
+ </h1>
+ <h3>
+ Copyright &#xA9; 2002-2005 <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved.
+ </h3>
+ <p>
+ The DOM Conformance Test Suite for Level 2 core is published under
+ the W3C Software Copyright Notice and License. The software
+ license requires "Notice of any changes or modifications to the
+ W3C files, including the date changes were made." Consequently,
+ modified versions of the DOM ECMAScript or Java tests must
+ document that they do not conform to the DOM Conformance Test
+ Suites; in the case of the Java language binding, the package
+ names can no longer be in the 'org.w3c' package.
+ </p>
+ <p>
+ <b>Note:</b> The original version of the W3C Software Copyright Notice
+ and License could be found at <a
+ href='http://www.w3.org/Consortium/Legal/copyright-software-19980720'>http://www.w3.org/Consortium/Legal/copyright-software-19980720</a>
+ </p>
+ <h3>
+ Copyright &#xA9; 1994-2005 <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved. http://www.w3.org/Consortium/Legal/
+ </h3>
+ <p>
+ This W3C work (including software, documents, or other related items) is
+ being provided by the copyright holders under the following license. By
+ obtaining, using and/or copying this work, you (the licensee) agree that
+ you have read, understood, and will comply with the following terms and
+ conditions:
+ </p>
+ <p>
+ Permission to use, copy, and modify this software and its documentation,
+ with or without modification,&#xA0; for any purpose and without fee or
+ royalty is hereby granted, provided that you include the following on ALL
+ copies of the software and documentation or portions thereof, including
+ modifications, that you make:
+ </p>
+ <ol>
+ <li>
+ The full text of this NOTICE in a location viewable to users of the
+ redistributed or derivative work.
+ </li>
+ <li>
+ Any pre-existing intellectual property disclaimers, notices, or terms
+ and conditions. If none exist, a short notice of the following form
+ (hypertext is preferred, text is permitted) should be used within the
+ body of any redistributed or derivative code: "Copyright &#xA9;
+ [$date-of-software] <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved. http://www.w3.org/Consortium/Legal/"
+ </li>
+ <li>
+ Notice of any changes or modifications to the W3C files, including the
+ date changes were made. (We recommend you provide URIs to the location
+ from which the code is derived.)
+ </li>
+ </ol>
+ <p>
+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
+ HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
+ DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
+ TRADEMARKS OR OTHER RIGHTS.
+ </p>
+ <p>
+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+ CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+ DOCUMENTATION.
+ </p>
+ <p>
+ The name and trademarks of copyright holders may NOT be used in
+ advertising or publicity pertaining to the software without specific,
+ written prior permission. Title to copyright in this software and any
+ associated documentation will at all times remain with copyright
+ holders.
+ </p>
+ </body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/core/selfxhtml.js b/LayoutTests/dom/xhtml/level2/core/selfxhtml.js
new file mode 100644
index 0000000..98a710a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/selfxhtml.js
@@ -0,0 +1,743 @@
+/*
+Copyright (c) 2001-2005 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+ function assertSize(descr, expected, actual) {
+ var actualSize;
+ assertNotNull(descr, actual);
+ actualSize = actual.length;
+ assertEquals(descr, expected, actualSize);
+ }
+
+ function assertEqualsAutoCase(context, descr, expected, actual) {
+ if (builder.contentType == "text/html") {
+ if(context == "attribute") {
+ assertEquals(descr, expected.toLowerCase(), actual.toLowerCase());
+ } else {
+ assertEquals(descr, expected.toUpperCase(), actual);
+ }
+ } else {
+ assertEquals(descr, expected, actual);
+ }
+ }
+
+
+ function assertEqualsCollectionAutoCase(context, descr, expected, actual) {
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+
+ //
+ // if there length is the same, then every entry in the expected list
+ // must appear once and only once in the actual list
+ var expectedLen = expected.length;
+ var expectedValue;
+ var actualLen = actual.length;
+ var i;
+ var j;
+ var matches;
+ for(i = 0; i < expectedLen; i++) {
+ matches = 0;
+ expectedValue = expected[i];
+ for(j = 0; j < actualLen; j++) {
+ if (builder.contentType == "text/html") {
+ if (context == "attribute") {
+ if (expectedValue.toLowerCase() == actual[j].toLowerCase()) {
+ matches++;
+ }
+ } else {
+ if (expectedValue.toUpperCase() == actual[j]) {
+ matches++;
+ }
+ }
+ } else {
+ if(expectedValue == actual[j]) {
+ matches++;
+ }
+ }
+ }
+ if(matches == 0) {
+ assert(descr + ": No match found for " + expectedValue,false);
+ }
+ if(matches > 1) {
+ assert(descr + ": Multiple matches found for " + expectedValue, false);
+ }
+ }
+ }
+
+ function assertEqualsCollection(descr, expected, actual) {
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ //
+ // if there length is the same, then every entry in the expected list
+ // must appear once and only once in the actual list
+ var expectedLen = expected.length;
+ var expectedValue;
+ var actualLen = actual.length;
+ var i;
+ var j;
+ var matches;
+ for(i = 0; i < expectedLen; i++) {
+ matches = 0;
+ expectedValue = expected[i];
+ for(j = 0; j < actualLen; j++) {
+ if(expectedValue == actual[j]) {
+ matches++;
+ }
+ }
+ if(matches == 0) {
+ assert(descr + ": No match found for " + expectedValue,false);
+ }
+ if(matches > 1) {
+ assert(descr + ": Multiple matches found for " + expectedValue, false);
+ }
+ }
+ }
+
+
+ function assertEqualsListAutoCase(context, descr, expected, actual) {
+ var minLength = expected.length;
+ if (actual.length < minLength) {
+ minLength = actual.length;
+ }
+ //
+ for(var i = 0; i < minLength; i++) {
+ assertEqualsAutoCase(context, descr, expected[i], actual[i]);
+ }
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ }
+
+
+ function assertEqualsList(descr, expected, actual) {
+ var minLength = expected.length;
+ if (actual.length < minLength) {
+ minLength = actual.length;
+ }
+ //
+ for(var i = 0; i < minLength; i++) {
+ if(expected[i] != actual[i]) {
+ assertEquals(descr, expected[i], actual[i]);
+ }
+ }
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ }
+
+ function assertInstanceOf(descr, type, obj) {
+ if(type == "Attr") {
+ assertEquals(descr,2,obj.nodeType);
+ var specd = obj.specified;
+ }
+ }
+
+ function assertSame(descr, expected, actual) {
+ if(expected != actual) {
+ assertEquals(descr, expected.nodeType, actual.nodeType);
+ assertEquals(descr, expected.nodeValue, actual.nodeValue);
+ }
+ }
+
+ function assertURIEquals(assertID, scheme, path, host, file, name, query, fragment, isAbsolute, actual) {
+ //
+ // URI must be non-null
+ assertNotNull(assertID, actual);
+
+ var uri = actual;
+
+ var lastPound = actual.lastIndexOf("#");
+ var actualFragment = "";
+ if(lastPound != -1) {
+ //
+ // substring before pound
+ //
+ uri = actual.substring(0,lastPound);
+ actualFragment = actual.substring(lastPound+1);
+ }
+ if(fragment != null) assertEquals(assertID,fragment, actualFragment);
+
+ var lastQuestion = uri.lastIndexOf("?");
+ var actualQuery = "";
+ if(lastQuestion != -1) {
+ //
+ // substring before pound
+ //
+ uri = actual.substring(0,lastQuestion);
+ actualQuery = actual.substring(lastQuestion+1);
+ }
+ if(query != null) assertEquals(assertID, query, actualQuery);
+
+ var firstColon = uri.indexOf(":");
+ var firstSlash = uri.indexOf("/");
+ var actualPath = uri;
+ var actualScheme = "";
+ if(firstColon != -1 && firstColon < firstSlash) {
+ actualScheme = uri.substring(0,firstColon);
+ actualPath = uri.substring(firstColon + 1);
+ }
+
+ if(scheme != null) {
+ assertEquals(assertID, scheme, actualScheme);
+ }
+
+ if(path != null) {
+ assertEquals(assertID, path, actualPath);
+ }
+
+ if(host != null) {
+ var actualHost = "";
+ if(actualPath.substring(0,2) == "//") {
+ var termSlash = actualPath.substring(2).indexOf("/") + 2;
+ actualHost = actualPath.substring(0,termSlash);
+ }
+ assertEquals(assertID, host, actualHost);
+ }
+
+ if(file != null || name != null) {
+ var actualFile = actualPath;
+ var finalSlash = actualPath.lastIndexOf("/");
+ if(finalSlash != -1) {
+ actualFile = actualPath.substring(finalSlash+1);
+ }
+ if (file != null) {
+ assertEquals(assertID, file, actualFile);
+ }
+ if (name != null) {
+ var actualName = actualFile;
+ var finalDot = actualFile.lastIndexOf(".");
+ if (finalDot != -1) {
+ actualName = actualName.substring(0, finalDot);
+ }
+ assertEquals(assertID, name, actualName);
+ }
+ }
+
+ if(isAbsolute != null) {
+ assertEquals(assertID, isAbsolute, actualPath.substring(0,1) == "/");
+ }
+ }
+
+
+// size() used by assertSize element
+function size(collection)
+{
+ return collection.length;
+}
+
+function same(expected, actual)
+{
+ return expected === actual;
+}
+
+function equalsAutoCase(context, expected, actual) {
+ if (builder.contentType == "text/html") {
+ if (context == "attribute") {
+ return expected.toLowerCase() == actual;
+ }
+ return expected.toUpperCase() == actual;
+ }
+ return expected == actual;
+}
+
+function toLowerArray(src) {
+ var newArray = new Array();
+ var i;
+ for (i = 0; i < src.length; i++) {
+ newArray[i] = src[i].toLowerCase();
+ }
+ return newArray;
+}
+
+function createTempURI(scheme) {
+ if (scheme == "http") {
+ return "http://localhost:8080/webdav/tmp" + Math.floor(Math.random() * 100000) + ".xml";
+ }
+ return "file:///tmp/domts" + Math.floor(Math.random() * 100000) + ".xml";
+}
+
+
+
+function EventMonitor() {
+ this.atEvents = new Array();
+ this.bubbledEvents = new Array();
+ this.capturedEvents = new Array();
+ this.allEvents = new Array();
+}
+
+EventMonitor.prototype.handleEvent = function(evt) {
+ switch(evt.eventPhase) {
+ case 1:
+ monitor.capturedEvents[monitor.capturedEvents.length] = evt;
+ break;
+
+ case 2:
+ monitor.atEvents[monitor.atEvents.length] = evt;
+ break;
+
+ case 3:
+ monitor.bubbledEvents[monitor.bubbledEvents.length] = evt;
+ break;
+ }
+ monitor.allEvents[monitor.allEvents.length] = evt;
+}
+
+function DOMErrorImpl(err) {
+ this.severity = err.severity;
+ this.message = err.message;
+ this.type = err.type;
+ this.relatedException = err.relatedException;
+ this.relatedData = err.relatedData;
+ this.location = err.location;
+}
+
+
+
+function DOMErrorMonitor() {
+ this.allErrors = new Array();
+}
+
+DOMErrorMonitor.prototype.handleError = function(err) {
+ errorMonitor.allErrors[errorMonitor.allErrors.length] = new DOMErrorImpl(err);
+}
+
+DOMErrorMonitor.prototype.assertLowerSeverity = function(id, severity) {
+ var i;
+ for (i = 0; i < this.allErrors.length; i++) {
+ if (this.allErrors[i].severity >= severity) {
+ assertEquals(id, severity - 1, this.allErrors[i].severity);
+ }
+ }
+}
+
+function UserDataNotification(operation, key, data, src, dst) {
+ this.operation = operation;
+ this.key = key;
+ this.data = data;
+ this.src = src;
+ this.dst = dst;
+}
+
+function UserDataMonitor() {
+ this.allNotifications = new Array();
+}
+
+UserDataMonitor.prototype.handle = function(operation, key, data, src, dst) {
+ userDataMonitor.allNotifications[userDataMonitor.allNotifications.length] =
+ new UserDataNotification(operation, key, data, src, dst);
+}
+
+
+
+function HTMLBuilder() {
+ this.contentType = "application/xhtml+xml";
+ this.supportedContentTypes = [ "application/xhtml+xml" ];
+
+ this.supportsAsyncChange = false;
+ this.async = false;
+ this.fixedAttributeNames = [
+ "validating", "expandEntityReferences", "coalescing",
+ "signed", "hasNullString", "ignoringElementContentWhitespace", "namespaceAware", "ignoringComments", "schemaValidating"];
+
+ this.fixedAttributeValues = [false, true, false, true, true , false, true, false, false ];
+ this.configurableAttributeNames = [ ];
+ this.configurableAttributeValues = [ ];
+ this.initializationError = null;
+ this.initializationFatalError = null;
+ this.skipIncompatibleTests = true;
+ this.documentURLs = new Array();
+ this.documentVarnames = new Array();
+}
+
+HTMLBuilder.prototype.hasFeature = function(feature, version) {
+ return document.implementation.hasFeature(feature, version);
+}
+
+HTMLBuilder.prototype.getImplementation = function() {
+ return document.implementation;
+}
+
+HTMLBuilder.prototype.preload = function(frame, varname, url) {
+ var i;
+ this.documentVarnames[this.documentVarnames.length] = varname;
+ this.documentURLs[this.documentURLs.length] = url;
+ if (this.documentURLs.length > 1) {
+ //
+ // if all the urls are not the same
+ //
+ for (i = 1; i < this.documentURLs.length; i++) {
+ if (this.documentURLs[i] != this.documentURLs[0]) {
+ throw "Tests with multiple loads of different documents are not currently supported";
+ }
+ }
+ }
+ return 1;
+}
+
+HTMLBuilder.prototype.cloneNode = function(srcNode, doc) {
+ var clone = null;
+ switch(srcNode.nodeType) {
+ //
+ // element
+ case 1:
+ clone = doc.createElementNS(srcNode.namespaceURI, srcNode.nodeName);
+ var attrs = srcNode.attributes;
+ for(var i = 0; i < attrs.length; i++) {
+ var srcAttr = attrs.item(i);
+ clone.setAttributeNS(srcAttr.namespaceURI, srcAttr.nodeName, srcAttr.nodeValue);
+ }
+ var srcChild = srcNode.firstChild;
+ while(srcChild != null) {
+ var cloneChild = this.cloneNode(srcChild, doc);
+ if (cloneChild != null) {
+ clone.appendChild(cloneChild);
+ }
+ srcChild = srcChild.nextSibling;
+ }
+ break;
+
+ case 3:
+ clone = doc.createTextNode(srcNode.nodeValue);
+ break;
+
+ case 4:
+ clone = doc.createCDATASection(srcNode.nodeValue);
+ break;
+
+ case 5:
+ clone = doc.createEntityReference(srcNode.nodeName);
+ break;
+
+ case 7:
+ clone = doc.createProcessingInstruction(srcNode.target, srcNode.data);
+ break;
+
+ case 8:
+ clone = doc.createComment(srcNode.nodeValue);
+ break;
+ }
+ return clone;
+
+}
+
+
+HTMLBuilder.prototype.load = function(frame, varname, url) {
+ if (this.documentVarnames[0] == varname) {
+ return document;
+ }
+ //
+ //
+ // not a perfect way to do this
+ // Document.cloneNode is implementation dependent but exists in L1
+ // and implemented in IE. The alternative brute force copy
+ // only works in L2 or higher implementations and can't copy
+ // entity and notation definitions, etc.
+ var clone = null;
+ try {
+ clone = document.cloneNode(true);
+ } catch(ex) {
+ }
+ if (clone == null) {
+ clone = document.implementation.createDocument(
+ document.documentElement.namespaceURI,
+ document.documentElement.nodeName,
+ null);
+ //
+ // Work-around since
+ // Safari does not create document element
+ // create document.
+ if (clone.documentElement == null) {
+ clone.appendChild(clone.createElementNS(
+ document.documentElement.namespaceURI,
+ document.documentElement.nodeName));
+ }
+ var attrs = document.documentElement.attributes;
+ for(var i = 0; i < attrs.length; i++) {
+ var srcAttr = attrs.item(i);
+ clone.documentElement.setAttributeNS(
+ srcAttr.namespaceURI, srcAttr.nodeName, srcAttr.nodeValue);
+ }
+
+ var srcNode = document.firstChild;
+ while(srcNode != null && srcNode.nodeType != 1) {
+ if (srcNode.nodeType != 10) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ clone.insertBefore(cloneNode, clone.documentElement);
+ }
+ srcNode = srcNode.nextSibling;
+ }
+ srcNode = document.documentElement.nextSibling;
+ while(srcNode != null) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ clone.appendChild(cloneNode);
+ srcNode = srcNode.nextSibling;
+ }
+ srcNode = document.documentElement.firstChild;
+ while(srcNode != null) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ if (cloneNode != null) {
+ clone.documentElement.appendChild(cloneNode);
+ }
+ srcNode = srcNode.nextSibling;
+ }
+ }
+ return clone;
+}
+
+HTMLBuilder.prototype.getImplementationAttribute = function(attr) {
+ for (var i = 0; i < this.fixedAttributeNames.length; i++) {
+ if (this.fixedAttributeNames[i] == attr) {
+ return this.fixedAttributeValues[i];
+ }
+ }
+ throw "Unrecognized implementation attribute: " + attr;
+}
+
+
+HTMLBuilder.prototype.setImplementationAttribute = function(attribute, value) {
+ var supported = this.getImplementationAttribute(attribute);
+ if (supported != value) {
+ this.initializationError = "HTML loader does not support " + attribute + "=" + value;
+ }
+}
+
+HTMLBuilder.prototype.canSetImplementationAttribute = function(attribute, value) {
+ var supported = this.getImplementationAttribute(attribute);
+ return (supported == value);
+}
+
+
+
+
+function createConfiguredBuilder() {
+ return new HTMLBuilder();
+}
+
+function catchInitializationError(buildr, ex) {
+ buildr.initializationError = ex;
+ buildr.initializationFatalError = ex;
+}
+
+
+function checkFeature(feature, version)
+{
+ if (!builder.hasFeature(feature, version))
+ {
+ //
+ // don't throw exception so that users can select to ignore the precondition
+ //
+ builder.initializationError = "builder does not support feature " + feature + " version " + version;
+ }
+}
+
+function setResult(resultType, message) {
+ var testName = getTargetURI();
+ document.title = testName + ":" + resultType;
+ var xhtmlNS = "http://www.w3.org/1999/xhtml";
+ var newBody = document.createElementNS(xhtmlNS, "body");
+ var newTable = document.createElementNS(xhtmlNS, "table");
+ newTable.width = "100%";
+ newTable.border = "1";
+ newBody.appendChild(newTable);
+ var testRow = newTable.insertRow(-1);
+ var testDiv1 = testRow.insertCell(-1);
+ testDiv1.appendChild(document.createTextNode("Test"));
+ var testDiv2 = testRow.insertCell(-1);
+ testDiv2.appendChild(document.createTextNode(testName));
+ var statusRow = newTable.insertRow(-1);
+ var statusDiv1 = statusRow.insertCell(-1);
+ statusDiv1.appendChild(document.createTextNode("Status"));
+ var statusDiv2 = statusRow.insertCell(-1);
+ var style = "color:green";
+ if (resultType == null) {
+ statusDiv2.appendChild(document.createTextNode("Success"));
+ } else {
+ statusDiv2.appendChild(document.createTextNode(resultType));
+ if (resultType == "skip") {
+ style = "color:blue";
+ } else {
+ style = "color:red";
+ }
+ }
+ newTable.setAttributeNS(null, "style", style);
+ if (message != null) {
+ var messageRow = newTable.insertRow(-1);
+ var messageDiv1 = messageRow.insertCell(-1);
+ messageDiv1.appendChild(document.createTextNode("Message"));
+ var messageDiv2 = messageRow.insertCell(-1);
+ messageDiv2.appendChild(document.createTextNode(message));
+ }
+ var oldBody = document.getElementsByTagName("body")[0];
+ oldBody.parentNode.replaceChild(newBody, oldBody);
+ if (parent != window && typeof(parent.setResult) != 'undefined') {
+ parent.setResult(testName, resultType, message);
+ }
+}
+
+function checkInitialization(buildr, testname) {
+ return buildr.initializationError;
+}
+
+function preload(docRef, varname, href) {
+ return builder.preload(docRef, varname, href);
+}
+
+
+function load(docRef, varname, href) {
+ return builder.load(docRef, varname, href);
+}
+
+
+function getImplementationAttribute(attr) {
+ return builder.getImplementationAttribute(attr);
+}
+
+
+function setImplementationAttribute(attribute, value) {
+ builder.setImplementationAttribute(attribute, value);
+}
+
+function createXPathEvaluator(doc) {
+ try {
+ return doc.getFeature("XPath", null);
+ }
+ catch(ex) {
+ }
+ return doc;
+}
+
+
+function getImplementation() {
+ return builder.getImplementation();
+}
+
+function assertEquals(id, expected, actual) {
+ var myActual;
+ if (expected != actual) {
+ myActual = actual;
+ if (actual == null) {
+ myActual = "null";
+ }
+ throw "failure:" + id + ": assertEquals failed, actual " + myActual + ", expected " + expected + ".";
+ }
+}
+
+function assertNull(id, actual) {
+ if (actual != null) {
+ throw "failure:" + id + ": assertNull failed, actual " + actual;
+ }
+}
+
+
+function assertTrue(id, actual) {
+ if (!actual) {
+ throw "failure:" + id + ": assertTrue failed";
+ }
+}
+
+
+function assertFalse(id, actual) {
+ if (actual) {
+ throw "failure:" + id + ": assertTrue failed";
+ }
+}
+
+function assertNotNull(id, actual) {
+ if (actual == null) {
+ throw "failure:" + id + ": assertNotNull failed";
+ }
+}
+
+function fail(id) {
+ throw "failure:" + id + ": fail";
+}
+
+
+
+function getSuffix(contentType) {
+ switch(contentType) {
+ case "text/html":
+ return ".html";
+
+ case "text/xml":
+ return ".xml";
+
+ case "image/svg+xml":
+ return ".svg";
+
+ case "text/mathml":
+ return ".mml";
+ }
+ return ".xhtml";
+}
+
+
+function getResourceURI(name, scheme, contentType) {
+ var base = document.documentURI;
+ if (base == null) {
+ base = "";
+ } else {
+ base = base.substring(0, base.lastIndexOf('/') + 1) + "files/";
+ }
+ return base + name + getSuffix(contentType);
+}
+
+
+
+function startTest() {
+
+//
+// WebKit modification: 18-August-2005
+//
+// Inform the test controller that this test has a text-format result and so should
+// be dumped as text, and also that the dump should not occur automatically.
+//
+if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+}
+//
+// End WebKit modification
+//
+
+ //
+ // invoke test setup
+ //
+ setUpPage();
+ try {
+ runTest();
+ if (builder.initializationError == null) {
+ setResult(null, null);
+ } else {
+ setResult("skip", builder.initializationError);
+ }
+ } catch(ex) {
+ if (typeof(ex.substring) != 'undefined' && ex.substring(0, 8) == "failure:") {
+ setResult("failure", ex.substring(8));
+ } else {
+ setResult("error", ex);
+ }
+ }
+
+//
+// WebKit modification: 18-August-2005
+//
+// Inform the test controller that this test is complete, so it's time to dump.
+//
+ if (window.layoutTestController) {
+ layoutTestController.notifyDone();
+ }
+//
+// End WebKit modification
+//
+
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/setAttributeNS10-expected.txt b/LayoutTests/dom/xhtml/level2/core/setAttributeNS10-expected.txt
new file mode 100644
index 0000000..0ac5355
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/setAttributeNS10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/core/setAttributeNS10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/core/setAttributeNS10.js b/LayoutTests/dom/xhtml/level2/core/setAttributeNS10.js
new file mode 100644
index 0000000..c4abed6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/setAttributeNS10.js
@@ -0,0 +1,120 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/core/setAttributeNS10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Element.setAttributeNS with an empty qualified name should cause an INVALID_CHARACTER_ERR.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='INVALID_CHARACTER_ERR'])
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-ElSetAttrNS
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-ElSetAttrNS')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INVALID_CHARACTER_ERR'])
+* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=525
+*/
+function setAttributeNS10() {
+ var success;
+ if(checkInitialization(builder, "setAttributeNS10") != null) return;
+ var namespaceURI = "http://www.example.gov";
+ var doc;
+ var elementList;
+ var testAddr;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ elementList = doc.getElementsByTagName("em");
+ testAddr = elementList.item(0);
+
+ {
+ success = false;
+ try {
+ testAddr.setAttributeNS(namespaceURI,"","newValue");
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 5);
+ }
+ assertTrue("throw_INVALID_CHARACTER_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ setAttributeNS10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/core/setAttributeNS10.xhtml b/LayoutTests/dom/xhtml/level2/core/setAttributeNS10.xhtml
new file mode 100644
index 0000000..978f688
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/setAttributeNS10.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="setAttributeNS10.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/core/staff.dtd b/LayoutTests/dom/xhtml/level2/core/staff.dtd
new file mode 100644
index 0000000..02a994d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/staff.dtd
@@ -0,0 +1,17 @@
+<!ELEMENT employeeId (#PCDATA)>
+<!ELEMENT name (#PCDATA)>
+<!ELEMENT position (#PCDATA)>
+<!ELEMENT salary (#PCDATA)>
+<!ELEMENT address (#PCDATA)>
+<!ELEMENT entElement ( #PCDATA ) >
+<!ELEMENT gender ( #PCDATA | entElement )* >
+<!ELEMENT employee (employeeId, name, position, salary, gender, address) >
+<!ELEMENT staff (employee)+>
+<!ATTLIST entElement
+ attr1 CDATA "Attr">
+<!ATTLIST address
+ domestic CDATA #IMPLIED
+ street CDATA "Yes">
+<!ATTLIST entElement
+ domestic CDATA "MALE" >
+
diff --git a/LayoutTests/dom/xhtml/level2/core/staff2.dtd b/LayoutTests/dom/xhtml/level2/core/staff2.dtd
new file mode 100644
index 0000000..0bac8f2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/staff2.dtd
@@ -0,0 +1,24 @@
+<!ELEMENT employeeId (#PCDATA)>
+<!ELEMENT name (#PCDATA)>
+<!ELEMENT position (#PCDATA)>
+<!ELEMENT salary (#PCDATA)>
+<!ELEMENT address (#PCDATA)>
+<!ELEMENT gender ( #PCDATA)>
+<!ELEMENT employee (employeeId, name, position, salary, gender, address) >
+<!ATTLIST employee xmlns CDATA #IMPLIED>
+<!ELEMENT staff (employee)+>
+<!ELEMENT svg (rect, script, employee+)>
+<!ATTLIST svg
+ xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
+ name CDATA #IMPLIED>
+<!ELEMENT rect EMPTY>
+<!ATTLIST rect
+ x CDATA #REQUIRED
+ y CDATA #REQUIRED
+ width CDATA #REQUIRED
+ height CDATA #REQUIRED>
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script type CDATA #IMPLIED>
+<!ENTITY svgunit SYSTEM "svgunit.js">
+<!ENTITY svgtest SYSTEM "internalSubset01.js">
+
diff --git a/LayoutTests/dom/xhtml/level2/core/staffNS.dtd b/LayoutTests/dom/xhtml/level2/core/staffNS.dtd
new file mode 100644
index 0000000..7643773
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/staffNS.dtd
@@ -0,0 +1,45 @@
+<!ELEMENT staff (employee+,emp:employee,employee) >
+<!ELEMENT employee (employeeId,name,position,salary,gender,address) >
+<!ATTLIST employee xmlns CDATA #IMPLIED>
+<!ATTLIST employee xmlns:dmstc CDATA #IMPLIED>
+<!ATTLIST employee xmlns:emp2 CDATA #IMPLIED>
+
+<!ELEMENT employeeId (#PCDATA) >
+
+<!ELEMENT name (#PCDATA) >
+
+<!ELEMENT position (#PCDATA) >
+
+<!ELEMENT salary (#PCDATA) >
+
+<!ELEMENT entElement1 (#PCDATA) >
+<!ELEMENT gender (#PCDATA | entElement1)* >
+<!ATTLIST entElement1 xmlns:local1 CDATA #IMPLIED >
+
+<!ELEMENT address (#PCDATA) >
+<!ATTLIST address dmstc:domestic CDATA #IMPLIED>
+<!ATTLIST address street CDATA #IMPLIED>
+<!ATTLIST address domestic CDATA #IMPLIED>
+<!ATTLIST address xmlns CDATA #IMPLIED>
+
+<!ELEMENT emp:employee (emp:employeeId,nm:name,emp:position,emp:salary,emp:gender,emp:address) >
+<!ATTLIST emp:employee xmlns:emp CDATA #IMPLIED>
+<!ATTLIST emp:employee xmlns:nm CDATA #IMPLIED>
+<!ATTLIST emp:employee defaultAttr CDATA 'defaultVal'>
+
+<!ELEMENT emp:employeeId (#PCDATA) >
+
+<!ELEMENT nm:name (#PCDATA) >
+
+<!ELEMENT emp:position (#PCDATA) >
+
+<!ELEMENT emp:salary (#PCDATA) >
+
+<!ELEMENT emp:gender (#PCDATA) >
+
+<!ELEMENT emp:address (#PCDATA) >
+<!ATTLIST emp:address emp:domestic CDATA #IMPLIED>
+<!ATTLIST emp:address street CDATA #IMPLIED>
+<!ATTLIST emp:address emp:zone ID #IMPLIED>
+<!ATTLIST emp:address emp:district CDATA 'DISTRICT'>
+<!ATTLIST emp:address emp:local1 CDATA 'FALSE'>
diff --git a/LayoutTests/dom/xhtml/level2/core/xhtml-lat1.ent b/LayoutTests/dom/xhtml/level2/core/xhtml-lat1.ent
new file mode 100644
index 0000000..ffee223
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/xhtml-lat1.ent
@@ -0,0 +1,196 @@
+<!-- Portions (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+ <!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
+ %HTMLlat1;
+-->
+
+<!ENTITY nbsp "&#160;"> <!-- no-break space = non-breaking space,
+ U+00A0 ISOnum -->
+<!ENTITY iexcl "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
+<!ENTITY cent "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
+<!ENTITY pound "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
+<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
+<!ENTITY yen "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
+<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
+ U+00A6 ISOnum -->
+<!ENTITY sect "&#167;"> <!-- section sign, U+00A7 ISOnum -->
+<!ENTITY uml "&#168;"> <!-- diaeresis = spacing diaeresis,
+ U+00A8 ISOdia -->
+<!ENTITY copy "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
+<!ENTITY ordf "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
+<!ENTITY laquo "&#171;"> <!-- left-pointing double angle quotation mark
+ = left pointing guillemet, U+00AB ISOnum -->
+<!ENTITY not "&#172;"> <!-- not sign = angled dash,
+ U+00AC ISOnum -->
+<!ENTITY shy "&#173;"> <!-- soft hyphen = discretionary hyphen,
+ U+00AD ISOnum -->
+<!ENTITY reg "&#174;"> <!-- registered sign = registered trade mark sign,
+ U+00AE ISOnum -->
+<!ENTITY macr "&#175;"> <!-- macron = spacing macron = overline
+ = APL overbar, U+00AF ISOdia -->
+<!ENTITY deg "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
+<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
+ U+00B1 ISOnum -->
+<!ENTITY sup2 "&#178;"> <!-- superscript two = superscript digit two
+ = squared, U+00B2 ISOnum -->
+<!ENTITY sup3 "&#179;"> <!-- superscript three = superscript digit three
+ = cubed, U+00B3 ISOnum -->
+<!ENTITY acute "&#180;"> <!-- acute accent = spacing acute,
+ U+00B4 ISOdia -->
+<!ENTITY micro "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
+<!ENTITY para "&#182;"> <!-- pilcrow sign = paragraph sign,
+ U+00B6 ISOnum -->
+<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
+ = Greek middle dot, U+00B7 ISOnum -->
+<!ENTITY cedil "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
+<!ENTITY sup1 "&#185;"> <!-- superscript one = superscript digit one,
+ U+00B9 ISOnum -->
+<!ENTITY ordm "&#186;"> <!-- masculine ordinal indicator,
+ U+00BA ISOnum -->
+<!ENTITY raquo "&#187;"> <!-- right-pointing double angle quotation mark
+ = right pointing guillemet, U+00BB ISOnum -->
+<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
+ = fraction one quarter, U+00BC ISOnum -->
+<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
+ = fraction one half, U+00BD ISOnum -->
+<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
+ = fraction three quarters, U+00BE ISOnum -->
+<!ENTITY iquest "&#191;"> <!-- inverted question mark
+ = turned question mark, U+00BF ISOnum -->
+<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
+ = latin capital letter A grave,
+ U+00C0 ISOlat1 -->
+<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
+ U+00C1 ISOlat1 -->
+<!ENTITY Acirc "&#194;"> <!-- latin capital letter A with circumflex,
+ U+00C2 ISOlat1 -->
+<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
+ U+00C3 ISOlat1 -->
+<!ENTITY Auml "&#196;"> <!-- latin capital letter A with diaeresis,
+ U+00C4 ISOlat1 -->
+<!ENTITY Aring "&#197;"> <!-- latin capital letter A with ring above
+ = latin capital letter A ring,
+ U+00C5 ISOlat1 -->
+<!ENTITY AElig "&#198;"> <!-- latin capital letter AE
+ = latin capital ligature AE,
+ U+00C6 ISOlat1 -->
+<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
+ U+00C7 ISOlat1 -->
+<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
+ U+00C8 ISOlat1 -->
+<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
+ U+00C9 ISOlat1 -->
+<!ENTITY Ecirc "&#202;"> <!-- latin capital letter E with circumflex,
+ U+00CA ISOlat1 -->
+<!ENTITY Euml "&#203;"> <!-- latin capital letter E with diaeresis,
+ U+00CB ISOlat1 -->
+<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
+ U+00CC ISOlat1 -->
+<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
+ U+00CD ISOlat1 -->
+<!ENTITY Icirc "&#206;"> <!-- latin capital letter I with circumflex,
+ U+00CE ISOlat1 -->
+<!ENTITY Iuml "&#207;"> <!-- latin capital letter I with diaeresis,
+ U+00CF ISOlat1 -->
+<!ENTITY ETH "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
+<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
+ U+00D1 ISOlat1 -->
+<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
+ U+00D2 ISOlat1 -->
+<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
+ U+00D3 ISOlat1 -->
+<!ENTITY Ocirc "&#212;"> <!-- latin capital letter O with circumflex,
+ U+00D4 ISOlat1 -->
+<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
+ U+00D5 ISOlat1 -->
+<!ENTITY Ouml "&#214;"> <!-- latin capital letter O with diaeresis,
+ U+00D6 ISOlat1 -->
+<!ENTITY times "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
+<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
+ = latin capital letter O slash,
+ U+00D8 ISOlat1 -->
+<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
+ U+00D9 ISOlat1 -->
+<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
+ U+00DA ISOlat1 -->
+<!ENTITY Ucirc "&#219;"> <!-- latin capital letter U with circumflex,
+ U+00DB ISOlat1 -->
+<!ENTITY Uuml "&#220;"> <!-- latin capital letter U with diaeresis,
+ U+00DC ISOlat1 -->
+<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
+ U+00DD ISOlat1 -->
+<!ENTITY THORN "&#222;"> <!-- latin capital letter THORN,
+ U+00DE ISOlat1 -->
+<!ENTITY szlig "&#223;"> <!-- latin small letter sharp s = ess-zed,
+ U+00DF ISOlat1 -->
+<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
+ = latin small letter a grave,
+ U+00E0 ISOlat1 -->
+<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
+ U+00E1 ISOlat1 -->
+<!ENTITY acirc "&#226;"> <!-- latin small letter a with circumflex,
+ U+00E2 ISOlat1 -->
+<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
+ U+00E3 ISOlat1 -->
+<!ENTITY auml "&#228;"> <!-- latin small letter a with diaeresis,
+ U+00E4 ISOlat1 -->
+<!ENTITY aring "&#229;"> <!-- latin small letter a with ring above
+ = latin small letter a ring,
+ U+00E5 ISOlat1 -->
+<!ENTITY aelig "&#230;"> <!-- latin small letter ae
+ = latin small ligature ae, U+00E6 ISOlat1 -->
+<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
+ U+00E7 ISOlat1 -->
+<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
+ U+00E8 ISOlat1 -->
+<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
+ U+00E9 ISOlat1 -->
+<!ENTITY ecirc "&#234;"> <!-- latin small letter e with circumflex,
+ U+00EA ISOlat1 -->
+<!ENTITY euml "&#235;"> <!-- latin small letter e with diaeresis,
+ U+00EB ISOlat1 -->
+<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
+ U+00EC ISOlat1 -->
+<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
+ U+00ED ISOlat1 -->
+<!ENTITY icirc "&#238;"> <!-- latin small letter i with circumflex,
+ U+00EE ISOlat1 -->
+<!ENTITY iuml "&#239;"> <!-- latin small letter i with diaeresis,
+ U+00EF ISOlat1 -->
+<!ENTITY eth "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
+<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
+ U+00F1 ISOlat1 -->
+<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
+ U+00F2 ISOlat1 -->
+<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
+ U+00F3 ISOlat1 -->
+<!ENTITY ocirc "&#244;"> <!-- latin small letter o with circumflex,
+ U+00F4 ISOlat1 -->
+<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
+ U+00F5 ISOlat1 -->
+<!ENTITY ouml "&#246;"> <!-- latin small letter o with diaeresis,
+ U+00F6 ISOlat1 -->
+<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
+<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
+ = latin small letter o slash,
+ U+00F8 ISOlat1 -->
+<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
+ U+00F9 ISOlat1 -->
+<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
+ U+00FA ISOlat1 -->
+<!ENTITY ucirc "&#251;"> <!-- latin small letter u with circumflex,
+ U+00FB ISOlat1 -->
+<!ENTITY uuml "&#252;"> <!-- latin small letter u with diaeresis,
+ U+00FC ISOlat1 -->
+<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
+ U+00FD ISOlat1 -->
+<!ENTITY thorn "&#254;"> <!-- latin small letter thorn,
+ U+00FE ISOlat1 -->
+<!ENTITY yuml "&#255;"> <!-- latin small letter y with diaeresis,
+ U+00FF ISOlat1 -->
diff --git a/LayoutTests/dom/xhtml/level2/core/xhtml-special.ent b/LayoutTests/dom/xhtml/level2/core/xhtml-special.ent
new file mode 100644
index 0000000..ca358b2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/xhtml-special.ent
@@ -0,0 +1,80 @@
+<!-- Special characters for XHTML -->
+
+<!-- Character entity set. Typical invocation:
+ <!ENTITY % HTMLspecial PUBLIC
+ "-//W3C//ENTITIES Special for XHTML//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
+ %HTMLspecial;
+-->
+
+<!-- Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+-->
+
+<!-- Relevant ISO entity set is given unless names are newly introduced.
+ New names (i.e., not in ISO 8879 list) do not clash with any
+ existing ISO 8879 entity names. ISO 10646 character numbers
+ are given for each character, in hex. values are decimal
+ conversions of the ISO 10646 values and refer to the document
+ character set. Names are Unicode names.
+-->
+
+<!-- C0 Controls and Basic Latin -->
+<!ENTITY quot "&#34;"> <!-- quotation mark, U+0022 ISOnum -->
+<!ENTITY amp "&#38;#38;"> <!-- ampersand, U+0026 ISOnum -->
+<!ENTITY lt "&#38;#60;"> <!-- less-than sign, U+003C ISOnum -->
+<!ENTITY gt "&#62;"> <!-- greater-than sign, U+003E ISOnum -->
+<!ENTITY apos "&#39;"> <!-- apostrophe = APL quote, U+0027 ISOnum -->
+
+<!-- Latin Extended-A -->
+<!ENTITY OElig "&#338;"> <!-- latin capital ligature OE,
+ U+0152 ISOlat2 -->
+<!ENTITY oelig "&#339;"> <!-- latin small ligature oe, U+0153 ISOlat2 -->
+<!-- ligature is a misnomer, this is a separate character in some languages -->
+<!ENTITY Scaron "&#352;"> <!-- latin capital letter S with caron,
+ U+0160 ISOlat2 -->
+<!ENTITY scaron "&#353;"> <!-- latin small letter s with caron,
+ U+0161 ISOlat2 -->
+<!ENTITY Yuml "&#376;"> <!-- latin capital letter Y with diaeresis,
+ U+0178 ISOlat2 -->
+
+<!-- Spacing Modifier Letters -->
+<!ENTITY circ "&#710;"> <!-- modifier letter circumflex accent,
+ U+02C6 ISOpub -->
+<!ENTITY tilde "&#732;"> <!-- small tilde, U+02DC ISOdia -->
+
+<!-- General Punctuation -->
+<!ENTITY ensp "&#8194;"> <!-- en space, U+2002 ISOpub -->
+<!ENTITY emsp "&#8195;"> <!-- em space, U+2003 ISOpub -->
+<!ENTITY thinsp "&#8201;"> <!-- thin space, U+2009 ISOpub -->
+<!ENTITY zwnj "&#8204;"> <!-- zero width non-joiner,
+ U+200C NEW RFC 2070 -->
+<!ENTITY zwj "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
+<!ENTITY lrm "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
+<!ENTITY rlm "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
+<!ENTITY ndash "&#8211;"> <!-- en dash, U+2013 ISOpub -->
+<!ENTITY mdash "&#8212;"> <!-- em dash, U+2014 ISOpub -->
+<!ENTITY lsquo "&#8216;"> <!-- left single quotation mark,
+ U+2018 ISOnum -->
+<!ENTITY rsquo "&#8217;"> <!-- right single quotation mark,
+ U+2019 ISOnum -->
+<!ENTITY sbquo "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
+<!ENTITY ldquo "&#8220;"> <!-- left double quotation mark,
+ U+201C ISOnum -->
+<!ENTITY rdquo "&#8221;"> <!-- right double quotation mark,
+ U+201D ISOnum -->
+<!ENTITY bdquo "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
+<!ENTITY dagger "&#8224;"> <!-- dagger, U+2020 ISOpub -->
+<!ENTITY Dagger "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
+<!ENTITY permil "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
+<!ENTITY lsaquo "&#8249;"> <!-- single left-pointing angle quotation mark,
+ U+2039 ISO proposed -->
+<!-- lsaquo is proposed but not yet ISO standardized -->
+<!ENTITY rsaquo "&#8250;"> <!-- single right-pointing angle quotation mark,
+ U+203A ISO proposed -->
+<!-- rsaquo is proposed but not yet ISO standardized -->
+
+<!-- Currency Symbols -->
+<!ENTITY euro "&#8364;"> <!-- euro sign, U+20AC NEW -->
diff --git a/LayoutTests/dom/xhtml/level2/core/xhtml-symbol.ent b/LayoutTests/dom/xhtml/level2/core/xhtml-symbol.ent
new file mode 100644
index 0000000..63c2abf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/xhtml-symbol.ent
@@ -0,0 +1,237 @@
+<!-- Mathematical, Greek and Symbolic characters for XHTML -->
+
+<!-- Character entity set. Typical invocation:
+ <!ENTITY % HTMLsymbol PUBLIC
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
+ %HTMLsymbol;
+-->
+
+<!-- Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+-->
+
+<!-- Relevant ISO entity set is given unless names are newly introduced.
+ New names (i.e., not in ISO 8879 list) do not clash with any
+ existing ISO 8879 entity names. ISO 10646 character numbers
+ are given for each character, in hex. values are decimal
+ conversions of the ISO 10646 values and refer to the document
+ character set. Names are Unicode names.
+-->
+
+<!-- Latin Extended-B -->
+<!ENTITY fnof "&#402;"> <!-- latin small letter f with hook = function
+ = florin, U+0192 ISOtech -->
+
+<!-- Greek -->
+<!ENTITY Alpha "&#913;"> <!-- greek capital letter alpha, U+0391 -->
+<!ENTITY Beta "&#914;"> <!-- greek capital letter beta, U+0392 -->
+<!ENTITY Gamma "&#915;"> <!-- greek capital letter gamma,
+ U+0393 ISOgrk3 -->
+<!ENTITY Delta "&#916;"> <!-- greek capital letter delta,
+ U+0394 ISOgrk3 -->
+<!ENTITY Epsilon "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
+<!ENTITY Zeta "&#918;"> <!-- greek capital letter zeta, U+0396 -->
+<!ENTITY Eta "&#919;"> <!-- greek capital letter eta, U+0397 -->
+<!ENTITY Theta "&#920;"> <!-- greek capital letter theta,
+ U+0398 ISOgrk3 -->
+<!ENTITY Iota "&#921;"> <!-- greek capital letter iota, U+0399 -->
+<!ENTITY Kappa "&#922;"> <!-- greek capital letter kappa, U+039A -->
+<!ENTITY Lambda "&#923;"> <!-- greek capital letter lamda,
+ U+039B ISOgrk3 -->
+<!ENTITY Mu "&#924;"> <!-- greek capital letter mu, U+039C -->
+<!ENTITY Nu "&#925;"> <!-- greek capital letter nu, U+039D -->
+<!ENTITY Xi "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
+<!ENTITY Omicron "&#927;"> <!-- greek capital letter omicron, U+039F -->
+<!ENTITY Pi "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
+<!ENTITY Rho "&#929;"> <!-- greek capital letter rho, U+03A1 -->
+<!-- there is no Sigmaf, and no U+03A2 character either -->
+<!ENTITY Sigma "&#931;"> <!-- greek capital letter sigma,
+ U+03A3 ISOgrk3 -->
+<!ENTITY Tau "&#932;"> <!-- greek capital letter tau, U+03A4 -->
+<!ENTITY Upsilon "&#933;"> <!-- greek capital letter upsilon,
+ U+03A5 ISOgrk3 -->
+<!ENTITY Phi "&#934;"> <!-- greek capital letter phi,
+ U+03A6 ISOgrk3 -->
+<!ENTITY Chi "&#935;"> <!-- greek capital letter chi, U+03A7 -->
+<!ENTITY Psi "&#936;"> <!-- greek capital letter psi,
+ U+03A8 ISOgrk3 -->
+<!ENTITY Omega "&#937;"> <!-- greek capital letter omega,
+ U+03A9 ISOgrk3 -->
+
+<!ENTITY alpha "&#945;"> <!-- greek small letter alpha,
+ U+03B1 ISOgrk3 -->
+<!ENTITY beta "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
+<!ENTITY gamma "&#947;"> <!-- greek small letter gamma,
+ U+03B3 ISOgrk3 -->
+<!ENTITY delta "&#948;"> <!-- greek small letter delta,
+ U+03B4 ISOgrk3 -->
+<!ENTITY epsilon "&#949;"> <!-- greek small letter epsilon,
+ U+03B5 ISOgrk3 -->
+<!ENTITY zeta "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
+<!ENTITY eta "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
+<!ENTITY theta "&#952;"> <!-- greek small letter theta,
+ U+03B8 ISOgrk3 -->
+<!ENTITY iota "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
+<!ENTITY kappa "&#954;"> <!-- greek small letter kappa,
+ U+03BA ISOgrk3 -->
+<!ENTITY lambda "&#955;"> <!-- greek small letter lamda,
+ U+03BB ISOgrk3 -->
+<!ENTITY mu "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
+<!ENTITY nu "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
+<!ENTITY xi "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
+<!ENTITY omicron "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
+<!ENTITY pi "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
+<!ENTITY rho "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
+<!ENTITY sigmaf "&#962;"> <!-- greek small letter final sigma,
+ U+03C2 ISOgrk3 -->
+<!ENTITY sigma "&#963;"> <!-- greek small letter sigma,
+ U+03C3 ISOgrk3 -->
+<!ENTITY tau "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
+<!ENTITY upsilon "&#965;"> <!-- greek small letter upsilon,
+ U+03C5 ISOgrk3 -->
+<!ENTITY phi "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
+<!ENTITY chi "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
+<!ENTITY psi "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
+<!ENTITY omega "&#969;"> <!-- greek small letter omega,
+ U+03C9 ISOgrk3 -->
+<!ENTITY thetasym "&#977;"> <!-- greek theta symbol,
+ U+03D1 NEW -->
+<!ENTITY upsih "&#978;"> <!-- greek upsilon with hook symbol,
+ U+03D2 NEW -->
+<!ENTITY piv "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
+
+<!-- General Punctuation -->
+<!ENTITY bull "&#8226;"> <!-- bullet = black small circle,
+ U+2022 ISOpub -->
+<!-- bullet is NOT the same as bullet operator, U+2219 -->
+<!ENTITY hellip "&#8230;"> <!-- horizontal ellipsis = three dot leader,
+ U+2026 ISOpub -->
+<!ENTITY prime "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
+<!ENTITY Prime "&#8243;"> <!-- double prime = seconds = inches,
+ U+2033 ISOtech -->
+<!ENTITY oline "&#8254;"> <!-- overline = spacing overscore,
+ U+203E NEW -->
+<!ENTITY frasl "&#8260;"> <!-- fraction slash, U+2044 NEW -->
+
+<!-- Letterlike Symbols -->
+<!ENTITY weierp "&#8472;"> <!-- script capital P = power set
+ = Weierstrass p, U+2118 ISOamso -->
+<!ENTITY image "&#8465;"> <!-- black-letter capital I = imaginary part,
+ U+2111 ISOamso -->
+<!ENTITY real "&#8476;"> <!-- black-letter capital R = real part symbol,
+ U+211C ISOamso -->
+<!ENTITY trade "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
+<!ENTITY alefsym "&#8501;"> <!-- alef symbol = first transfinite cardinal,
+ U+2135 NEW -->
+<!-- alef symbol is NOT the same as hebrew letter alef,
+ U+05D0 although the same glyph could be used to depict both characters -->
+
+<!-- Arrows -->
+<!ENTITY larr "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
+<!ENTITY uarr "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
+<!ENTITY rarr "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
+<!ENTITY darr "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
+<!ENTITY harr "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
+<!ENTITY crarr "&#8629;"> <!-- downwards arrow with corner leftwards
+ = carriage return, U+21B5 NEW -->
+<!ENTITY lArr "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
+<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
+ but also does not have any other character for that function. So lArr can
+ be used for 'is implied by' as ISOtech suggests -->
+<!ENTITY uArr "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
+<!ENTITY rArr "&#8658;"> <!-- rightwards double arrow,
+ U+21D2 ISOtech -->
+<!-- Unicode does not say this is the 'implies' character but does not have
+ another character with this function so rArr can be used for 'implies'
+ as ISOtech suggests -->
+<!ENTITY dArr "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
+<!ENTITY hArr "&#8660;"> <!-- left right double arrow,
+ U+21D4 ISOamsa -->
+
+<!-- Mathematical Operators -->
+<!ENTITY forall "&#8704;"> <!-- for all, U+2200 ISOtech -->
+<!ENTITY part "&#8706;"> <!-- partial differential, U+2202 ISOtech -->
+<!ENTITY exist "&#8707;"> <!-- there exists, U+2203 ISOtech -->
+<!ENTITY empty "&#8709;"> <!-- empty set = null set, U+2205 ISOamso -->
+<!ENTITY nabla "&#8711;"> <!-- nabla = backward difference,
+ U+2207 ISOtech -->
+<!ENTITY isin "&#8712;"> <!-- element of, U+2208 ISOtech -->
+<!ENTITY notin "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
+<!ENTITY ni "&#8715;"> <!-- contains as member, U+220B ISOtech -->
+<!ENTITY prod "&#8719;"> <!-- n-ary product = product sign,
+ U+220F ISOamsb -->
+<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
+ the same glyph might be used for both -->
+<!ENTITY sum "&#8721;"> <!-- n-ary summation, U+2211 ISOamsb -->
+<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
+ though the same glyph might be used for both -->
+<!ENTITY minus "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
+<!ENTITY lowast "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
+<!ENTITY radic "&#8730;"> <!-- square root = radical sign,
+ U+221A ISOtech -->
+<!ENTITY prop "&#8733;"> <!-- proportional to, U+221D ISOtech -->
+<!ENTITY infin "&#8734;"> <!-- infinity, U+221E ISOtech -->
+<!ENTITY ang "&#8736;"> <!-- angle, U+2220 ISOamso -->
+<!ENTITY and "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
+<!ENTITY or "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
+<!ENTITY cap "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
+<!ENTITY cup "&#8746;"> <!-- union = cup, U+222A ISOtech -->
+<!ENTITY int "&#8747;"> <!-- integral, U+222B ISOtech -->
+<!ENTITY there4 "&#8756;"> <!-- therefore, U+2234 ISOtech -->
+<!ENTITY sim "&#8764;"> <!-- tilde operator = varies with = similar to,
+ U+223C ISOtech -->
+<!-- tilde operator is NOT the same character as the tilde, U+007E,
+ although the same glyph might be used to represent both -->
+<!ENTITY cong "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
+<!ENTITY asymp "&#8776;"> <!-- almost equal to = asymptotic to,
+ U+2248 ISOamsr -->
+<!ENTITY ne "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
+<!ENTITY equiv "&#8801;"> <!-- identical to, U+2261 ISOtech -->
+<!ENTITY le "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
+<!ENTITY ge "&#8805;"> <!-- greater-than or equal to,
+ U+2265 ISOtech -->
+<!ENTITY sub "&#8834;"> <!-- subset of, U+2282 ISOtech -->
+<!ENTITY sup "&#8835;"> <!-- superset of, U+2283 ISOtech -->
+<!ENTITY nsub "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
+<!ENTITY sube "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
+<!ENTITY supe "&#8839;"> <!-- superset of or equal to,
+ U+2287 ISOtech -->
+<!ENTITY oplus "&#8853;"> <!-- circled plus = direct sum,
+ U+2295 ISOamsb -->
+<!ENTITY otimes "&#8855;"> <!-- circled times = vector product,
+ U+2297 ISOamsb -->
+<!ENTITY perp "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
+ U+22A5 ISOtech -->
+<!ENTITY sdot "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
+<!-- dot operator is NOT the same character as U+00B7 middle dot -->
+
+<!-- Miscellaneous Technical -->
+<!ENTITY lceil "&#8968;"> <!-- left ceiling = APL upstile,
+ U+2308 ISOamsc -->
+<!ENTITY rceil "&#8969;"> <!-- right ceiling, U+2309 ISOamsc -->
+<!ENTITY lfloor "&#8970;"> <!-- left floor = APL downstile,
+ U+230A ISOamsc -->
+<!ENTITY rfloor "&#8971;"> <!-- right floor, U+230B ISOamsc -->
+<!ENTITY lang "&#9001;"> <!-- left-pointing angle bracket = bra,
+ U+2329 ISOtech -->
+<!-- lang is NOT the same character as U+003C 'less than sign'
+ or U+2039 'single left-pointing angle quotation mark' -->
+<!ENTITY rang "&#9002;"> <!-- right-pointing angle bracket = ket,
+ U+232A ISOtech -->
+<!-- rang is NOT the same character as U+003E 'greater than sign'
+ or U+203A 'single right-pointing angle quotation mark' -->
+
+<!-- Geometric Shapes -->
+<!ENTITY loz "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
+
+<!-- Miscellaneous Symbols -->
+<!ENTITY spades "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
+<!-- black here seems to mean filled as opposed to hollow -->
+<!ENTITY clubs "&#9827;"> <!-- black club suit = shamrock,
+ U+2663 ISOpub -->
+<!ENTITY hearts "&#9829;"> <!-- black heart suit = valentine,
+ U+2665 ISOpub -->
+<!ENTITY diams "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->
diff --git a/LayoutTests/dom/xhtml/level2/core/xhtml1-frameset.dtd b/LayoutTests/dom/xhtml/level2/core/xhtml1-frameset.dtd
new file mode 100644
index 0000000..01d6811
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/xhtml1-frameset.dtd
@@ -0,0 +1,1235 @@
+<!--
+ Extensible HTML version 1.0 Frameset DTD
+
+ This is the same as HTML 4 Frameset except for
+ changes due to the differences between XML and SGML.
+
+ Namespace = http://www.w3.org/1999/xhtml
+
+ For further information, see: http://www.w3.org/TR/xhtml1
+
+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+ All Rights Reserved.
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
+
+ $Revision: 10626 $
+ $Date: 2005-09-26 15:45:26 -0700 (Mon, 26 Sep 2005) $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+ "-//W3C//ENTITIES Special for XHTML//EN"
+ "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+ <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+ <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+ <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+ <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+ <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+ <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+ <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+ <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+ <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+ <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+ <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+ <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+ <!-- used for titles etc. -->
+
+<!ENTITY % FrameTarget "NMTOKEN">
+ <!-- render in this frame -->
+
+<!ENTITY % Length "CDATA">
+ <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+ <!-- pixel, percentage, or relative -->
+
+<!ENTITY % MultiLengths "CDATA">
+ <!-- comma-separated list of MultiLength -->
+
+<!ENTITY % Pixels "CDATA">
+ <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+ <!-- comma separated list of lengths -->
+
+<!-- used for object, applet, img, input and iframe -->
+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
+
+<!-- a color using sRGB: #RRGGBB as Hex values -->
+<!ENTITY % Color "CDATA">
+
+<!-- There are also 16 widely known color names with their sRGB values:
+
+ Black = #000000 Green = #008000
+ Silver = #C0C0C0 Lime = #00FF00
+ Gray = #808080 Olive = #808000
+ White = #FFFFFF Yellow = #FFFF00
+ Maroon = #800000 Navy = #000080
+ Red = #FF0000 Blue = #0000FF
+ Purple = #800080 Teal = #008080
+ Fuchsia= #FF00FF Aqua = #00FFFF
+-->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+ id document-wide unique id
+ class space separated list of classes
+ style associated style info
+ title advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id ID #IMPLIED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED"
+ >
+
+<!-- internationalization attributes
+ lang language code (backwards compatible)
+ xml:lang language code (as per XML 1.0 spec)
+ dir direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #IMPLIED"
+ >
+
+<!-- attributes for common UI events
+ onclick a pointer button was clicked
+ ondblclick a pointer button was double clicked
+ onmousedown a pointer button was pressed down
+ onmouseup a pointer button was released
+ onmousemove a pointer was moved onto the element
+ onmouseout a pointer was moved away from the element
+ onkeypress a key was pressed and released
+ onkeydown a key was pressed down
+ onkeyup a key was released
+-->
+<!ENTITY % events
+ "onclick %Script; #IMPLIED
+ ondblclick %Script; #IMPLIED
+ onmousedown %Script; #IMPLIED
+ onmouseup %Script; #IMPLIED
+ onmouseover %Script; #IMPLIED
+ onmousemove %Script; #IMPLIED
+ onmouseout %Script; #IMPLIED
+ onkeypress %Script; #IMPLIED
+ onkeydown %Script; #IMPLIED
+ onkeyup %Script; #IMPLIED"
+ >
+
+<!-- attributes for elements that can get the focus
+ accesskey accessibility key character
+ tabindex position in tabbing order
+ onfocus the element got the focus
+ onblur the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey %Character; #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED"
+ >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!-- text alignment for p, div, h1-h6. The default is
+ align="left" for ltr headings, "right" for rtl -->
+
+<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.extra
+ "object | applet | img | map | iframe">
+
+<!ENTITY % special.basic
+ "br | span | bdo">
+
+<!ENTITY % special
+ "%special.basic; | %special.extra;">
+
+<!ENTITY % fontstyle.extra "big | small | font | basefont">
+
+<!ENTITY % fontstyle.basic "tt | i | b | u
+ | s | strike ">
+
+<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
+
+<!ENTITY % phrase.extra "sub | sup">
+<!ENTITY % phrase.basic "em | strong | dfn | code | q |
+ samp | kbd | var | cite | abbr | acronym">
+
+<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl | menu | dir">
+<!ENTITY % blocktext "pre | hr | blockquote | address | center">
+
+<!ENTITY % block
+ "p | %heading; | div | %lists; | %blocktext; | isindex | fieldset | table">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
+
+<!-- pre uses %Inline excluding img, object, applet, big, small,
+ sub, sup, font, or basefont -->
+
+<!ENTITY % pre.content
+ "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
+ %inline.forms; | %misc.inline;)*">
+
+
+<!-- form uses %Flow; excluding form -->
+
+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
+
+<!ENTITY % button.content
+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+ table | br | span | bdo | object | applet | img | map |
+ %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, frameset)>
+<!ATTLIST html
+ %i18n;
+ id ID #IMPLIED
+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
+ >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
+
+<!-- content model is %head.misc; combined with a single
+ title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+ ((title, %head.misc;, (base, %head.misc;)?) |
+ (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+ %i18n;
+ id ID #IMPLIED
+ profile %URI; #IMPLIED
+ >
+
+<!-- The title element is not considered part of the flow of text.
+ It should be displayed, for example as the page header or
+ window title. Exactly one title is required per document.
+ -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title
+ %i18n;
+ id ID #IMPLIED
+ >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+ id ID #IMPLIED
+ href %URI; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+ %i18n;
+ id ID #IMPLIED
+ http-equiv CDATA #IMPLIED
+ name CDATA #IMPLIED
+ content CDATA #REQUIRED
+ scheme CDATA #IMPLIED
+ >
+
+<!--
+ Relationship values can be used in principle:
+
+ a) for document specific toolbars/menus when used
+ with the link element in document head e.g.
+ start, contents, previous, next, index, end, help
+ b) to link to a separate style sheet (rel="stylesheet")
+ c) to make a link to a script (rel="script")
+ d) by stylesheets to control how collections of
+ html nodes are rendered into printed documents
+ e) to make a link to a printable version of this document
+ e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+ %attrs;
+ charset %Charset; #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ type %ContentType; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ media %MediaDesc; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+ %i18n;
+ id ID #IMPLIED
+ type %ContentType; #REQUIRED
+ media %MediaDesc; #IMPLIED
+ title %Text; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+ id ID #IMPLIED
+ charset %Charset; #IMPLIED
+ type %ContentType; #REQUIRED
+ language CDATA #IMPLIED
+ src %URI; #IMPLIED
+ defer (defer) #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Flow;>
+<!ATTLIST noscript
+ %attrs;
+ >
+
+<!--======================= Frames =======================================-->
+
+<!-- only one noframes element permitted per document -->
+
+<!ELEMENT frameset (frameset|frame|noframes)*>
+<!ATTLIST frameset
+ %coreattrs;
+ rows %MultiLengths; #IMPLIED
+ cols %MultiLengths; #IMPLIED
+ onload %Script; #IMPLIED
+ onunload %Script; #IMPLIED
+ >
+
+<!-- reserved frame names start with "_" otherwise starts with letter -->
+
+<!-- tiled window within frameset -->
+
+<!ELEMENT frame EMPTY>
+<!ATTLIST frame
+ %coreattrs;
+ longdesc %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ src %URI; #IMPLIED
+ frameborder (1|0) "1"
+ marginwidth %Pixels; #IMPLIED
+ marginheight %Pixels; #IMPLIED
+ noresize (noresize) #IMPLIED
+ scrolling (yes|no|auto) "auto"
+ >
+
+<!-- inline subwindow -->
+
+<!ELEMENT iframe %Flow;>
+<!ATTLIST iframe
+ %coreattrs;
+ longdesc %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ src %URI; #IMPLIED
+ frameborder (1|0) "1"
+ marginwidth %Pixels; #IMPLIED
+ marginheight %Pixels; #IMPLIED
+ scrolling (yes|no|auto) "auto"
+ align %ImgAlign; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ >
+
+<!-- alternate content container for non frame-based rendering -->
+
+<!ELEMENT noframes (body)>
+<!ATTLIST noframes
+ %attrs;
+ >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Flow;>
+<!ATTLIST body
+ %attrs;
+ onload %Script; #IMPLIED
+ onunload %Script; #IMPLIED
+ background %URI; #IMPLIED
+ bgcolor %Color; #IMPLIED
+ text %Color; #IMPLIED
+ link %Color; #IMPLIED
+ vlink %Color; #IMPLIED
+ alink %Color; #IMPLIED
+ >
+
+<!ELEMENT div %Flow;> <!-- generic language/style container -->
+<!ATTLIST div
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Headings =========================================-->
+
+<!--
+ There are six levels of headings from h1 (the most important)
+ to h6 (the least important).
+-->
+
+<!ELEMENT h1 %Inline;>
+<!ATTLIST h1
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list bullet styles -->
+
+<!ENTITY % ULStyle "(disc|square|circle)">
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+ %attrs;
+ type %ULStyle; #IMPLIED
+ compact (compact) #IMPLIED
+ >
+
+<!-- Ordered list numbering style
+
+ 1 arabic numbers 1, 2, 3, ...
+ a lower alpha a, b, c, ...
+ A upper alpha A, B, C, ...
+ i lower roman i, ii, iii, ...
+ I upper roman I, II, III, ...
+
+ The style is applied to the sequence number which by default
+ is reset to 1 for the first list item in an ordered list.
+-->
+<!ENTITY % OLStyle "CDATA">
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+ %attrs;
+ type %OLStyle; #IMPLIED
+ compact (compact) #IMPLIED
+ start %Number; #IMPLIED
+ >
+
+<!-- single column list (DEPRECATED) -->
+<!ELEMENT menu (li)+>
+<!ATTLIST menu
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- multiple column list (DEPRECATED) -->
+<!ELEMENT dir (li)+>
+<!ATTLIST dir
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
+<!ENTITY % LIStyle "CDATA">
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+ %attrs;
+ type %LIStyle; #IMPLIED
+ value %Number; #IMPLIED
+ >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+ %attrs;
+ >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+ %attrs;
+ >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
+<!ATTLIST address
+ %attrs;
+ >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+ %attrs;
+ align (left|center|right) #IMPLIED
+ noshade (noshade) #IMPLIED
+ size %Pixels; #IMPLIED
+ width %Length; #IMPLIED
+ >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding
+ "img|object|applet|big|small|sub|sup|font|basefont" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+ %attrs;
+ width %Number; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Flow;>
+<!ATTLIST blockquote
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!--=================== Text alignment ===================================-->
+
+<!-- center content -->
+<!ELEMENT center %Flow;>
+<!ATTLIST center
+ %attrs;
+ >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+
+<!--
+ ins/del are allowed in block and inline content, but its
+ inappropriate to include block content within an ins element
+ occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+ %attrs;
+ %focus;
+ charset %Charset; #IMPLIED
+ type %ContentType; #IMPLIED
+ name NMTOKEN #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+ %attrs;
+ >
+
+<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+ %coreattrs;
+ %events;
+ lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #REQUIRED
+ >
+
+<!ELEMENT br EMPTY> <!-- forced line break -->
+<!ATTLIST br
+ %coreattrs;
+ clear (left|all|right|none) "none"
+ >
+
+<!ELEMENT em %Inline;> <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;> <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;> <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;> <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;> <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;> <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;> <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;> <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;> <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;> <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;> <!-- inlined quote -->
+<!ATTLIST q
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;> <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;> <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;> <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;> <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!ELEMENT u %Inline;> <!-- underline -->
+<!ATTLIST u %attrs;>
+
+<!ELEMENT s %Inline;> <!-- strike-through -->
+<!ATTLIST s %attrs;>
+
+<!ELEMENT strike %Inline;> <!-- strike-through -->
+<!ATTLIST strike %attrs;>
+
+<!ELEMENT basefont EMPTY> <!-- base font size -->
+<!ATTLIST basefont
+ id ID #IMPLIED
+ size CDATA #REQUIRED
+ color %Color; #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!ELEMENT font %Inline;> <!-- local change to font -->
+<!ATTLIST font
+ %coreattrs;
+ %i18n;
+ size CDATA #IMPLIED
+ color %Color; #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!--==================== Object ======================================-->
+<!--
+ object is used to embed objects as part of HTML pages.
+ param elements should precede other content. Parameters
+ can also be expressed as attribute/value pairs on the
+ object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
+<!ATTLIST object
+ %attrs;
+ declare (declare) #IMPLIED
+ classid %URI; #IMPLIED
+ codebase %URI; #IMPLIED
+ data %URI; #IMPLIED
+ type %ContentType; #IMPLIED
+ codetype %ContentType; #IMPLIED
+ archive %UriList; #IMPLIED
+ standby %Text; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ tabindex %Number; #IMPLIED
+ align %ImgAlign; #IMPLIED
+ border %Pixels; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!--
+ param is used to supply a named property value.
+ In XML it would seem natural to follow RDF and support an
+ abbreviated syntax where the param elements are replaced
+ by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+ id ID #IMPLIED
+ name CDATA #REQUIRED
+ value CDATA #IMPLIED
+ valuetype (data|ref|object) "data"
+ type %ContentType; #IMPLIED
+ >
+
+<!--=================== Java applet ==================================-->
+<!--
+ One of code or object attributes must be present.
+ Place param elements before other content.
+-->
+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST applet
+ %coreattrs;
+ codebase %URI; #IMPLIED
+ archive CDATA #IMPLIED
+ code CDATA #IMPLIED
+ object CDATA #IMPLIED
+ alt %Text; #IMPLIED
+ name NMTOKEN #IMPLIED
+ width %Length; #REQUIRED
+ height %Length; #REQUIRED
+ align %ImgAlign; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!--=================== Images ===========================================-->
+
+<!--
+ To avoid accessibility problems for people who aren't
+ able to see the image, you should provide a text
+ description using the alt and longdesc attributes.
+ In addition, avoid the use of server-side image maps.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+ %attrs;
+ src %URI; #REQUIRED
+ alt %Text; #REQUIRED
+ name NMTOKEN #IMPLIED
+ longdesc %URI; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ ismap (ismap) #IMPLIED
+ align %ImgAlign; #IMPLIED
+ border %Pixels; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!-- usemap points to a map element which may be in this document
+ or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+ separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+ %i18n;
+ %events;
+ id ID #REQUIRED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED
+ name NMTOKEN #IMPLIED
+ >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+ %attrs;
+ %focus;
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ href %URI; #IMPLIED
+ nohref (nohref) #IMPLIED
+ alt %Text; #REQUIRED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--================ Forms ===============================================-->
+
+<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+ %attrs;
+ action %URI; #REQUIRED
+ method (get|post) "get"
+ name NMTOKEN #IMPLIED
+ enctype %ContentType; "application/x-www-form-urlencoded"
+ onsubmit %Script; #IMPLIED
+ onreset %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ accept-charset %Charsets; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--
+ Each label must not contain more than ONE field
+ Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+ %attrs;
+ for IDREF #IMPLIED
+ accesskey %Character; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ >
+
+<!ENTITY % InputType
+ "(text | password | checkbox |
+ radio | submit | reset |
+ file | hidden | image | button)"
+ >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY> <!-- form control -->
+<!ATTLIST input
+ %attrs;
+ %focus;
+ type %InputType; "text"
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ checked (checked) #IMPLIED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ size CDATA #IMPLIED
+ maxlength %Number; #IMPLIED
+ src %URI; #IMPLIED
+ alt CDATA #IMPLIED
+ usemap %URI; #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ align %ImgAlign; #IMPLIED
+ >
+
+<!ELEMENT select (optgroup|option)+> <!-- option selector -->
+<!ATTLIST select
+ %attrs;
+ name CDATA #IMPLIED
+ size %Number; #IMPLIED
+ multiple (multiple) #IMPLIED
+ disabled (disabled) #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!ELEMENT optgroup (option)+> <!-- option group -->
+<!ATTLIST optgroup
+ %attrs;
+ disabled (disabled) #IMPLIED
+ label %Text; #REQUIRED
+ >
+
+<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
+<!ATTLIST option
+ %attrs;
+ selected (selected) #IMPLIED
+ disabled (disabled) #IMPLIED
+ label %Text; #IMPLIED
+ value CDATA #IMPLIED
+ >
+
+<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
+<!ATTLIST textarea
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ rows %Number; #REQUIRED
+ cols %Number; #REQUIRED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!--
+ The fieldset element is used to group form fields.
+ Only one legend element should occur in the content
+ and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+ %attrs;
+ >
+
+<!ENTITY % LAlign "(top|bottom|left|right)">
+
+<!ELEMENT legend %Inline;> <!-- fieldset label -->
+<!ATTLIST legend
+ %attrs;
+ accesskey %Character; #IMPLIED
+ align %LAlign; #IMPLIED
+ >
+
+<!--
+ Content is %Flow; excluding a, form, form controls, iframe
+-->
+<!ELEMENT button %button.content;> <!-- push button -->
+<!ATTLIST button
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ type (button|submit|reset) "submit"
+ disabled (disabled) #IMPLIED
+ >
+
+<!-- single-line text input control (DEPRECATED) -->
+<!ELEMENT isindex EMPTY>
+<!ATTLIST isindex
+ %coreattrs;
+ %i18n;
+ prompt %Text; #IMPLIED
+ >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+ "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+
+<!-- horizontal placement of table relative to document -->
+<!ENTITY % TAlign "(left|center|right)">
+
+<!-- horizontal alignment attributes for cell contents
+
+ char alignment char, e.g. char=":"
+ charoff offset for alignment char
+-->
+<!ENTITY % cellhalign
+ "align (left|center|right|justify|char) #IMPLIED
+ char %Character; #IMPLIED
+ charoff %Length; #IMPLIED"
+ >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+ "valign (top|middle|bottom|baseline) #IMPLIED"
+ >
+
+<!ELEMENT table
+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption %Inline;>
+<!ELEMENT thead (tr)+>
+<!ELEMENT tfoot (tr)+>
+<!ELEMENT tbody (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col EMPTY>
+<!ELEMENT tr (th|td)+>
+<!ELEMENT th %Flow;>
+<!ELEMENT td %Flow;>
+
+<!ATTLIST table
+ %attrs;
+ summary %Text; #IMPLIED
+ width %Length; #IMPLIED
+ border %Pixels; #IMPLIED
+ frame %TFrame; #IMPLIED
+ rules %TRules; #IMPLIED
+ cellspacing %Length; #IMPLIED
+ cellpadding %Length; #IMPLIED
+ align %TAlign; #IMPLIED
+ bgcolor %Color; #IMPLIED
+ >
+
+<!ENTITY % CAlign "(top|bottom|left|right)">
+
+<!ATTLIST caption
+ %attrs;
+ align %CAlign; #IMPLIED
+ >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+ width=64 width in screen pixels
+ width=0.5* relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ Use thead to duplicate headers when breaking table
+ across page boundaries, or for static headers when
+ tbody sections are rendered in scrolling panel.
+
+ Use tfoot to duplicate footers when breaking table
+ across page boundaries, or for static footers when
+ tbody sections are rendered in scrolling panel.
+
+ Use multiple tbody sections when rules are needed
+ between groups of table rows.
+-->
+<!ATTLIST thead
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tfoot
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tbody
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tr
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ bgcolor %Color; #IMPLIED
+ >
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor %Color; #IMPLIED
+ width %Pixels; #IMPLIED
+ height %Pixels; #IMPLIED
+ >
+
+<!ATTLIST td
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor %Color; #IMPLIED
+ width %Pixels; #IMPLIED
+ height %Pixels; #IMPLIED
+ >
+
diff --git a/LayoutTests/dom/xhtml/level2/core/xhtml1-strict.dtd b/LayoutTests/dom/xhtml/level2/core/xhtml1-strict.dtd
new file mode 100644
index 0000000..18528d9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/xhtml1-strict.dtd
@@ -0,0 +1,978 @@
+<!--
+ Extensible HTML version 1.0 Strict DTD
+
+ This is the same as HTML 4 Strict except for
+ changes due to the differences between XML and SGML.
+
+ Namespace = http://www.w3.org/1999/xhtml
+
+ For further information, see: http://www.w3.org/TR/xhtml1
+
+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+ All Rights Reserved.
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+
+ $Revision: 10626 $
+ $Date: 2005-09-26 15:45:26 -0700 (Mon, 26 Sep 2005) $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+ "-//W3C//ENTITIES Special for XHTML//EN"
+ "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+ <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+ <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+ <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+ <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+ <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+ <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+ <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+ <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+ <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+ <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+ <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+ <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+ <!-- used for titles etc. -->
+
+<!ENTITY % Length "CDATA">
+ <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+ <!-- pixel, percentage, or relative -->
+
+<!ENTITY % Pixels "CDATA">
+ <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+ <!-- comma separated list of lengths -->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+ id document-wide unique id
+ class space separated list of classes
+ style associated style info
+ title advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id ID #IMPLIED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED"
+ >
+
+<!-- internationalization attributes
+ lang language code (backwards compatible)
+ xml:lang language code (as per XML 1.0 spec)
+ dir direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #IMPLIED"
+ >
+
+<!-- attributes for common UI events
+ onclick a pointer button was clicked
+ ondblclick a pointer button was double clicked
+ onmousedown a pointer button was pressed down
+ onmouseup a pointer button was released
+ onmousemove a pointer was moved onto the element
+ onmouseout a pointer was moved away from the element
+ onkeypress a key was pressed and released
+ onkeydown a key was pressed down
+ onkeyup a key was released
+-->
+<!ENTITY % events
+ "onclick %Script; #IMPLIED
+ ondblclick %Script; #IMPLIED
+ onmousedown %Script; #IMPLIED
+ onmouseup %Script; #IMPLIED
+ onmouseover %Script; #IMPLIED
+ onmousemove %Script; #IMPLIED
+ onmouseout %Script; #IMPLIED
+ onkeypress %Script; #IMPLIED
+ onkeydown %Script; #IMPLIED
+ onkeyup %Script; #IMPLIED"
+ >
+
+<!-- attributes for elements that can get the focus
+ accesskey accessibility key character
+ tabindex position in tabbing order
+ onfocus the element got the focus
+ onblur the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey %Character; #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED"
+ >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.pre
+ "br | span | bdo | map">
+
+
+<!ENTITY % special
+ "%special.pre; | object | img ">
+
+<!ENTITY % fontstyle "tt | i | b | big | small ">
+
+<!ENTITY % phrase "em | strong | dfn | code | q |
+ samp | kbd | var | cite | abbr | acronym | sub | sup ">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl">
+<!ENTITY % blocktext "pre | hr | blockquote | address">
+
+<!ENTITY % block
+ "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
+
+<!ENTITY % Block "(%block; | form | %misc;)*">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
+
+<!-- pre uses %Inline excluding big, small, sup or sup -->
+
+<!ENTITY % pre.content
+ "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
+ | %inline.forms;)*">
+
+<!-- form uses %Block; excluding form -->
+
+<!ENTITY % form.content "(%block; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form and form controls -->
+
+<!ENTITY % button.content
+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+ table | %special; | %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, body)>
+<!ATTLIST html
+ %i18n;
+ id ID #IMPLIED
+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
+ >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object)*">
+
+<!-- content model is %head.misc; combined with a single
+ title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+ ((title, %head.misc;, (base, %head.misc;)?) |
+ (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+ %i18n;
+ id ID #IMPLIED
+ profile %URI; #IMPLIED
+ >
+
+<!-- The title element is not considered part of the flow of text.
+ It should be displayed, for example as the page header or
+ window title. Exactly one title is required per document.
+ -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title
+ %i18n;
+ id ID #IMPLIED
+ >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+ href %URI; #REQUIRED
+ id ID #IMPLIED
+ >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+ %i18n;
+ id ID #IMPLIED
+ http-equiv CDATA #IMPLIED
+ name CDATA #IMPLIED
+ content CDATA #REQUIRED
+ scheme CDATA #IMPLIED
+ >
+
+<!--
+ Relationship values can be used in principle:
+
+ a) for document specific toolbars/menus when used
+ with the link element in document head e.g.
+ start, contents, previous, next, index, end, help
+ b) to link to a separate style sheet (rel="stylesheet")
+ c) to make a link to a script (rel="script")
+ d) by stylesheets to control how collections of
+ html nodes are rendered into printed documents
+ e) to make a link to a printable version of this document
+ e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+ %attrs;
+ charset %Charset; #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ type %ContentType; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ media %MediaDesc; #IMPLIED
+ >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+ %i18n;
+ id ID #IMPLIED
+ type %ContentType; #REQUIRED
+ media %MediaDesc; #IMPLIED
+ title %Text; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+ id ID #IMPLIED
+ charset %Charset; #IMPLIED
+ type %ContentType; #REQUIRED
+ src %URI; #IMPLIED
+ defer (defer) #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Block;>
+<!ATTLIST noscript
+ %attrs;
+ >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Block;>
+<!ATTLIST body
+ %attrs;
+ onload %Script; #IMPLIED
+ onunload %Script; #IMPLIED
+ >
+
+<!ELEMENT div %Flow;> <!-- generic language/style container -->
+<!ATTLIST div
+ %attrs;
+ >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+ %attrs;
+ >
+
+<!--=================== Headings =========================================-->
+
+<!--
+ There are six levels of headings from h1 (the most important)
+ to h6 (the least important).
+-->
+
+<!ELEMENT h1 %Inline;>
+<!ATTLIST h1
+ %attrs;
+ >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+ %attrs;
+ >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+ %attrs;
+ >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+ %attrs;
+ >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+ %attrs;
+ >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+ %attrs;
+ >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+ %attrs;
+ >
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+ %attrs;
+ >
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+ %attrs;
+ >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+ %attrs;
+ >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+ %attrs;
+ >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+ %attrs;
+ >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address %Inline;>
+<!ATTLIST address
+ %attrs;
+ >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+ %attrs;
+ >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+ %attrs;
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Block;>
+<!ATTLIST blockquote
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+<!--
+ ins/del are allowed in block and inline content, but its
+ inappropriate to include block content within an ins element
+ occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+ %attrs;
+ %focus;
+ charset %Charset; #IMPLIED
+ type %ContentType; #IMPLIED
+ name NMTOKEN #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+ %attrs;
+ >
+
+<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+ %coreattrs;
+ %events;
+ lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #REQUIRED
+ >
+
+<!ELEMENT br EMPTY> <!-- forced line break -->
+<!ATTLIST br
+ %coreattrs;
+ >
+
+<!ELEMENT em %Inline;> <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;> <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;> <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;> <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;> <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;> <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;> <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;> <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;> <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;> <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;> <!-- inlined quote -->
+<!ATTLIST q
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;> <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;> <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;> <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;> <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!--==================== Object ======================================-->
+<!--
+ object is used to embed objects as part of HTML pages.
+ param elements should precede other content. Parameters
+ can also be expressed as attribute/value pairs on the
+ object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST object
+ %attrs;
+ declare (declare) #IMPLIED
+ classid %URI; #IMPLIED
+ codebase %URI; #IMPLIED
+ data %URI; #IMPLIED
+ type %ContentType; #IMPLIED
+ codetype %ContentType; #IMPLIED
+ archive %UriList; #IMPLIED
+ standby %Text; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ tabindex %Number; #IMPLIED
+ >
+
+<!--
+ param is used to supply a named property value.
+ In XML it would seem natural to follow RDF and support an
+ abbreviated syntax where the param elements are replaced
+ by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+ id ID #IMPLIED
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ valuetype (data|ref|object) "data"
+ type %ContentType; #IMPLIED
+ >
+
+<!--=================== Images ===========================================-->
+
+<!--
+ To avoid accessibility problems for people who aren't
+ able to see the image, you should provide a text
+ description using the alt and longdesc attributes.
+ In addition, avoid the use of server-side image maps.
+ Note that in this DTD there is no name attribute. That
+ is only available in the transitional and frameset DTD.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+ %attrs;
+ src %URI; #REQUIRED
+ alt %Text; #REQUIRED
+ longdesc %URI; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ ismap (ismap) #IMPLIED
+ >
+
+<!-- usemap points to a map element which may be in this document
+ or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+ separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+ %i18n;
+ %events;
+ id ID #REQUIRED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED
+ name NMTOKEN #IMPLIED
+ >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+ %attrs;
+ %focus;
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ href %URI; #IMPLIED
+ nohref (nohref) #IMPLIED
+ alt %Text; #REQUIRED
+ >
+
+<!--================ Forms ===============================================-->
+<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+ %attrs;
+ action %URI; #REQUIRED
+ method (get|post) "get"
+ enctype %ContentType; "application/x-www-form-urlencoded"
+ onsubmit %Script; #IMPLIED
+ onreset %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ accept-charset %Charsets; #IMPLIED
+ >
+
+<!--
+ Each label must not contain more than ONE field
+ Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+ %attrs;
+ for IDREF #IMPLIED
+ accesskey %Character; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ >
+
+<!ENTITY % InputType
+ "(text | password | checkbox |
+ radio | submit | reset |
+ file | hidden | image | button)"
+ >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY> <!-- form control -->
+<!ATTLIST input
+ %attrs;
+ %focus;
+ type %InputType; "text"
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ checked (checked) #IMPLIED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ size CDATA #IMPLIED
+ maxlength %Number; #IMPLIED
+ src %URI; #IMPLIED
+ alt CDATA #IMPLIED
+ usemap %URI; #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ >
+
+<!ELEMENT select (optgroup|option)+> <!-- option selector -->
+<!ATTLIST select
+ %attrs;
+ name CDATA #IMPLIED
+ size %Number; #IMPLIED
+ multiple (multiple) #IMPLIED
+ disabled (disabled) #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!ELEMENT optgroup (option)+> <!-- option group -->
+<!ATTLIST optgroup
+ %attrs;
+ disabled (disabled) #IMPLIED
+ label %Text; #REQUIRED
+ >
+
+<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
+<!ATTLIST option
+ %attrs;
+ selected (selected) #IMPLIED
+ disabled (disabled) #IMPLIED
+ label %Text; #IMPLIED
+ value CDATA #IMPLIED
+ >
+
+<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
+<!ATTLIST textarea
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ rows %Number; #REQUIRED
+ cols %Number; #REQUIRED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!--
+ The fieldset element is used to group form fields.
+ Only one legend element should occur in the content
+ and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+ %attrs;
+ >
+
+<!ELEMENT legend %Inline;> <!-- fieldset label -->
+<!ATTLIST legend
+ %attrs;
+ accesskey %Character; #IMPLIED
+ >
+
+<!--
+ Content is %Flow; excluding a, form and form controls
+-->
+<!ELEMENT button %button.content;> <!-- push button -->
+<!ATTLIST button
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ type (button|submit|reset) "submit"
+ disabled (disabled) #IMPLIED
+ >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+ "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+
+<!-- horizontal alignment attributes for cell contents
+
+ char alignment char, e.g. char=':'
+ charoff offset for alignment char
+-->
+<!ENTITY % cellhalign
+ "align (left|center|right|justify|char) #IMPLIED
+ char %Character; #IMPLIED
+ charoff %Length; #IMPLIED"
+ >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+ "valign (top|middle|bottom|baseline) #IMPLIED"
+ >
+
+<!ELEMENT table
+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption %Inline;>
+<!ELEMENT thead (tr)+>
+<!ELEMENT tfoot (tr)+>
+<!ELEMENT tbody (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col EMPTY>
+<!ELEMENT tr (th|td)+>
+<!ELEMENT th %Flow;>
+<!ELEMENT td %Flow;>
+
+<!ATTLIST table
+ %attrs;
+ summary %Text; #IMPLIED
+ width %Length; #IMPLIED
+ border %Pixels; #IMPLIED
+ frame %TFrame; #IMPLIED
+ rules %TRules; #IMPLIED
+ cellspacing %Length; #IMPLIED
+ cellpadding %Length; #IMPLIED
+ >
+
+<!ATTLIST caption
+ %attrs;
+ >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+ width=64 width in screen pixels
+ width=0.5* relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ Use thead to duplicate headers when breaking table
+ across page boundaries, or for static headers when
+ tbody sections are rendered in scrolling panel.
+
+ Use tfoot to duplicate footers when breaking table
+ across page boundaries, or for static footers when
+ tbody sections are rendered in scrolling panel.
+
+ Use multiple tbody sections when rules are needed
+ between groups of table rows.
+-->
+<!ATTLIST thead
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tfoot
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tbody
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tr
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST td
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ >
+
diff --git a/LayoutTests/dom/xhtml/level2/core/xhtml1-transitional.dtd b/LayoutTests/dom/xhtml/level2/core/xhtml1-transitional.dtd
new file mode 100644
index 0000000..1705c27
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/core/xhtml1-transitional.dtd
@@ -0,0 +1,1201 @@
+<!--
+ Extensible HTML version 1.0 Transitional DTD
+
+ This is the same as HTML 4 Transitional except for
+ changes due to the differences between XML and SGML.
+
+ Namespace = http://www.w3.org/1999/xhtml
+
+ For further information, see: http://www.w3.org/TR/xhtml1
+
+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+ All Rights Reserved.
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
+
+ $Revision: 10626 $
+ $Date: 2005-09-26 15:45:26 -0700 (Mon, 26 Sep 2005) $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+ "-//W3C//ENTITIES Special for XHTML//EN"
+ "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+ <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+ <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+ <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+ <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+ <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+ <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+ <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+ <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+ <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+ <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+ <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+ <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+ <!-- used for titles etc. -->
+
+<!ENTITY % FrameTarget "NMTOKEN">
+ <!-- render in this frame -->
+
+<!ENTITY % Length "CDATA">
+ <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+ <!-- pixel, percentage, or relative -->
+
+<!ENTITY % Pixels "CDATA">
+ <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+ <!-- comma separated list of lengths -->
+
+<!-- used for object, applet, img, input and iframe -->
+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
+
+<!-- a color using sRGB: #RRGGBB as Hex values -->
+<!ENTITY % Color "CDATA">
+
+<!-- There are also 16 widely known color names with their sRGB values:
+
+ Black = #000000 Green = #008000
+ Silver = #C0C0C0 Lime = #00FF00
+ Gray = #808080 Olive = #808000
+ White = #FFFFFF Yellow = #FFFF00
+ Maroon = #800000 Navy = #000080
+ Red = #FF0000 Blue = #0000FF
+ Purple = #800080 Teal = #008080
+ Fuchsia= #FF00FF Aqua = #00FFFF
+-->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+ id document-wide unique id
+ class space separated list of classes
+ style associated style info
+ title advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id ID #IMPLIED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED"
+ >
+
+<!-- internationalization attributes
+ lang language code (backwards compatible)
+ xml:lang language code (as per XML 1.0 spec)
+ dir direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #IMPLIED"
+ >
+
+<!-- attributes for common UI events
+ onclick a pointer button was clicked
+ ondblclick a pointer button was double clicked
+ onmousedown a pointer button was pressed down
+ onmouseup a pointer button was released
+ onmousemove a pointer was moved onto the element
+ onmouseout a pointer was moved away from the element
+ onkeypress a key was pressed and released
+ onkeydown a key was pressed down
+ onkeyup a key was released
+-->
+<!ENTITY % events
+ "onclick %Script; #IMPLIED
+ ondblclick %Script; #IMPLIED
+ onmousedown %Script; #IMPLIED
+ onmouseup %Script; #IMPLIED
+ onmouseover %Script; #IMPLIED
+ onmousemove %Script; #IMPLIED
+ onmouseout %Script; #IMPLIED
+ onkeypress %Script; #IMPLIED
+ onkeydown %Script; #IMPLIED
+ onkeyup %Script; #IMPLIED"
+ >
+
+<!-- attributes for elements that can get the focus
+ accesskey accessibility key character
+ tabindex position in tabbing order
+ onfocus the element got the focus
+ onblur the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey %Character; #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED"
+ >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!-- text alignment for p, div, h1-h6. The default is
+ align="left" for ltr headings, "right" for rtl -->
+
+<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.extra
+ "object | applet | img | map | iframe">
+
+<!ENTITY % special.basic
+ "br | span | bdo">
+
+<!ENTITY % special
+ "%special.basic; | %special.extra;">
+
+<!ENTITY % fontstyle.extra "big | small | font | basefont">
+
+<!ENTITY % fontstyle.basic "tt | i | b | u
+ | s | strike ">
+
+<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
+
+<!ENTITY % phrase.extra "sub | sup">
+<!ENTITY % phrase.basic "em | strong | dfn | code | q |
+ samp | kbd | var | cite | abbr | acronym">
+
+<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl | menu | dir">
+<!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">
+
+<!ENTITY % block
+ "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
+
+<!-- pre uses %Inline excluding img, object, applet, big, small,
+ font, or basefont -->
+
+<!ENTITY % pre.content
+ "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
+ %inline.forms; | %misc.inline;)*">
+
+<!-- form uses %Flow; excluding form -->
+
+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
+
+<!ENTITY % button.content
+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+ table | br | span | bdo | object | applet | img | map |
+ %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, body)>
+<!ATTLIST html
+ %i18n;
+ id ID #IMPLIED
+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
+ >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
+
+<!-- content model is %head.misc; combined with a single
+ title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+ ((title, %head.misc;, (base, %head.misc;)?) |
+ (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+ %i18n;
+ id ID #IMPLIED
+ profile %URI; #IMPLIED
+ >
+
+<!-- The title element is not considered part of the flow of text.
+ It should be displayed, for example as the page header or
+ window title. Exactly one title is required per document.
+ -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title
+ %i18n;
+ id ID #IMPLIED
+ >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+ id ID #IMPLIED
+ href %URI; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+ %i18n;
+ id ID #IMPLIED
+ http-equiv CDATA #IMPLIED
+ name CDATA #IMPLIED
+ content CDATA #REQUIRED
+ scheme CDATA #IMPLIED
+ >
+
+<!--
+ Relationship values can be used in principle:
+
+ a) for document specific toolbars/menus when used
+ with the link element in document head e.g.
+ start, contents, previous, next, index, end, help
+ b) to link to a separate style sheet (rel="stylesheet")
+ c) to make a link to a script (rel="script")
+ d) by stylesheets to control how collections of
+ html nodes are rendered into printed documents
+ e) to make a link to a printable version of this document
+ e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+ %attrs;
+ charset %Charset; #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ type %ContentType; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ media %MediaDesc; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+ %i18n;
+ id ID #IMPLIED
+ type %ContentType; #REQUIRED
+ media %MediaDesc; #IMPLIED
+ title %Text; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+ id ID #IMPLIED
+ charset %Charset; #IMPLIED
+ type %ContentType; #REQUIRED
+ language CDATA #IMPLIED
+ src %URI; #IMPLIED
+ defer (defer) #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Flow;>
+<!ATTLIST noscript
+ %attrs;
+ >
+
+<!--======================= Frames =======================================-->
+
+<!-- inline subwindow -->
+
+<!ELEMENT iframe %Flow;>
+<!ATTLIST iframe
+ %coreattrs;
+ longdesc %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ src %URI; #IMPLIED
+ frameborder (1|0) "1"
+ marginwidth %Pixels; #IMPLIED
+ marginheight %Pixels; #IMPLIED
+ scrolling (yes|no|auto) "auto"
+ align %ImgAlign; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ >
+
+<!-- alternate content container for non frame-based rendering -->
+
+<!ELEMENT noframes %Flow;>
+<!ATTLIST noframes
+ %attrs;
+ >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Flow;>
+<!ATTLIST body
+ %attrs;
+ onload %Script; #IMPLIED
+ onunload %Script; #IMPLIED
+ background %URI; #IMPLIED
+ bgcolor %Color; #IMPLIED
+ text %Color; #IMPLIED
+ link %Color; #IMPLIED
+ vlink %Color; #IMPLIED
+ alink %Color; #IMPLIED
+ >
+
+<!ELEMENT div %Flow;> <!-- generic language/style container -->
+<!ATTLIST div
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Headings =========================================-->
+
+<!--
+ There are six levels of headings from h1 (the most important)
+ to h6 (the least important).
+-->
+
+<!ELEMENT h1 %Inline;>
+<!ATTLIST h1
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list bullet styles -->
+
+<!ENTITY % ULStyle "(disc|square|circle)">
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+ %attrs;
+ type %ULStyle; #IMPLIED
+ compact (compact) #IMPLIED
+ >
+
+<!-- Ordered list numbering style
+
+ 1 arabic numbers 1, 2, 3, ...
+ a lower alpha a, b, c, ...
+ A upper alpha A, B, C, ...
+ i lower roman i, ii, iii, ...
+ I upper roman I, II, III, ...
+
+ The style is applied to the sequence number which by default
+ is reset to 1 for the first list item in an ordered list.
+-->
+<!ENTITY % OLStyle "CDATA">
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+ %attrs;
+ type %OLStyle; #IMPLIED
+ compact (compact) #IMPLIED
+ start %Number; #IMPLIED
+ >
+
+<!-- single column list (DEPRECATED) -->
+<!ELEMENT menu (li)+>
+<!ATTLIST menu
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- multiple column list (DEPRECATED) -->
+<!ELEMENT dir (li)+>
+<!ATTLIST dir
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
+<!ENTITY % LIStyle "CDATA">
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+ %attrs;
+ type %LIStyle; #IMPLIED
+ value %Number; #IMPLIED
+ >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+ %attrs;
+ >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+ %attrs;
+ >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
+<!ATTLIST address
+ %attrs;
+ >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+ %attrs;
+ align (left|center|right) #IMPLIED
+ noshade (noshade) #IMPLIED
+ size %Pixels; #IMPLIED
+ width %Length; #IMPLIED
+ >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding
+ "img|object|applet|big|small|sub|sup|font|basefont" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+ %attrs;
+ width %Number; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Flow;>
+<!ATTLIST blockquote
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!--=================== Text alignment ===================================-->
+
+<!-- center content -->
+<!ELEMENT center %Flow;>
+<!ATTLIST center
+ %attrs;
+ >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+<!--
+ ins/del are allowed in block and inline content, but its
+ inappropriate to include block content within an ins element
+ occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+ %attrs;
+ %focus;
+ charset %Charset; #IMPLIED
+ type %ContentType; #IMPLIED
+ name NMTOKEN #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+ %attrs;
+ >
+
+<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+ %coreattrs;
+ %events;
+ lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #REQUIRED
+ >
+
+<!ELEMENT br EMPTY> <!-- forced line break -->
+<!ATTLIST br
+ %coreattrs;
+ clear (left|all|right|none) "none"
+ >
+
+<!ELEMENT em %Inline;> <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;> <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;> <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;> <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;> <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;> <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;> <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;> <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;> <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;> <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;> <!-- inlined quote -->
+<!ATTLIST q
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;> <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;> <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;> <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;> <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!ELEMENT u %Inline;> <!-- underline -->
+<!ATTLIST u %attrs;>
+
+<!ELEMENT s %Inline;> <!-- strike-through -->
+<!ATTLIST s %attrs;>
+
+<!ELEMENT strike %Inline;> <!-- strike-through -->
+<!ATTLIST strike %attrs;>
+
+<!ELEMENT basefont EMPTY> <!-- base font size -->
+<!ATTLIST basefont
+ id ID #IMPLIED
+ size CDATA #REQUIRED
+ color %Color; #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!ELEMENT font %Inline;> <!-- local change to font -->
+<!ATTLIST font
+ %coreattrs;
+ %i18n;
+ size CDATA #IMPLIED
+ color %Color; #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!--==================== Object ======================================-->
+<!--
+ object is used to embed objects as part of HTML pages.
+ param elements should precede other content. Parameters
+ can also be expressed as attribute/value pairs on the
+ object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST object
+ %attrs;
+ declare (declare) #IMPLIED
+ classid %URI; #IMPLIED
+ codebase %URI; #IMPLIED
+ data %URI; #IMPLIED
+ type %ContentType; #IMPLIED
+ codetype %ContentType; #IMPLIED
+ archive %UriList; #IMPLIED
+ standby %Text; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ tabindex %Number; #IMPLIED
+ align %ImgAlign; #IMPLIED
+ border %Pixels; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!--
+ param is used to supply a named property value.
+ In XML it would seem natural to follow RDF and support an
+ abbreviated syntax where the param elements are replaced
+ by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+ id ID #IMPLIED
+ name CDATA #REQUIRED
+ value CDATA #IMPLIED
+ valuetype (data|ref|object) "data"
+ type %ContentType; #IMPLIED
+ >
+
+<!--=================== Java applet ==================================-->
+<!--
+ One of code or object attributes must be present.
+ Place param elements before other content.
+-->
+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST applet
+ %coreattrs;
+ codebase %URI; #IMPLIED
+ archive CDATA #IMPLIED
+ code CDATA #IMPLIED
+ object CDATA #IMPLIED
+ alt %Text; #IMPLIED
+ name NMTOKEN #IMPLIED
+ width %Length; #REQUIRED
+ height %Length; #REQUIRED
+ align %ImgAlign; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!--=================== Images ===========================================-->
+
+<!--
+ To avoid accessibility problems for people who aren't
+ able to see the image, you should provide a text
+ description using the alt and longdesc attributes.
+ In addition, avoid the use of server-side image maps.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+ %attrs;
+ src %URI; #REQUIRED
+ alt %Text; #REQUIRED
+ name NMTOKEN #IMPLIED
+ longdesc %URI; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ ismap (ismap) #IMPLIED
+ align %ImgAlign; #IMPLIED
+ border %Length; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!-- usemap points to a map element which may be in this document
+ or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+ separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+ %i18n;
+ %events;
+ id ID #REQUIRED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED
+ name CDATA #IMPLIED
+ >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+ %attrs;
+ %focus;
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ href %URI; #IMPLIED
+ nohref (nohref) #IMPLIED
+ alt %Text; #REQUIRED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--================ Forms ===============================================-->
+
+<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+ %attrs;
+ action %URI; #REQUIRED
+ method (get|post) "get"
+ name NMTOKEN #IMPLIED
+ enctype %ContentType; "application/x-www-form-urlencoded"
+ onsubmit %Script; #IMPLIED
+ onreset %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ accept-charset %Charsets; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--
+ Each label must not contain more than ONE field
+ Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+ %attrs;
+ for IDREF #IMPLIED
+ accesskey %Character; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ >
+
+<!ENTITY % InputType
+ "(text | password | checkbox |
+ radio | submit | reset |
+ file | hidden | image | button)"
+ >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY> <!-- form control -->
+<!ATTLIST input
+ %attrs;
+ %focus;
+ type %InputType; "text"
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ checked (checked) #IMPLIED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ size CDATA #IMPLIED
+ maxlength %Number; #IMPLIED
+ src %URI; #IMPLIED
+ alt CDATA #IMPLIED
+ usemap %URI; #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ align %ImgAlign; #IMPLIED
+ >
+
+<!ELEMENT select (optgroup|option)+> <!-- option selector -->
+<!ATTLIST select
+ %attrs;
+ name CDATA #IMPLIED
+ size %Number; #IMPLIED
+ multiple (multiple) #IMPLIED
+ disabled (disabled) #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!ELEMENT optgroup (option)+> <!-- option group -->
+<!ATTLIST optgroup
+ %attrs;
+ disabled (disabled) #IMPLIED
+ label %Text; #REQUIRED
+ >
+
+<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
+<!ATTLIST option
+ %attrs;
+ selected (selected) #IMPLIED
+ disabled (disabled) #IMPLIED
+ label %Text; #IMPLIED
+ value CDATA #IMPLIED
+ >
+
+<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
+<!ATTLIST textarea
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ rows %Number; #REQUIRED
+ cols %Number; #REQUIRED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!--
+ The fieldset element is used to group form fields.
+ Only one legend element should occur in the content
+ and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+ %attrs;
+ >
+
+<!ENTITY % LAlign "(top|bottom|left|right)">
+
+<!ELEMENT legend %Inline;> <!-- fieldset label -->
+<!ATTLIST legend
+ %attrs;
+ accesskey %Character; #IMPLIED
+ align %LAlign; #IMPLIED
+ >
+
+<!--
+ Content is %Flow; excluding a, form, form controls, iframe
+-->
+<!ELEMENT button %button.content;> <!-- push button -->
+<!ATTLIST button
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ type (button|submit|reset) "submit"
+ disabled (disabled) #IMPLIED
+ >
+
+<!-- single-line text input control (DEPRECATED) -->
+<!ELEMENT isindex EMPTY>
+<!ATTLIST isindex
+ %coreattrs;
+ %i18n;
+ prompt %Text; #IMPLIED
+ >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+ "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+
+<!-- horizontal placement of table relative to document -->
+<!ENTITY % TAlign "(left|center|right)">
+
+<!-- horizontal alignment attributes for cell contents
+
+ char alignment char, e.g. char=':'
+ charoff offset for alignment char
+-->
+<!ENTITY % cellhalign
+ "align (left|center|right|justify|char) #IMPLIED
+ char %Character; #IMPLIED
+ charoff %Length; #IMPLIED"
+ >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+ "valign (top|middle|bottom|baseline) #IMPLIED"
+ >
+
+<!ELEMENT table
+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption %Inline;>
+<!ELEMENT thead (tr)+>
+<!ELEMENT tfoot (tr)+>
+<!ELEMENT tbody (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col EMPTY>
+<!ELEMENT tr (th|td)+>
+<!ELEMENT th %Flow;>
+<!ELEMENT td %Flow;>
+
+<!ATTLIST table
+ %attrs;
+ summary %Text; #IMPLIED
+ width %Length; #IMPLIED
+ border %Pixels; #IMPLIED
+ frame %TFrame; #IMPLIED
+ rules %TRules; #IMPLIED
+ cellspacing %Length; #IMPLIED
+ cellpadding %Length; #IMPLIED
+ align %TAlign; #IMPLIED
+ bgcolor %Color; #IMPLIED
+ >
+
+<!ENTITY % CAlign "(top|bottom|left|right)">
+
+<!ATTLIST caption
+ %attrs;
+ align %CAlign; #IMPLIED
+ >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+ width=64 width in screen pixels
+ width=0.5* relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ Use thead to duplicate headers when breaking table
+ across page boundaries, or for static headers when
+ tbody sections are rendered in scrolling panel.
+
+ Use tfoot to duplicate footers when breaking table
+ across page boundaries, or for static footers when
+ tbody sections are rendered in scrolling panel.
+
+ Use multiple tbody sections when rules are needed
+ between groups of table rows.
+-->
+<!ATTLIST thead
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tfoot
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tbody
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tr
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ bgcolor %Color; #IMPLIED
+ >
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor %Color; #IMPLIED
+ width %Length; #IMPLIED
+ height %Length; #IMPLIED
+ >
+
+<!ATTLIST td
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor %Color; #IMPLIED
+ width %Length; #IMPLIED
+ height %Length; #IMPLIED
+ >
+
diff --git a/LayoutTests/dom/xhtml/level2/events/DocumentEventCast01-expected.txt b/LayoutTests/dom/xhtml/level2/events/DocumentEventCast01-expected.txt
new file mode 100644
index 0000000..1e398f3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/DocumentEventCast01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/DocumentEventCast01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/DocumentEventCast01.js b/LayoutTests/dom/xhtml/level2/events/DocumentEventCast01.js
new file mode 100644
index 0000000..ff41750
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/DocumentEventCast01.js
@@ -0,0 +1,104 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/DocumentEventCast01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+A document is created using implementation.createDocument and
+cast to a DocumentEvent interface.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-DocumentEvent
+*/
+function DocumentEventCast01() {
+ var success;
+ if(checkInitialization(builder, "DocumentEventCast01") != null) return;
+ var doc;
+ var docEvent;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ docEvent = doc;
+
+}
+
+
+
+
+function runTest() {
+ DocumentEventCast01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/DocumentEventCast01.xhtml b/LayoutTests/dom/xhtml/level2/events/DocumentEventCast01.xhtml
new file mode 100644
index 0000000..c480247
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/DocumentEventCast01.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="DocumentEventCast01.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/EventTargetCast01-expected.txt b/LayoutTests/dom/xhtml/level2/events/EventTargetCast01-expected.txt
new file mode 100644
index 0000000..856f406
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/EventTargetCast01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/EventTargetCast01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/EventTargetCast01.js b/LayoutTests/dom/xhtml/level2/events/EventTargetCast01.js
new file mode 100644
index 0000000..574cf0d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/EventTargetCast01.js
@@ -0,0 +1,104 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/EventTargetCast01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+A document is created using implementation.createDocument and
+cast to a EventTarget interface.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget
+*/
+function EventTargetCast01() {
+ var success;
+ if(checkInitialization(builder, "EventTargetCast01") != null) return;
+ var doc;
+ var target;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ target = doc;
+
+}
+
+
+
+
+function runTest() {
+ EventTargetCast01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/EventTargetCast01.xhtml b/LayoutTests/dom/xhtml/level2/events/EventTargetCast01.xhtml
new file mode 100644
index 0000000..182b82d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/EventTargetCast01.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="EventTargetCast01.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent01-expected.txt b/LayoutTests/dom/xhtml/level2/events/createEvent01-expected.txt
new file mode 100644
index 0000000..498fff9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/createEvent01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent01.js b/LayoutTests/dom/xhtml/level2/events/createEvent01.js
new file mode 100644
index 0000000..da8cf41
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent01.js
@@ -0,0 +1,105 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/createEvent01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An object implementing the Event interface is created by using
+DocumentEvent.createEvent method with eventType equals "Events".
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-DocumentEvent-createEvent
+*/
+function createEvent01() {
+ var success;
+ if(checkInitialization(builder, "createEvent01") != null) return;
+ var doc;
+ var event;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ event = doc.createEvent("Events");
+ assertNotNull("notnull",event);
+
+}
+
+
+
+
+function runTest() {
+ createEvent01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent01.xhtml b/LayoutTests/dom/xhtml/level2/events/createEvent01.xhtml
new file mode 100644
index 0000000..4c5fe7c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent01.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="createEvent01.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent02-expected.txt b/LayoutTests/dom/xhtml/level2/events/createEvent02-expected.txt
new file mode 100644
index 0000000..b3c49dd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/createEvent02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent02.js b/LayoutTests/dom/xhtml/level2/events/createEvent02.js
new file mode 100644
index 0000000..a7a1dde
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent02.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/createEvent02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+ checkFeature("MutationEvents", "2.0");
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An object implementing the Event interface is created by using
+DocumentEvent.createEvent method with eventType equals "MutationEvents".
+Only applicable if implementation supports MutationEvents.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-DocumentEvent-createEvent
+*/
+function createEvent02() {
+ var success;
+ if(checkInitialization(builder, "createEvent02") != null) return;
+ var doc;
+ var event;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ event = doc.createEvent("MutationEvents");
+ assertNotNull("notnull",event);
+
+}
+
+
+
+
+function runTest() {
+ createEvent02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent02.xhtml b/LayoutTests/dom/xhtml/level2/events/createEvent02.xhtml
new file mode 100644
index 0000000..9f255fd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent02.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="createEvent02.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent03-expected.txt b/LayoutTests/dom/xhtml/level2/events/createEvent03-expected.txt
new file mode 100644
index 0000000..64423af
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/createEvent03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent03.js b/LayoutTests/dom/xhtml/level2/events/createEvent03.js
new file mode 100644
index 0000000..74d8a34
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent03.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/createEvent03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+ checkFeature("UIEvents", "2.0");
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An object implementing the Event interface is created by using
+DocumentEvent.createEvent method with eventType equals "UIEvents".
+Only applicable if implementation supports the "UIEvents" feature.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-DocumentEvent-createEvent
+*/
+function createEvent03() {
+ var success;
+ if(checkInitialization(builder, "createEvent03") != null) return;
+ var doc;
+ var event;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ event = doc.createEvent("UIEvents");
+ assertNotNull("notnull",event);
+
+}
+
+
+
+
+function runTest() {
+ createEvent03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent03.xhtml b/LayoutTests/dom/xhtml/level2/events/createEvent03.xhtml
new file mode 100644
index 0000000..8c869c4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent03.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="createEvent03.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent04-expected.txt b/LayoutTests/dom/xhtml/level2/events/createEvent04-expected.txt
new file mode 100644
index 0000000..5259ba4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/createEvent04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent04.js b/LayoutTests/dom/xhtml/level2/events/createEvent04.js
new file mode 100644
index 0000000..4d0fce5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent04.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/createEvent04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+ checkFeature("MouseEvents", "2.0");
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An object implementing the Event interface is created by using
+DocumentEvent.createEvent method with eventType equals "UIEvents".
+Only applicable if implementation supports the "UIEvents" feature.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-DocumentEvent-createEvent
+*/
+function createEvent04() {
+ var success;
+ if(checkInitialization(builder, "createEvent04") != null) return;
+ var doc;
+ var event;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ event = doc.createEvent("MouseEvents");
+ assertNotNull("notnull",event);
+
+}
+
+
+
+
+function runTest() {
+ createEvent04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent04.xhtml b/LayoutTests/dom/xhtml/level2/events/createEvent04.xhtml
new file mode 100644
index 0000000..ea4c2cc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent04.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="createEvent04.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent05-expected.txt b/LayoutTests/dom/xhtml/level2/events/createEvent05-expected.txt
new file mode 100644
index 0000000..9cd34dd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/createEvent05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent05.js b/LayoutTests/dom/xhtml/level2/events/createEvent05.js
new file mode 100644
index 0000000..089952f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent05.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/createEvent05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+ checkFeature("HTMLEvents", "2.0");
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An object implementing the Event interface is created by using
+DocumentEvent.createEvent method with eventType equals "HTMLEvents".
+Only applicable if implementation supports the "HTMLEvents" feature.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-DocumentEvent-createEvent
+*/
+function createEvent05() {
+ var success;
+ if(checkInitialization(builder, "createEvent05") != null) return;
+ var doc;
+ var event;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ event = doc.createEvent("HTMLEvents");
+ assertNotNull("notnull",event);
+
+}
+
+
+
+
+function runTest() {
+ createEvent05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/createEvent05.xhtml b/LayoutTests/dom/xhtml/level2/events/createEvent05.xhtml
new file mode 100644
index 0000000..763d4c4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/createEvent05.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="createEvent05.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent01-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent01-expected.txt
new file mode 100644
index 0000000..7a979fb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent01.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent01.js
new file mode 100644
index 0000000..a8a2204
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent01.js
@@ -0,0 +1,118 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+A null reference is passed to EventTarget.dispatchEvent(), should raise implementation
+or platform exception.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187
+*/
+function dispatchEvent01() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent01") != null) return;
+ var doc;
+ var target;
+ var evt = null;
+
+ var preventDefault;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+
+ {
+ success = false;
+ try {
+ preventDefault = doc.dispatchEvent(evt);
+
+ } catch (ex) {
+ success = true;
+ }
+ assertTrue("throw_ImplException", success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent01.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent01.xhtml
new file mode 100644
index 0000000..c943ef3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent01.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent01.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent02-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent02-expected.txt
new file mode 100644
index 0000000..34bce9c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent02.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent02.js
new file mode 100644
index 0000000..1a46d48
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent02.js
@@ -0,0 +1,118 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An created but not initialized event is passed to EventTarget.dispatchEvent(). Should raise
+UNSPECIFIED_EVENT_TYPE_ERR EventException.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])
+*/
+function dispatchEvent02() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent02") != null) return;
+ var doc;
+ var target;
+ var evt;
+ var preventDefault;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ evt = doc.createEvent("Events");
+
+ {
+ success = false;
+ try {
+ preventDefault = doc.dispatchEvent(evt);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 0);
+ }
+ assertTrue("throw_UNSPECIFIED_EVENT_TYPE_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent02.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent02.xhtml
new file mode 100644
index 0000000..11c0caf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent02.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent02.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent03-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent03-expected.txt
new file mode 100644
index 0000000..9e62490
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent03.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent03.js
new file mode 100644
index 0000000..a615d16
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent03.js
@@ -0,0 +1,119 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+ checkFeature("MutationEvents", "2.0");
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An created but not initialized event is passed to EventTarget.dispatchEvent(). Should raise
+UNSPECIFIED_EVENT_TYPE_ERR EventException.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])
+*/
+function dispatchEvent03() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent03") != null) return;
+ var doc;
+ var target;
+ var evt;
+ var preventDefault;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ evt = doc.createEvent("MutationEvents");
+
+ {
+ success = false;
+ try {
+ preventDefault = doc.dispatchEvent(evt);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 0);
+ }
+ assertTrue("throw_UNSPECIFIED_EVENT_TYPE_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent03.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent03.xhtml
new file mode 100644
index 0000000..df11447
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent03.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent03.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent04-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent04-expected.txt
new file mode 100644
index 0000000..f86950b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent04.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent04.js
new file mode 100644
index 0000000..628be89
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent04.js
@@ -0,0 +1,119 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+ checkFeature("UIEvents", "2.0");
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An created but not initialized event is passed to EventTarget.dispatchEvent(). Should raise
+UNSPECIFIED_EVENT_TYPE_ERR EventException.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])
+*/
+function dispatchEvent04() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent04") != null) return;
+ var doc;
+ var target;
+ var evt;
+ var preventDefault;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ evt = doc.createEvent("UIEvents");
+
+ {
+ success = false;
+ try {
+ preventDefault = doc.dispatchEvent(evt);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 0);
+ }
+ assertTrue("throw_UNSPECIFIED_EVENT_TYPE_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent04.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent04.xhtml
new file mode 100644
index 0000000..3648364
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent04.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent04.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent05-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent05-expected.txt
new file mode 100644
index 0000000..191af33
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent05.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent05.js
new file mode 100644
index 0000000..1a5953f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent05.js
@@ -0,0 +1,119 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+ checkFeature("MouseEvents", "2.0");
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An created but not initialized event is passed to EventTarget.dispatchEvent(). Should raise
+UNSPECIFIED_EVENT_TYPE_ERR EventException.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])
+*/
+function dispatchEvent05() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent05") != null) return;
+ var doc;
+ var target;
+ var evt;
+ var preventDefault;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ evt = doc.createEvent("MouseEvents");
+
+ {
+ success = false;
+ try {
+ preventDefault = doc.dispatchEvent(evt);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 0);
+ }
+ assertTrue("throw_UNSPECIFIED_EVENT_TYPE_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent05.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent05.xhtml
new file mode 100644
index 0000000..20be882
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent05.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent05.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent06-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent06-expected.txt
new file mode 100644
index 0000000..b3ef0db
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent06.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent06.js
new file mode 100644
index 0000000..720fe46
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent06.js
@@ -0,0 +1,119 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+ checkFeature("HTMLEvents", "2.0");
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An created but not initialized event is passed to EventTarget.dispatchEvent(). Should raise
+UNSPECIFIED_EVENT_TYPE_ERR EventException.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])
+*/
+function dispatchEvent06() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent06") != null) return;
+ var doc;
+ var target;
+ var evt;
+ var preventDefault;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ evt = doc.createEvent("HTMLEvents");
+
+ {
+ success = false;
+ try {
+ preventDefault = doc.dispatchEvent(evt);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 0);
+ }
+ assertTrue("throw_UNSPECIFIED_EVENT_TYPE_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent06.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent06.xhtml
new file mode 100644
index 0000000..51f1c84
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent06.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent06.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent07-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent07-expected.txt
new file mode 100644
index 0000000..d9d34eb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent07.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent07.js
new file mode 100644
index 0000000..9a0c5c7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent07.js
@@ -0,0 +1,119 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+An Event initialized with a empty name is passed to EventTarget.dispatchEvent(). Should raise
+UNSPECIFIED_EVENT_TYPE_ERR EventException.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])
+*/
+function dispatchEvent07() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent07") != null) return;
+ var doc;
+ var target;
+ var evt;
+ var preventDefault;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ evt = doc.createEvent("Events");
+ evt.initEvent("",false,false);
+
+ {
+ success = false;
+ try {
+ preventDefault = doc.dispatchEvent(evt);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 0);
+ }
+ assertTrue("throw_UNSPECIFIED_EVENT_TYPE_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent07.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent07.xhtml
new file mode 100644
index 0000000..3842c77
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent07.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent07.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent08-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent08-expected.txt
new file mode 100644
index 0000000..49961cd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent08.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent08.js
new file mode 100644
index 0000000..ecc1b34
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent08.js
@@ -0,0 +1,126 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+//EventMonitor's require a document level variable named monitor
+var monitor;
+
+/**
+*
+An EventListener registered on the target node with capture false, should
+recieve any event fired on that node.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])
+*/
+function dispatchEvent08() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent08") != null) return;
+ var doc;
+ var target;
+ var evt;
+ var preventDefault;
+ monitor = new EventMonitor();
+
+ var atEvents = new Array();
+
+ var bubbledEvents = new Array();
+
+ var capturedEvents = new Array();
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ doc.addEventListener("foo", monitor.handleEvent, false);
+ evt = doc.createEvent("Events");
+ evt.initEvent("foo",true,false);
+ preventDefault = doc.dispatchEvent(evt);
+ atEvents = monitor.atEvents;
+assertSize("atCount",1,atEvents);
+bubbledEvents = monitor.bubbledEvents;
+assertSize("bubbleCount",0,bubbledEvents);
+capturedEvents = monitor.capturedEvents;
+assertSize("captureCount",0,capturedEvents);
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent08.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent08.xhtml
new file mode 100644
index 0000000..6131c8e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent08.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent08.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent09-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent09-expected.txt
new file mode 100644
index 0000000..f8df517
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent09-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent09
+Status failure
+Message atCount: assertEquals failed, actual 1, expected 0.
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent09.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent09.js
new file mode 100644
index 0000000..77ab623
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent09.js
@@ -0,0 +1,126 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+//EventMonitor's require a document level variable named monitor
+var monitor;
+
+/**
+*
+An event is dispatched to the document with a capture listener attached.
+A capturing EventListener will not be triggered by events dispatched directly to the EventTarget upon which it is registered.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])
+*/
+function dispatchEvent09() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent09") != null) return;
+ var doc;
+ var target;
+ var evt;
+ var preventDefault;
+ monitor = new EventMonitor();
+
+ var atEvents = new Array();
+
+ var bubbledEvents = new Array();
+
+ var capturedEvents = new Array();
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ doc.addEventListener("foo", monitor.handleEvent, true);
+ evt = doc.createEvent("Events");
+ evt.initEvent("foo",true,false);
+ preventDefault = doc.dispatchEvent(evt);
+ atEvents = monitor.atEvents;
+assertSize("atCount",0,atEvents);
+bubbledEvents = monitor.bubbledEvents;
+assertSize("bubbleCount",0,bubbledEvents);
+capturedEvents = monitor.capturedEvents;
+assertSize("captureCount",0,capturedEvents);
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent09.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent09.xhtml
new file mode 100644
index 0000000..db2a213
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent09.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent09.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent10-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent10-expected.txt
new file mode 100644
index 0000000..b1b98cb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent10.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent10.js
new file mode 100644
index 0000000..1db0b98
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent10.js
@@ -0,0 +1,127 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+//EventMonitor's require a document level variable named monitor
+var monitor;
+
+/**
+*
+The same monitor is registered twice and an event is dispatched. The monitor should
+recieve only one handleEvent call.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])
+*/
+function dispatchEvent10() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent10") != null) return;
+ var doc;
+ var target;
+ var evt;
+ var preventDefault;
+ monitor = new EventMonitor();
+
+ var atEvents = new Array();
+
+ var bubbledEvents = new Array();
+
+ var capturedEvents = new Array();
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ doc.addEventListener("foo", monitor.handleEvent, false);
+ doc.addEventListener("foo", monitor.handleEvent, false);
+ evt = doc.createEvent("Events");
+ evt.initEvent("foo",true,false);
+ preventDefault = doc.dispatchEvent(evt);
+ atEvents = monitor.atEvents;
+assertSize("atCount",1,atEvents);
+bubbledEvents = monitor.bubbledEvents;
+assertSize("bubbleCount",0,bubbledEvents);
+capturedEvents = monitor.capturedEvents;
+assertSize("captureCount",0,capturedEvents);
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent10.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent10.xhtml
new file mode 100644
index 0000000..edbba7f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent10.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent10.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent11-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent11-expected.txt
new file mode 100644
index 0000000..4247de5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent11.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent11.js
new file mode 100644
index 0000000..406d12d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent11.js
@@ -0,0 +1,120 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+//EventMonitor's require a document level variable named monitor
+var monitor;
+
+/**
+*
+The same monitor is registered twice, removed once, and an event is dispatched.
+The monitor should recieve only no handleEvent calls.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])
+*/
+function dispatchEvent11() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent11") != null) return;
+ var doc;
+ var target;
+ var evt;
+ var preventDefault;
+ monitor = new EventMonitor();
+
+ var events = new Array();
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ doc.addEventListener("foo", monitor.handleEvent, false);
+ doc.addEventListener("foo", monitor.handleEvent, false);
+ doc.removeEventListener("foo", monitor.handleEvent, false);
+ evt = doc.createEvent("Events");
+ evt.initEvent("foo",true,false);
+ preventDefault = doc.dispatchEvent(evt);
+ events = monitor.allEvents;
+assertSize("eventCount",0,events);
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent11.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent11.xhtml
new file mode 100644
index 0000000..16d32e0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent11.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent11.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent12-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent12-expected.txt
new file mode 100644
index 0000000..d23366a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent12.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent12.js
new file mode 100644
index 0000000..26e9b77
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent12.js
@@ -0,0 +1,151 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+//EventMonitor's require a document level variable named monitor
+var monitor;
+
+ /**
+ * Inner class implementation for variable other
+ */
+var other;
+
+/**
+ * Constructor
+
+ */
+
+function EventListenerN10035() {
+ }
+
+ /**
+ *
+This method is called whenever an event occurs of the type for which theEventListenerinterface was registered.
+
+ * @param evt
+TheEventcontains contextual information about the event. It also contains thestopPropagationand preventDefaultmethods which are used in determining the event's flow and default action.
+
+ */
+EventListenerN10035.prototype.handleEvent = function(evt) {
+ //
+ // bring class variables into function scope
+ //
+ }
+
+/**
+*
+A monitor is added, multiple calls to removeEventListener
+are mde with similar but not identical arguments, and an event is dispatched.
+The monitor should recieve handleEvent calls.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])
+*/
+function dispatchEvent12() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent12") != null) return;
+ var doc;
+ var target;
+ var evt;
+ var preventDefault;
+ monitor = new EventMonitor();
+
+ other = new EventListenerN10035();
+
+ var events = new Array();
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ doc.addEventListener("foo", monitor.handleEvent, false);
+ doc.removeEventListener("foo", monitor.handleEvent, true);
+ doc.removeEventListener("food", monitor.handleEvent, false);
+ doc.removeEventListener("foo", other.handleEvent, false);
+ evt = doc.createEvent("Events");
+ evt.initEvent("foo",true,false);
+ preventDefault = doc.dispatchEvent(evt);
+ events = monitor.allEvents;
+assertSize("eventCount",1,events);
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent12.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent12.xhtml
new file mode 100644
index 0000000..b03ac34
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent12.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent12.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent13-expected.txt b/LayoutTests/dom/xhtml/level2/events/dispatchEvent13-expected.txt
new file mode 100644
index 0000000..e306a17
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent13.js b/LayoutTests/dom/xhtml/level2/events/dispatchEvent13.js
new file mode 100644
index 0000000..c6483d8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent13.js
@@ -0,0 +1,209 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/dispatchEvent13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+ /**
+ * Inner class implementation for variable listener1
+ */
+var listener1;
+
+/**
+ * Constructor
+
+ * @param events Value from value attribute of nested var element
+ * @param listeners Value from value attribute of nested var element
+ */
+
+function EventListenerN1003B(events, listeners) {
+ this.events = events;
+ this.listeners = listeners;
+ }
+
+ /**
+ *
+This method is called whenever an event occurs of the type for which theEventListenerinterface was registered.
+
+ * @param evt
+TheEventcontains contextual information about the event. It also contains thestopPropagationand preventDefaultmethods which are used in determining the event's flow and default action.
+
+ */
+EventListenerN1003B.prototype.handleEvent = function(evt) {
+ //
+ // bring class variables into function scope
+ //
+ var events = listener1.events;
+ var listeners = listener1.listeners;
+ var target;
+ var listener;
+ events[events.length] = evt;
+target = evt.currentTarget;
+
+ for(var indexN10065 = 0;indexN10065 < listeners.length; indexN10065++) {
+ listener = listeners[indexN10065];
+ target.removeEventListener("foo", listener.handleEvent, false);
+
+ }
+ }
+
+ /**
+ * Inner class implementation for variable listener2
+ */
+var listener2;
+
+/**
+ * Constructor
+
+ * @param events Value from value attribute of nested var element
+ * @param listeners Value from value attribute of nested var element
+ */
+
+function EventListenerN10074(events, listeners) {
+ this.events = events;
+ this.listeners = listeners;
+ }
+
+ /**
+ *
+This method is called whenever an event occurs of the type for which theEventListenerinterface was registered.
+
+ * @param evt
+TheEventcontains contextual information about the event. It also contains thestopPropagationand preventDefaultmethods which are used in determining the event's flow and default action.
+
+ */
+EventListenerN10074.prototype.handleEvent = function(evt) {
+ //
+ // bring class variables into function scope
+ //
+ var events = listener2.events;
+ var listeners = listener2.listeners;
+ var target;
+ var listener;
+ events[events.length] = evt;
+target = evt.currentTarget;
+
+ for(var indexN10098 = 0;indexN10098 < listeners.length; indexN10098++) {
+ listener = listeners[indexN10098];
+ target.removeEventListener("foo", listener.handleEvent, false);
+
+ }
+ }
+
+/**
+*
+Two listeners are registered on the same target, each of which will remove both itself and
+the other on the first event. Only one should see the event since event listeners
+can never be invoked after being removed.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-EventTarget-dispatchEvent
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#xpointer(id('Events-EventTarget-dispatchEvent')/raises/exception[@name='EventException']/descr/p[substring-before(.,':')='UNSPECIFIED_EVENT_TYPE_ERR'])
+*/
+function dispatchEvent13() {
+ var success;
+ if(checkInitialization(builder, "dispatchEvent13") != null) return;
+ var doc;
+ var target;
+ var evt;
+ var preventDefault;
+ var listeners = new Array();
+
+ var events = new Array();
+
+ listener1 = new EventListenerN1003B(events, listeners);
+
+ listener2 = new EventListenerN10074(events, listeners);
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ listeners[listeners.length] = listener1;
+listeners[listeners.length] = listener2;
+doc.addEventListener("foo", listener1.handleEvent, false);
+ doc.addEventListener("foo", listener2.handleEvent, false);
+ evt = doc.createEvent("Events");
+ evt.initEvent("foo",true,false);
+ preventDefault = doc.dispatchEvent(evt);
+ assertSize("eventCount",1,events);
+
+}
+
+
+
+
+function runTest() {
+ dispatchEvent13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/dispatchEvent13.xhtml b/LayoutTests/dom/xhtml/level2/events/dispatchEvent13.xhtml
new file mode 100644
index 0000000..cc9bb61
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/dispatchEvent13.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="dispatchEvent13.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent01-expected.txt b/LayoutTests/dom/xhtml/level2/events/initEvent01-expected.txt
new file mode 100644
index 0000000..811dcce
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/initEvent01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent01.js b/LayoutTests/dom/xhtml/level2/events/initEvent01.js
new file mode 100644
index 0000000..b9346e7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent01.js
@@ -0,0 +1,121 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/initEvent01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The Event.initEvent method is called for event returned by DocumentEvent.createEvent("events")
+and the state is checked to see if it reflects the parameters.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-Event-initEvent
+*/
+function initEvent01() {
+ var success;
+ if(checkInitialization(builder, "initEvent01") != null) return;
+ var doc;
+ var event;
+ var expectedEventType = "rotate";
+ var actualEventType;
+ var expectedCanBubble = true;
+ var actualCanBubble;
+ var expectedCancelable = false;
+ var actualCancelable;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ event = doc.createEvent("Events");
+ assertNotNull("notnull",event);
+event.initEvent(expectedEventType,expectedCanBubble,expectedCancelable);
+ actualEventType = event.type;
+
+ assertEquals("type",expectedEventType,actualEventType);
+ actualCancelable = event.cancelable;
+
+ assertEquals("cancelable",expectedCancelable,actualCancelable);
+ actualCanBubble = event.bubbles;
+
+ assertEquals("canBubble",expectedCanBubble,actualCanBubble);
+
+}
+
+
+
+
+function runTest() {
+ initEvent01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent01.xhtml b/LayoutTests/dom/xhtml/level2/events/initEvent01.xhtml
new file mode 100644
index 0000000..fb5ac9a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent01.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="initEvent01.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent02-expected.txt b/LayoutTests/dom/xhtml/level2/events/initEvent02-expected.txt
new file mode 100644
index 0000000..41ef0d2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/initEvent02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent02.js b/LayoutTests/dom/xhtml/level2/events/initEvent02.js
new file mode 100644
index 0000000..78275c5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent02.js
@@ -0,0 +1,121 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/initEvent02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The Event.initEvent method is called for event returned by DocumentEvent.createEvent("events")
+and the state is checked to see if it reflects the parameters.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-Event-initEvent
+*/
+function initEvent02() {
+ var success;
+ if(checkInitialization(builder, "initEvent02") != null) return;
+ var doc;
+ var event;
+ var expectedEventType = "rotate";
+ var actualEventType;
+ var expectedCanBubble = false;
+ var actualCanBubble;
+ var expectedCancelable = true;
+ var actualCancelable;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ event = doc.createEvent("Events");
+ assertNotNull("notnull",event);
+event.initEvent(expectedEventType,expectedCanBubble,expectedCancelable);
+ actualEventType = event.type;
+
+ assertEquals("type",expectedEventType,actualEventType);
+ actualCancelable = event.cancelable;
+
+ assertEquals("cancelable",expectedCancelable,actualCancelable);
+ actualCanBubble = event.bubbles;
+
+ assertEquals("canBubble",expectedCanBubble,actualCanBubble);
+
+}
+
+
+
+
+function runTest() {
+ initEvent02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent02.xhtml b/LayoutTests/dom/xhtml/level2/events/initEvent02.xhtml
new file mode 100644
index 0000000..7f243fd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent02.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="initEvent02.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent03-expected.txt b/LayoutTests/dom/xhtml/level2/events/initEvent03-expected.txt
new file mode 100644
index 0000000..f264d5e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/initEvent03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent03.js b/LayoutTests/dom/xhtml/level2/events/initEvent03.js
new file mode 100644
index 0000000..3143971
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent03.js
@@ -0,0 +1,130 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/initEvent03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The Event.initEvent method is called for event returned by DocumentEvent.createEvent("events")
+and the state is checked to see if it reflects the parameters. initEvent may be
+called multiple times and the last time is definitive.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-Event-initEvent
+*/
+function initEvent03() {
+ var success;
+ if(checkInitialization(builder, "initEvent03") != null) return;
+ var doc;
+ var event;
+ var expectedEventType = "rotate";
+ var actualEventType;
+ var actualCanBubble;
+ var actualCancelable;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ event = doc.createEvent("Events");
+ assertNotNull("notnull",event);
+event.initEvent("rotate",true,true);
+ actualEventType = event.type;
+
+ assertEquals("type","rotate",actualEventType);
+ actualCancelable = event.cancelable;
+
+ assertEquals("cancelable",true,actualCancelable);
+ actualCanBubble = event.bubbles;
+
+ assertEquals("canBubble",true,actualCanBubble);
+ event.initEvent("shear",false,false);
+ actualEventType = event.type;
+
+ assertEquals("type2","shear",actualEventType);
+ actualCancelable = event.cancelable;
+
+ assertEquals("cancelable2",false,actualCancelable);
+ actualCanBubble = event.bubbles;
+
+ assertEquals("canBubble2",false,actualCanBubble);
+
+}
+
+
+
+
+function runTest() {
+ initEvent03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent03.xhtml b/LayoutTests/dom/xhtml/level2/events/initEvent03.xhtml
new file mode 100644
index 0000000..d7dcfde
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent03.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="initEvent03.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent04-expected.txt b/LayoutTests/dom/xhtml/level2/events/initEvent04-expected.txt
new file mode 100644
index 0000000..5b15cad
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/initEvent04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent04.js b/LayoutTests/dom/xhtml/level2/events/initEvent04.js
new file mode 100644
index 0000000..0136e07
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent04.js
@@ -0,0 +1,123 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/initEvent04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+ checkFeature("MutationEvents", "2.0");
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The Event.initEvent method is called for event returned by
+DocumentEvent.createEvent("MutationEvents")
+and the state is checked to see if it reflects the parameters.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-Event-initEvent
+*/
+function initEvent04() {
+ var success;
+ if(checkInitialization(builder, "initEvent04") != null) return;
+ var doc;
+ var event;
+ var expectedEventType = "rotate";
+ var actualEventType;
+ var expectedCanBubble = true;
+ var actualCanBubble;
+ var expectedCancelable = false;
+ var actualCancelable;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ event = doc.createEvent("MutationEvents");
+ assertNotNull("notnull",event);
+event.initEvent(expectedEventType,expectedCanBubble,expectedCancelable);
+ actualEventType = event.type;
+
+ assertEquals("type",expectedEventType,actualEventType);
+ actualCancelable = event.cancelable;
+
+ assertEquals("cancelable",expectedCancelable,actualCancelable);
+ actualCanBubble = event.bubbles;
+
+ assertEquals("canBubble",expectedCanBubble,actualCanBubble);
+
+}
+
+
+
+
+function runTest() {
+ initEvent04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent04.xhtml b/LayoutTests/dom/xhtml/level2/events/initEvent04.xhtml
new file mode 100644
index 0000000..c3ab185
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent04.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="initEvent04.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent05-expected.txt b/LayoutTests/dom/xhtml/level2/events/initEvent05-expected.txt
new file mode 100644
index 0000000..a7ea7fb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/initEvent05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent05.js b/LayoutTests/dom/xhtml/level2/events/initEvent05.js
new file mode 100644
index 0000000..e2abb95
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent05.js
@@ -0,0 +1,123 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/initEvent05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+ checkFeature("MutationEvents", "2.0");
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The Event.initEvent method is called for event returned by
+DocumentEvent.createEvent("MutationEvents")
+and the state is checked to see if it reflects the parameters.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-Event-initEvent
+*/
+function initEvent05() {
+ var success;
+ if(checkInitialization(builder, "initEvent05") != null) return;
+ var doc;
+ var event;
+ var expectedEventType = "rotate";
+ var actualEventType;
+ var expectedCanBubble = false;
+ var actualCanBubble;
+ var expectedCancelable = true;
+ var actualCancelable;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ event = doc.createEvent("MutationEvents");
+ assertNotNull("notnull",event);
+event.initEvent(expectedEventType,expectedCanBubble,expectedCancelable);
+ actualEventType = event.type;
+
+ assertEquals("type",expectedEventType,actualEventType);
+ actualCancelable = event.cancelable;
+
+ assertEquals("cancelable",expectedCancelable,actualCancelable);
+ actualCanBubble = event.bubbles;
+
+ assertEquals("canBubble",expectedCanBubble,actualCanBubble);
+
+}
+
+
+
+
+function runTest() {
+ initEvent05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent05.xhtml b/LayoutTests/dom/xhtml/level2/events/initEvent05.xhtml
new file mode 100644
index 0000000..43e20ad
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent05.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="initEvent05.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent06-expected.txt b/LayoutTests/dom/xhtml/level2/events/initEvent06-expected.txt
new file mode 100644
index 0000000..bb2eabc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/events/initEvent06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent06.js b/LayoutTests/dom/xhtml/level2/events/initEvent06.js
new file mode 100644
index 0000000..1c8d5bb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent06.js
@@ -0,0 +1,132 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/events/initEvent06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+ checkFeature("MutationEvents", "2.0");
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hc_staff");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The Event.initEvent method is called for event returned by
+DocumentEvent.createEvent("MutationEvents")
+and the state is checked to see if it reflects the parameters. initEvent may be
+called multiple times and the last time is definitive.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Events/events#Events-Event-initEvent
+*/
+function initEvent06() {
+ var success;
+ if(checkInitialization(builder, "initEvent06") != null) return;
+ var doc;
+ var event;
+ var expectedEventType = "rotate";
+ var actualEventType;
+ var actualCanBubble;
+ var actualCancelable;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hc_staff");
+ event = doc.createEvent("MutationEvents");
+ assertNotNull("notnull",event);
+event.initEvent("rotate",true,true);
+ actualEventType = event.type;
+
+ assertEquals("type","rotate",actualEventType);
+ actualCancelable = event.cancelable;
+
+ assertEquals("cancelable",true,actualCancelable);
+ actualCanBubble = event.bubbles;
+
+ assertEquals("canBubble",true,actualCanBubble);
+ event.initEvent("shear",false,false);
+ actualEventType = event.type;
+
+ assertEquals("type2","shear",actualEventType);
+ actualCancelable = event.cancelable;
+
+ assertEquals("cancelable2",false,actualCancelable);
+ actualCanBubble = event.bubbles;
+
+ assertEquals("canBubble2",false,actualCanBubble);
+
+}
+
+
+
+
+function runTest() {
+ initEvent06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/initEvent06.xhtml b/LayoutTests/dom/xhtml/level2/events/initEvent06.xhtml
new file mode 100644
index 0000000..b0233c9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/initEvent06.xhtml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?><?TEST-STYLE PIDATA?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd" [
+ <!ENTITY alpha "&#945;">
+ <!ENTITY beta "&#946;">
+ <!ENTITY gamma "&#947;">
+ <!ENTITY delta "&#948;">
+ <!ENTITY epsilon "&#949;">
+ <!ENTITY alpha "&#950;">
+ <!NOTATION notation1 PUBLIC "notation1File">
+ <!NOTATION notation2 SYSTEM "notation2File">
+ <!ATTLIST acronym dir CDATA "ltr">
+]>
+<!-- This is comment number 1.-->
+<html xmlns='http://www.w3.org/1999/xhtml'><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>hc_staff</title><script type="text/javascript" src="selfxhtml.js"/><script charset="UTF-8" type="text/javascript" src="initEvent06.js"/><script type='text/javascript'>function loadComplete() { startTest(); }</script></head><body onload="loadComplete()">
+ <p>
+ <em>EMP0001</em>
+ <strong>Margaret Martin</strong>
+ <code>Accountant</code>
+ <sup>56,000</sup>
+ <var>Female</var>
+ <acronym title="Yes">1230 North Ave. Dallas, Texas 98551</acronym>
+ </p>
+ <p>
+ <em>EMP0002</em>
+ <strong>Martha RaynoldsThis is a CDATASection with EntityReference number 2 &amp;ent2;
+This is an adjacent CDATASection with a reference to a tab &amp;tab;</strong>
+ <code>Secretary</code>
+ <sup>35,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Yes">&beta; Dallas, &gamma;
+ 98554</acronym>
+ </p>
+ <p>
+ <em>EMP0003</em>
+ <strong>Roger
+ Jones</strong>
+ <code>Department Manager</code>
+ <sup>100,000</sup>
+ <var>&delta;</var>
+ <acronym title="Yes" class="No">PO Box 27 Irving, texas 98553</acronym>
+ </p>
+ <p>
+ <em>EMP0004</em>
+ <strong>Jeny Oconnor</strong>
+ <code>Personnel Director</code>
+ <sup>95,000</sup>
+ <var>Female</var>
+ <acronym title="Yes" class="Y&alpha;">27 South Road. Dallas, Texas 98556</acronym>
+ </p>
+ <p>
+ <em>EMP0005</em>
+ <strong>Robert Myers</strong>
+ <code>Computer Specialist</code>
+ <sup>90,000</sup>
+ <var>male</var>
+ <acronym title="Yes">1821 Nordic. Road, Irving Texas 98558</acronym>
+ </p>
+</body></html>
diff --git a/LayoutTests/dom/xhtml/level2/events/resources/COPYRIGHT.xhtml b/LayoutTests/dom/xhtml/level2/events/resources/COPYRIGHT.xhtml
new file mode 100644
index 0000000..1e1fe12
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/resources/COPYRIGHT.xhtml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+ <head>
+ <title>W3C IPR SOFTWARE NOTICE</title>
+ </head>
+ <body>
+ <h1>
+ W3C IPR SOFTWARE NOTICE
+ </h1>
+ <h3>
+ Copyright &#xA9; 2002-2005 <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved.
+ </h3>
+ <p>
+ The DOM Conformance Test Suite for Level 2 events is published under
+ the W3C Software Copyright Notice and License. The software
+ license requires "Notice of any changes or modifications to the
+ W3C files, including the date changes were made." Consequently,
+ modified versions of the DOM ECMAScript or Java tests must
+ document that they do not conform to the DOM Conformance Test
+ Suites; in the case of the Java language binding, the package
+ names can no longer be in the 'org.w3c' package.
+ </p>
+ <p>
+ <b>Note:</b> The original version of the W3C Software Copyright Notice
+ and License could be found at <a
+ href='http://www.w3.org/Consortium/Legal/copyright-software-19980720'>http://www.w3.org/Consortium/Legal/copyright-software-19980720</a>
+ </p>
+ <h3>
+ Copyright &#xA9; 1994-2005 <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved. http://www.w3.org/Consortium/Legal/
+ </h3>
+ <p>
+ This W3C work (including software, documents, or other related items) is
+ being provided by the copyright holders under the following license. By
+ obtaining, using and/or copying this work, you (the licensee) agree that
+ you have read, understood, and will comply with the following terms and
+ conditions:
+ </p>
+ <p>
+ Permission to use, copy, and modify this software and its documentation,
+ with or without modification,&#xA0; for any purpose and without fee or
+ royalty is hereby granted, provided that you include the following on ALL
+ copies of the software and documentation or portions thereof, including
+ modifications, that you make:
+ </p>
+ <ol>
+ <li>
+ The full text of this NOTICE in a location viewable to users of the
+ redistributed or derivative work.
+ </li>
+ <li>
+ Any pre-existing intellectual property disclaimers, notices, or terms
+ and conditions. If none exist, a short notice of the following form
+ (hypertext is preferred, text is permitted) should be used within the
+ body of any redistributed or derivative code: "Copyright &#xA9;
+ [$date-of-software] <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved. http://www.w3.org/Consortium/Legal/"
+ </li>
+ <li>
+ Notice of any changes or modifications to the W3C files, including the
+ date changes were made. (We recommend you provide URIs to the location
+ from which the code is derived.)
+ </li>
+ </ol>
+ <p>
+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
+ HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
+ DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
+ TRADEMARKS OR OTHER RIGHTS.
+ </p>
+ <p>
+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+ CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+ DOCUMENTATION.
+ </p>
+ <p>
+ The name and trademarks of copyright holders may NOT be used in
+ advertising or publicity pertaining to the software without specific,
+ written prior permission. Title to copyright in this software and any
+ associated documentation will at all times remain with copyright
+ holders.
+ </p>
+ </body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/events/selfxhtml.js b/LayoutTests/dom/xhtml/level2/events/selfxhtml.js
new file mode 100644
index 0000000..98a710a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/selfxhtml.js
@@ -0,0 +1,743 @@
+/*
+Copyright (c) 2001-2005 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+ function assertSize(descr, expected, actual) {
+ var actualSize;
+ assertNotNull(descr, actual);
+ actualSize = actual.length;
+ assertEquals(descr, expected, actualSize);
+ }
+
+ function assertEqualsAutoCase(context, descr, expected, actual) {
+ if (builder.contentType == "text/html") {
+ if(context == "attribute") {
+ assertEquals(descr, expected.toLowerCase(), actual.toLowerCase());
+ } else {
+ assertEquals(descr, expected.toUpperCase(), actual);
+ }
+ } else {
+ assertEquals(descr, expected, actual);
+ }
+ }
+
+
+ function assertEqualsCollectionAutoCase(context, descr, expected, actual) {
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+
+ //
+ // if there length is the same, then every entry in the expected list
+ // must appear once and only once in the actual list
+ var expectedLen = expected.length;
+ var expectedValue;
+ var actualLen = actual.length;
+ var i;
+ var j;
+ var matches;
+ for(i = 0; i < expectedLen; i++) {
+ matches = 0;
+ expectedValue = expected[i];
+ for(j = 0; j < actualLen; j++) {
+ if (builder.contentType == "text/html") {
+ if (context == "attribute") {
+ if (expectedValue.toLowerCase() == actual[j].toLowerCase()) {
+ matches++;
+ }
+ } else {
+ if (expectedValue.toUpperCase() == actual[j]) {
+ matches++;
+ }
+ }
+ } else {
+ if(expectedValue == actual[j]) {
+ matches++;
+ }
+ }
+ }
+ if(matches == 0) {
+ assert(descr + ": No match found for " + expectedValue,false);
+ }
+ if(matches > 1) {
+ assert(descr + ": Multiple matches found for " + expectedValue, false);
+ }
+ }
+ }
+
+ function assertEqualsCollection(descr, expected, actual) {
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ //
+ // if there length is the same, then every entry in the expected list
+ // must appear once and only once in the actual list
+ var expectedLen = expected.length;
+ var expectedValue;
+ var actualLen = actual.length;
+ var i;
+ var j;
+ var matches;
+ for(i = 0; i < expectedLen; i++) {
+ matches = 0;
+ expectedValue = expected[i];
+ for(j = 0; j < actualLen; j++) {
+ if(expectedValue == actual[j]) {
+ matches++;
+ }
+ }
+ if(matches == 0) {
+ assert(descr + ": No match found for " + expectedValue,false);
+ }
+ if(matches > 1) {
+ assert(descr + ": Multiple matches found for " + expectedValue, false);
+ }
+ }
+ }
+
+
+ function assertEqualsListAutoCase(context, descr, expected, actual) {
+ var minLength = expected.length;
+ if (actual.length < minLength) {
+ minLength = actual.length;
+ }
+ //
+ for(var i = 0; i < minLength; i++) {
+ assertEqualsAutoCase(context, descr, expected[i], actual[i]);
+ }
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ }
+
+
+ function assertEqualsList(descr, expected, actual) {
+ var minLength = expected.length;
+ if (actual.length < minLength) {
+ minLength = actual.length;
+ }
+ //
+ for(var i = 0; i < minLength; i++) {
+ if(expected[i] != actual[i]) {
+ assertEquals(descr, expected[i], actual[i]);
+ }
+ }
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ }
+
+ function assertInstanceOf(descr, type, obj) {
+ if(type == "Attr") {
+ assertEquals(descr,2,obj.nodeType);
+ var specd = obj.specified;
+ }
+ }
+
+ function assertSame(descr, expected, actual) {
+ if(expected != actual) {
+ assertEquals(descr, expected.nodeType, actual.nodeType);
+ assertEquals(descr, expected.nodeValue, actual.nodeValue);
+ }
+ }
+
+ function assertURIEquals(assertID, scheme, path, host, file, name, query, fragment, isAbsolute, actual) {
+ //
+ // URI must be non-null
+ assertNotNull(assertID, actual);
+
+ var uri = actual;
+
+ var lastPound = actual.lastIndexOf("#");
+ var actualFragment = "";
+ if(lastPound != -1) {
+ //
+ // substring before pound
+ //
+ uri = actual.substring(0,lastPound);
+ actualFragment = actual.substring(lastPound+1);
+ }
+ if(fragment != null) assertEquals(assertID,fragment, actualFragment);
+
+ var lastQuestion = uri.lastIndexOf("?");
+ var actualQuery = "";
+ if(lastQuestion != -1) {
+ //
+ // substring before pound
+ //
+ uri = actual.substring(0,lastQuestion);
+ actualQuery = actual.substring(lastQuestion+1);
+ }
+ if(query != null) assertEquals(assertID, query, actualQuery);
+
+ var firstColon = uri.indexOf(":");
+ var firstSlash = uri.indexOf("/");
+ var actualPath = uri;
+ var actualScheme = "";
+ if(firstColon != -1 && firstColon < firstSlash) {
+ actualScheme = uri.substring(0,firstColon);
+ actualPath = uri.substring(firstColon + 1);
+ }
+
+ if(scheme != null) {
+ assertEquals(assertID, scheme, actualScheme);
+ }
+
+ if(path != null) {
+ assertEquals(assertID, path, actualPath);
+ }
+
+ if(host != null) {
+ var actualHost = "";
+ if(actualPath.substring(0,2) == "//") {
+ var termSlash = actualPath.substring(2).indexOf("/") + 2;
+ actualHost = actualPath.substring(0,termSlash);
+ }
+ assertEquals(assertID, host, actualHost);
+ }
+
+ if(file != null || name != null) {
+ var actualFile = actualPath;
+ var finalSlash = actualPath.lastIndexOf("/");
+ if(finalSlash != -1) {
+ actualFile = actualPath.substring(finalSlash+1);
+ }
+ if (file != null) {
+ assertEquals(assertID, file, actualFile);
+ }
+ if (name != null) {
+ var actualName = actualFile;
+ var finalDot = actualFile.lastIndexOf(".");
+ if (finalDot != -1) {
+ actualName = actualName.substring(0, finalDot);
+ }
+ assertEquals(assertID, name, actualName);
+ }
+ }
+
+ if(isAbsolute != null) {
+ assertEquals(assertID, isAbsolute, actualPath.substring(0,1) == "/");
+ }
+ }
+
+
+// size() used by assertSize element
+function size(collection)
+{
+ return collection.length;
+}
+
+function same(expected, actual)
+{
+ return expected === actual;
+}
+
+function equalsAutoCase(context, expected, actual) {
+ if (builder.contentType == "text/html") {
+ if (context == "attribute") {
+ return expected.toLowerCase() == actual;
+ }
+ return expected.toUpperCase() == actual;
+ }
+ return expected == actual;
+}
+
+function toLowerArray(src) {
+ var newArray = new Array();
+ var i;
+ for (i = 0; i < src.length; i++) {
+ newArray[i] = src[i].toLowerCase();
+ }
+ return newArray;
+}
+
+function createTempURI(scheme) {
+ if (scheme == "http") {
+ return "http://localhost:8080/webdav/tmp" + Math.floor(Math.random() * 100000) + ".xml";
+ }
+ return "file:///tmp/domts" + Math.floor(Math.random() * 100000) + ".xml";
+}
+
+
+
+function EventMonitor() {
+ this.atEvents = new Array();
+ this.bubbledEvents = new Array();
+ this.capturedEvents = new Array();
+ this.allEvents = new Array();
+}
+
+EventMonitor.prototype.handleEvent = function(evt) {
+ switch(evt.eventPhase) {
+ case 1:
+ monitor.capturedEvents[monitor.capturedEvents.length] = evt;
+ break;
+
+ case 2:
+ monitor.atEvents[monitor.atEvents.length] = evt;
+ break;
+
+ case 3:
+ monitor.bubbledEvents[monitor.bubbledEvents.length] = evt;
+ break;
+ }
+ monitor.allEvents[monitor.allEvents.length] = evt;
+}
+
+function DOMErrorImpl(err) {
+ this.severity = err.severity;
+ this.message = err.message;
+ this.type = err.type;
+ this.relatedException = err.relatedException;
+ this.relatedData = err.relatedData;
+ this.location = err.location;
+}
+
+
+
+function DOMErrorMonitor() {
+ this.allErrors = new Array();
+}
+
+DOMErrorMonitor.prototype.handleError = function(err) {
+ errorMonitor.allErrors[errorMonitor.allErrors.length] = new DOMErrorImpl(err);
+}
+
+DOMErrorMonitor.prototype.assertLowerSeverity = function(id, severity) {
+ var i;
+ for (i = 0; i < this.allErrors.length; i++) {
+ if (this.allErrors[i].severity >= severity) {
+ assertEquals(id, severity - 1, this.allErrors[i].severity);
+ }
+ }
+}
+
+function UserDataNotification(operation, key, data, src, dst) {
+ this.operation = operation;
+ this.key = key;
+ this.data = data;
+ this.src = src;
+ this.dst = dst;
+}
+
+function UserDataMonitor() {
+ this.allNotifications = new Array();
+}
+
+UserDataMonitor.prototype.handle = function(operation, key, data, src, dst) {
+ userDataMonitor.allNotifications[userDataMonitor.allNotifications.length] =
+ new UserDataNotification(operation, key, data, src, dst);
+}
+
+
+
+function HTMLBuilder() {
+ this.contentType = "application/xhtml+xml";
+ this.supportedContentTypes = [ "application/xhtml+xml" ];
+
+ this.supportsAsyncChange = false;
+ this.async = false;
+ this.fixedAttributeNames = [
+ "validating", "expandEntityReferences", "coalescing",
+ "signed", "hasNullString", "ignoringElementContentWhitespace", "namespaceAware", "ignoringComments", "schemaValidating"];
+
+ this.fixedAttributeValues = [false, true, false, true, true , false, true, false, false ];
+ this.configurableAttributeNames = [ ];
+ this.configurableAttributeValues = [ ];
+ this.initializationError = null;
+ this.initializationFatalError = null;
+ this.skipIncompatibleTests = true;
+ this.documentURLs = new Array();
+ this.documentVarnames = new Array();
+}
+
+HTMLBuilder.prototype.hasFeature = function(feature, version) {
+ return document.implementation.hasFeature(feature, version);
+}
+
+HTMLBuilder.prototype.getImplementation = function() {
+ return document.implementation;
+}
+
+HTMLBuilder.prototype.preload = function(frame, varname, url) {
+ var i;
+ this.documentVarnames[this.documentVarnames.length] = varname;
+ this.documentURLs[this.documentURLs.length] = url;
+ if (this.documentURLs.length > 1) {
+ //
+ // if all the urls are not the same
+ //
+ for (i = 1; i < this.documentURLs.length; i++) {
+ if (this.documentURLs[i] != this.documentURLs[0]) {
+ throw "Tests with multiple loads of different documents are not currently supported";
+ }
+ }
+ }
+ return 1;
+}
+
+HTMLBuilder.prototype.cloneNode = function(srcNode, doc) {
+ var clone = null;
+ switch(srcNode.nodeType) {
+ //
+ // element
+ case 1:
+ clone = doc.createElementNS(srcNode.namespaceURI, srcNode.nodeName);
+ var attrs = srcNode.attributes;
+ for(var i = 0; i < attrs.length; i++) {
+ var srcAttr = attrs.item(i);
+ clone.setAttributeNS(srcAttr.namespaceURI, srcAttr.nodeName, srcAttr.nodeValue);
+ }
+ var srcChild = srcNode.firstChild;
+ while(srcChild != null) {
+ var cloneChild = this.cloneNode(srcChild, doc);
+ if (cloneChild != null) {
+ clone.appendChild(cloneChild);
+ }
+ srcChild = srcChild.nextSibling;
+ }
+ break;
+
+ case 3:
+ clone = doc.createTextNode(srcNode.nodeValue);
+ break;
+
+ case 4:
+ clone = doc.createCDATASection(srcNode.nodeValue);
+ break;
+
+ case 5:
+ clone = doc.createEntityReference(srcNode.nodeName);
+ break;
+
+ case 7:
+ clone = doc.createProcessingInstruction(srcNode.target, srcNode.data);
+ break;
+
+ case 8:
+ clone = doc.createComment(srcNode.nodeValue);
+ break;
+ }
+ return clone;
+
+}
+
+
+HTMLBuilder.prototype.load = function(frame, varname, url) {
+ if (this.documentVarnames[0] == varname) {
+ return document;
+ }
+ //
+ //
+ // not a perfect way to do this
+ // Document.cloneNode is implementation dependent but exists in L1
+ // and implemented in IE. The alternative brute force copy
+ // only works in L2 or higher implementations and can't copy
+ // entity and notation definitions, etc.
+ var clone = null;
+ try {
+ clone = document.cloneNode(true);
+ } catch(ex) {
+ }
+ if (clone == null) {
+ clone = document.implementation.createDocument(
+ document.documentElement.namespaceURI,
+ document.documentElement.nodeName,
+ null);
+ //
+ // Work-around since
+ // Safari does not create document element
+ // create document.
+ if (clone.documentElement == null) {
+ clone.appendChild(clone.createElementNS(
+ document.documentElement.namespaceURI,
+ document.documentElement.nodeName));
+ }
+ var attrs = document.documentElement.attributes;
+ for(var i = 0; i < attrs.length; i++) {
+ var srcAttr = attrs.item(i);
+ clone.documentElement.setAttributeNS(
+ srcAttr.namespaceURI, srcAttr.nodeName, srcAttr.nodeValue);
+ }
+
+ var srcNode = document.firstChild;
+ while(srcNode != null && srcNode.nodeType != 1) {
+ if (srcNode.nodeType != 10) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ clone.insertBefore(cloneNode, clone.documentElement);
+ }
+ srcNode = srcNode.nextSibling;
+ }
+ srcNode = document.documentElement.nextSibling;
+ while(srcNode != null) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ clone.appendChild(cloneNode);
+ srcNode = srcNode.nextSibling;
+ }
+ srcNode = document.documentElement.firstChild;
+ while(srcNode != null) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ if (cloneNode != null) {
+ clone.documentElement.appendChild(cloneNode);
+ }
+ srcNode = srcNode.nextSibling;
+ }
+ }
+ return clone;
+}
+
+HTMLBuilder.prototype.getImplementationAttribute = function(attr) {
+ for (var i = 0; i < this.fixedAttributeNames.length; i++) {
+ if (this.fixedAttributeNames[i] == attr) {
+ return this.fixedAttributeValues[i];
+ }
+ }
+ throw "Unrecognized implementation attribute: " + attr;
+}
+
+
+HTMLBuilder.prototype.setImplementationAttribute = function(attribute, value) {
+ var supported = this.getImplementationAttribute(attribute);
+ if (supported != value) {
+ this.initializationError = "HTML loader does not support " + attribute + "=" + value;
+ }
+}
+
+HTMLBuilder.prototype.canSetImplementationAttribute = function(attribute, value) {
+ var supported = this.getImplementationAttribute(attribute);
+ return (supported == value);
+}
+
+
+
+
+function createConfiguredBuilder() {
+ return new HTMLBuilder();
+}
+
+function catchInitializationError(buildr, ex) {
+ buildr.initializationError = ex;
+ buildr.initializationFatalError = ex;
+}
+
+
+function checkFeature(feature, version)
+{
+ if (!builder.hasFeature(feature, version))
+ {
+ //
+ // don't throw exception so that users can select to ignore the precondition
+ //
+ builder.initializationError = "builder does not support feature " + feature + " version " + version;
+ }
+}
+
+function setResult(resultType, message) {
+ var testName = getTargetURI();
+ document.title = testName + ":" + resultType;
+ var xhtmlNS = "http://www.w3.org/1999/xhtml";
+ var newBody = document.createElementNS(xhtmlNS, "body");
+ var newTable = document.createElementNS(xhtmlNS, "table");
+ newTable.width = "100%";
+ newTable.border = "1";
+ newBody.appendChild(newTable);
+ var testRow = newTable.insertRow(-1);
+ var testDiv1 = testRow.insertCell(-1);
+ testDiv1.appendChild(document.createTextNode("Test"));
+ var testDiv2 = testRow.insertCell(-1);
+ testDiv2.appendChild(document.createTextNode(testName));
+ var statusRow = newTable.insertRow(-1);
+ var statusDiv1 = statusRow.insertCell(-1);
+ statusDiv1.appendChild(document.createTextNode("Status"));
+ var statusDiv2 = statusRow.insertCell(-1);
+ var style = "color:green";
+ if (resultType == null) {
+ statusDiv2.appendChild(document.createTextNode("Success"));
+ } else {
+ statusDiv2.appendChild(document.createTextNode(resultType));
+ if (resultType == "skip") {
+ style = "color:blue";
+ } else {
+ style = "color:red";
+ }
+ }
+ newTable.setAttributeNS(null, "style", style);
+ if (message != null) {
+ var messageRow = newTable.insertRow(-1);
+ var messageDiv1 = messageRow.insertCell(-1);
+ messageDiv1.appendChild(document.createTextNode("Message"));
+ var messageDiv2 = messageRow.insertCell(-1);
+ messageDiv2.appendChild(document.createTextNode(message));
+ }
+ var oldBody = document.getElementsByTagName("body")[0];
+ oldBody.parentNode.replaceChild(newBody, oldBody);
+ if (parent != window && typeof(parent.setResult) != 'undefined') {
+ parent.setResult(testName, resultType, message);
+ }
+}
+
+function checkInitialization(buildr, testname) {
+ return buildr.initializationError;
+}
+
+function preload(docRef, varname, href) {
+ return builder.preload(docRef, varname, href);
+}
+
+
+function load(docRef, varname, href) {
+ return builder.load(docRef, varname, href);
+}
+
+
+function getImplementationAttribute(attr) {
+ return builder.getImplementationAttribute(attr);
+}
+
+
+function setImplementationAttribute(attribute, value) {
+ builder.setImplementationAttribute(attribute, value);
+}
+
+function createXPathEvaluator(doc) {
+ try {
+ return doc.getFeature("XPath", null);
+ }
+ catch(ex) {
+ }
+ return doc;
+}
+
+
+function getImplementation() {
+ return builder.getImplementation();
+}
+
+function assertEquals(id, expected, actual) {
+ var myActual;
+ if (expected != actual) {
+ myActual = actual;
+ if (actual == null) {
+ myActual = "null";
+ }
+ throw "failure:" + id + ": assertEquals failed, actual " + myActual + ", expected " + expected + ".";
+ }
+}
+
+function assertNull(id, actual) {
+ if (actual != null) {
+ throw "failure:" + id + ": assertNull failed, actual " + actual;
+ }
+}
+
+
+function assertTrue(id, actual) {
+ if (!actual) {
+ throw "failure:" + id + ": assertTrue failed";
+ }
+}
+
+
+function assertFalse(id, actual) {
+ if (actual) {
+ throw "failure:" + id + ": assertTrue failed";
+ }
+}
+
+function assertNotNull(id, actual) {
+ if (actual == null) {
+ throw "failure:" + id + ": assertNotNull failed";
+ }
+}
+
+function fail(id) {
+ throw "failure:" + id + ": fail";
+}
+
+
+
+function getSuffix(contentType) {
+ switch(contentType) {
+ case "text/html":
+ return ".html";
+
+ case "text/xml":
+ return ".xml";
+
+ case "image/svg+xml":
+ return ".svg";
+
+ case "text/mathml":
+ return ".mml";
+ }
+ return ".xhtml";
+}
+
+
+function getResourceURI(name, scheme, contentType) {
+ var base = document.documentURI;
+ if (base == null) {
+ base = "";
+ } else {
+ base = base.substring(0, base.lastIndexOf('/') + 1) + "files/";
+ }
+ return base + name + getSuffix(contentType);
+}
+
+
+
+function startTest() {
+
+//
+// WebKit modification: 18-August-2005
+//
+// Inform the test controller that this test has a text-format result and so should
+// be dumped as text, and also that the dump should not occur automatically.
+//
+if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+}
+//
+// End WebKit modification
+//
+
+ //
+ // invoke test setup
+ //
+ setUpPage();
+ try {
+ runTest();
+ if (builder.initializationError == null) {
+ setResult(null, null);
+ } else {
+ setResult("skip", builder.initializationError);
+ }
+ } catch(ex) {
+ if (typeof(ex.substring) != 'undefined' && ex.substring(0, 8) == "failure:") {
+ setResult("failure", ex.substring(8));
+ } else {
+ setResult("error", ex);
+ }
+ }
+
+//
+// WebKit modification: 18-August-2005
+//
+// Inform the test controller that this test is complete, so it's time to dump.
+//
+ if (window.layoutTestController) {
+ layoutTestController.notifyDone();
+ }
+//
+// End WebKit modification
+//
+
+}
diff --git a/LayoutTests/dom/xhtml/level2/events/staff.dtd b/LayoutTests/dom/xhtml/level2/events/staff.dtd
new file mode 100644
index 0000000..02a994d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/staff.dtd
@@ -0,0 +1,17 @@
+<!ELEMENT employeeId (#PCDATA)>
+<!ELEMENT name (#PCDATA)>
+<!ELEMENT position (#PCDATA)>
+<!ELEMENT salary (#PCDATA)>
+<!ELEMENT address (#PCDATA)>
+<!ELEMENT entElement ( #PCDATA ) >
+<!ELEMENT gender ( #PCDATA | entElement )* >
+<!ELEMENT employee (employeeId, name, position, salary, gender, address) >
+<!ELEMENT staff (employee)+>
+<!ATTLIST entElement
+ attr1 CDATA "Attr">
+<!ATTLIST address
+ domestic CDATA #IMPLIED
+ street CDATA "Yes">
+<!ATTLIST entElement
+ domestic CDATA "MALE" >
+
diff --git a/LayoutTests/dom/xhtml/level2/events/xhtml-lat1.ent b/LayoutTests/dom/xhtml/level2/events/xhtml-lat1.ent
new file mode 100644
index 0000000..ffee223
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/xhtml-lat1.ent
@@ -0,0 +1,196 @@
+<!-- Portions (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+ <!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
+ %HTMLlat1;
+-->
+
+<!ENTITY nbsp "&#160;"> <!-- no-break space = non-breaking space,
+ U+00A0 ISOnum -->
+<!ENTITY iexcl "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
+<!ENTITY cent "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
+<!ENTITY pound "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
+<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
+<!ENTITY yen "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
+<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
+ U+00A6 ISOnum -->
+<!ENTITY sect "&#167;"> <!-- section sign, U+00A7 ISOnum -->
+<!ENTITY uml "&#168;"> <!-- diaeresis = spacing diaeresis,
+ U+00A8 ISOdia -->
+<!ENTITY copy "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
+<!ENTITY ordf "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
+<!ENTITY laquo "&#171;"> <!-- left-pointing double angle quotation mark
+ = left pointing guillemet, U+00AB ISOnum -->
+<!ENTITY not "&#172;"> <!-- not sign = angled dash,
+ U+00AC ISOnum -->
+<!ENTITY shy "&#173;"> <!-- soft hyphen = discretionary hyphen,
+ U+00AD ISOnum -->
+<!ENTITY reg "&#174;"> <!-- registered sign = registered trade mark sign,
+ U+00AE ISOnum -->
+<!ENTITY macr "&#175;"> <!-- macron = spacing macron = overline
+ = APL overbar, U+00AF ISOdia -->
+<!ENTITY deg "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
+<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
+ U+00B1 ISOnum -->
+<!ENTITY sup2 "&#178;"> <!-- superscript two = superscript digit two
+ = squared, U+00B2 ISOnum -->
+<!ENTITY sup3 "&#179;"> <!-- superscript three = superscript digit three
+ = cubed, U+00B3 ISOnum -->
+<!ENTITY acute "&#180;"> <!-- acute accent = spacing acute,
+ U+00B4 ISOdia -->
+<!ENTITY micro "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
+<!ENTITY para "&#182;"> <!-- pilcrow sign = paragraph sign,
+ U+00B6 ISOnum -->
+<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
+ = Greek middle dot, U+00B7 ISOnum -->
+<!ENTITY cedil "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
+<!ENTITY sup1 "&#185;"> <!-- superscript one = superscript digit one,
+ U+00B9 ISOnum -->
+<!ENTITY ordm "&#186;"> <!-- masculine ordinal indicator,
+ U+00BA ISOnum -->
+<!ENTITY raquo "&#187;"> <!-- right-pointing double angle quotation mark
+ = right pointing guillemet, U+00BB ISOnum -->
+<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
+ = fraction one quarter, U+00BC ISOnum -->
+<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
+ = fraction one half, U+00BD ISOnum -->
+<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
+ = fraction three quarters, U+00BE ISOnum -->
+<!ENTITY iquest "&#191;"> <!-- inverted question mark
+ = turned question mark, U+00BF ISOnum -->
+<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
+ = latin capital letter A grave,
+ U+00C0 ISOlat1 -->
+<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
+ U+00C1 ISOlat1 -->
+<!ENTITY Acirc "&#194;"> <!-- latin capital letter A with circumflex,
+ U+00C2 ISOlat1 -->
+<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
+ U+00C3 ISOlat1 -->
+<!ENTITY Auml "&#196;"> <!-- latin capital letter A with diaeresis,
+ U+00C4 ISOlat1 -->
+<!ENTITY Aring "&#197;"> <!-- latin capital letter A with ring above
+ = latin capital letter A ring,
+ U+00C5 ISOlat1 -->
+<!ENTITY AElig "&#198;"> <!-- latin capital letter AE
+ = latin capital ligature AE,
+ U+00C6 ISOlat1 -->
+<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
+ U+00C7 ISOlat1 -->
+<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
+ U+00C8 ISOlat1 -->
+<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
+ U+00C9 ISOlat1 -->
+<!ENTITY Ecirc "&#202;"> <!-- latin capital letter E with circumflex,
+ U+00CA ISOlat1 -->
+<!ENTITY Euml "&#203;"> <!-- latin capital letter E with diaeresis,
+ U+00CB ISOlat1 -->
+<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
+ U+00CC ISOlat1 -->
+<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
+ U+00CD ISOlat1 -->
+<!ENTITY Icirc "&#206;"> <!-- latin capital letter I with circumflex,
+ U+00CE ISOlat1 -->
+<!ENTITY Iuml "&#207;"> <!-- latin capital letter I with diaeresis,
+ U+00CF ISOlat1 -->
+<!ENTITY ETH "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
+<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
+ U+00D1 ISOlat1 -->
+<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
+ U+00D2 ISOlat1 -->
+<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
+ U+00D3 ISOlat1 -->
+<!ENTITY Ocirc "&#212;"> <!-- latin capital letter O with circumflex,
+ U+00D4 ISOlat1 -->
+<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
+ U+00D5 ISOlat1 -->
+<!ENTITY Ouml "&#214;"> <!-- latin capital letter O with diaeresis,
+ U+00D6 ISOlat1 -->
+<!ENTITY times "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
+<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
+ = latin capital letter O slash,
+ U+00D8 ISOlat1 -->
+<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
+ U+00D9 ISOlat1 -->
+<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
+ U+00DA ISOlat1 -->
+<!ENTITY Ucirc "&#219;"> <!-- latin capital letter U with circumflex,
+ U+00DB ISOlat1 -->
+<!ENTITY Uuml "&#220;"> <!-- latin capital letter U with diaeresis,
+ U+00DC ISOlat1 -->
+<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
+ U+00DD ISOlat1 -->
+<!ENTITY THORN "&#222;"> <!-- latin capital letter THORN,
+ U+00DE ISOlat1 -->
+<!ENTITY szlig "&#223;"> <!-- latin small letter sharp s = ess-zed,
+ U+00DF ISOlat1 -->
+<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
+ = latin small letter a grave,
+ U+00E0 ISOlat1 -->
+<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
+ U+00E1 ISOlat1 -->
+<!ENTITY acirc "&#226;"> <!-- latin small letter a with circumflex,
+ U+00E2 ISOlat1 -->
+<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
+ U+00E3 ISOlat1 -->
+<!ENTITY auml "&#228;"> <!-- latin small letter a with diaeresis,
+ U+00E4 ISOlat1 -->
+<!ENTITY aring "&#229;"> <!-- latin small letter a with ring above
+ = latin small letter a ring,
+ U+00E5 ISOlat1 -->
+<!ENTITY aelig "&#230;"> <!-- latin small letter ae
+ = latin small ligature ae, U+00E6 ISOlat1 -->
+<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
+ U+00E7 ISOlat1 -->
+<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
+ U+00E8 ISOlat1 -->
+<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
+ U+00E9 ISOlat1 -->
+<!ENTITY ecirc "&#234;"> <!-- latin small letter e with circumflex,
+ U+00EA ISOlat1 -->
+<!ENTITY euml "&#235;"> <!-- latin small letter e with diaeresis,
+ U+00EB ISOlat1 -->
+<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
+ U+00EC ISOlat1 -->
+<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
+ U+00ED ISOlat1 -->
+<!ENTITY icirc "&#238;"> <!-- latin small letter i with circumflex,
+ U+00EE ISOlat1 -->
+<!ENTITY iuml "&#239;"> <!-- latin small letter i with diaeresis,
+ U+00EF ISOlat1 -->
+<!ENTITY eth "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
+<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
+ U+00F1 ISOlat1 -->
+<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
+ U+00F2 ISOlat1 -->
+<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
+ U+00F3 ISOlat1 -->
+<!ENTITY ocirc "&#244;"> <!-- latin small letter o with circumflex,
+ U+00F4 ISOlat1 -->
+<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
+ U+00F5 ISOlat1 -->
+<!ENTITY ouml "&#246;"> <!-- latin small letter o with diaeresis,
+ U+00F6 ISOlat1 -->
+<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
+<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
+ = latin small letter o slash,
+ U+00F8 ISOlat1 -->
+<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
+ U+00F9 ISOlat1 -->
+<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
+ U+00FA ISOlat1 -->
+<!ENTITY ucirc "&#251;"> <!-- latin small letter u with circumflex,
+ U+00FB ISOlat1 -->
+<!ENTITY uuml "&#252;"> <!-- latin small letter u with diaeresis,
+ U+00FC ISOlat1 -->
+<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
+ U+00FD ISOlat1 -->
+<!ENTITY thorn "&#254;"> <!-- latin small letter thorn,
+ U+00FE ISOlat1 -->
+<!ENTITY yuml "&#255;"> <!-- latin small letter y with diaeresis,
+ U+00FF ISOlat1 -->
diff --git a/LayoutTests/dom/xhtml/level2/events/xhtml-special.ent b/LayoutTests/dom/xhtml/level2/events/xhtml-special.ent
new file mode 100644
index 0000000..ca358b2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/xhtml-special.ent
@@ -0,0 +1,80 @@
+<!-- Special characters for XHTML -->
+
+<!-- Character entity set. Typical invocation:
+ <!ENTITY % HTMLspecial PUBLIC
+ "-//W3C//ENTITIES Special for XHTML//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
+ %HTMLspecial;
+-->
+
+<!-- Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+-->
+
+<!-- Relevant ISO entity set is given unless names are newly introduced.
+ New names (i.e., not in ISO 8879 list) do not clash with any
+ existing ISO 8879 entity names. ISO 10646 character numbers
+ are given for each character, in hex. values are decimal
+ conversions of the ISO 10646 values and refer to the document
+ character set. Names are Unicode names.
+-->
+
+<!-- C0 Controls and Basic Latin -->
+<!ENTITY quot "&#34;"> <!-- quotation mark, U+0022 ISOnum -->
+<!ENTITY amp "&#38;#38;"> <!-- ampersand, U+0026 ISOnum -->
+<!ENTITY lt "&#38;#60;"> <!-- less-than sign, U+003C ISOnum -->
+<!ENTITY gt "&#62;"> <!-- greater-than sign, U+003E ISOnum -->
+<!ENTITY apos "&#39;"> <!-- apostrophe = APL quote, U+0027 ISOnum -->
+
+<!-- Latin Extended-A -->
+<!ENTITY OElig "&#338;"> <!-- latin capital ligature OE,
+ U+0152 ISOlat2 -->
+<!ENTITY oelig "&#339;"> <!-- latin small ligature oe, U+0153 ISOlat2 -->
+<!-- ligature is a misnomer, this is a separate character in some languages -->
+<!ENTITY Scaron "&#352;"> <!-- latin capital letter S with caron,
+ U+0160 ISOlat2 -->
+<!ENTITY scaron "&#353;"> <!-- latin small letter s with caron,
+ U+0161 ISOlat2 -->
+<!ENTITY Yuml "&#376;"> <!-- latin capital letter Y with diaeresis,
+ U+0178 ISOlat2 -->
+
+<!-- Spacing Modifier Letters -->
+<!ENTITY circ "&#710;"> <!-- modifier letter circumflex accent,
+ U+02C6 ISOpub -->
+<!ENTITY tilde "&#732;"> <!-- small tilde, U+02DC ISOdia -->
+
+<!-- General Punctuation -->
+<!ENTITY ensp "&#8194;"> <!-- en space, U+2002 ISOpub -->
+<!ENTITY emsp "&#8195;"> <!-- em space, U+2003 ISOpub -->
+<!ENTITY thinsp "&#8201;"> <!-- thin space, U+2009 ISOpub -->
+<!ENTITY zwnj "&#8204;"> <!-- zero width non-joiner,
+ U+200C NEW RFC 2070 -->
+<!ENTITY zwj "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
+<!ENTITY lrm "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
+<!ENTITY rlm "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
+<!ENTITY ndash "&#8211;"> <!-- en dash, U+2013 ISOpub -->
+<!ENTITY mdash "&#8212;"> <!-- em dash, U+2014 ISOpub -->
+<!ENTITY lsquo "&#8216;"> <!-- left single quotation mark,
+ U+2018 ISOnum -->
+<!ENTITY rsquo "&#8217;"> <!-- right single quotation mark,
+ U+2019 ISOnum -->
+<!ENTITY sbquo "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
+<!ENTITY ldquo "&#8220;"> <!-- left double quotation mark,
+ U+201C ISOnum -->
+<!ENTITY rdquo "&#8221;"> <!-- right double quotation mark,
+ U+201D ISOnum -->
+<!ENTITY bdquo "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
+<!ENTITY dagger "&#8224;"> <!-- dagger, U+2020 ISOpub -->
+<!ENTITY Dagger "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
+<!ENTITY permil "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
+<!ENTITY lsaquo "&#8249;"> <!-- single left-pointing angle quotation mark,
+ U+2039 ISO proposed -->
+<!-- lsaquo is proposed but not yet ISO standardized -->
+<!ENTITY rsaquo "&#8250;"> <!-- single right-pointing angle quotation mark,
+ U+203A ISO proposed -->
+<!-- rsaquo is proposed but not yet ISO standardized -->
+
+<!-- Currency Symbols -->
+<!ENTITY euro "&#8364;"> <!-- euro sign, U+20AC NEW -->
diff --git a/LayoutTests/dom/xhtml/level2/events/xhtml-symbol.ent b/LayoutTests/dom/xhtml/level2/events/xhtml-symbol.ent
new file mode 100644
index 0000000..63c2abf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/xhtml-symbol.ent
@@ -0,0 +1,237 @@
+<!-- Mathematical, Greek and Symbolic characters for XHTML -->
+
+<!-- Character entity set. Typical invocation:
+ <!ENTITY % HTMLsymbol PUBLIC
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
+ %HTMLsymbol;
+-->
+
+<!-- Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+-->
+
+<!-- Relevant ISO entity set is given unless names are newly introduced.
+ New names (i.e., not in ISO 8879 list) do not clash with any
+ existing ISO 8879 entity names. ISO 10646 character numbers
+ are given for each character, in hex. values are decimal
+ conversions of the ISO 10646 values and refer to the document
+ character set. Names are Unicode names.
+-->
+
+<!-- Latin Extended-B -->
+<!ENTITY fnof "&#402;"> <!-- latin small letter f with hook = function
+ = florin, U+0192 ISOtech -->
+
+<!-- Greek -->
+<!ENTITY Alpha "&#913;"> <!-- greek capital letter alpha, U+0391 -->
+<!ENTITY Beta "&#914;"> <!-- greek capital letter beta, U+0392 -->
+<!ENTITY Gamma "&#915;"> <!-- greek capital letter gamma,
+ U+0393 ISOgrk3 -->
+<!ENTITY Delta "&#916;"> <!-- greek capital letter delta,
+ U+0394 ISOgrk3 -->
+<!ENTITY Epsilon "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
+<!ENTITY Zeta "&#918;"> <!-- greek capital letter zeta, U+0396 -->
+<!ENTITY Eta "&#919;"> <!-- greek capital letter eta, U+0397 -->
+<!ENTITY Theta "&#920;"> <!-- greek capital letter theta,
+ U+0398 ISOgrk3 -->
+<!ENTITY Iota "&#921;"> <!-- greek capital letter iota, U+0399 -->
+<!ENTITY Kappa "&#922;"> <!-- greek capital letter kappa, U+039A -->
+<!ENTITY Lambda "&#923;"> <!-- greek capital letter lamda,
+ U+039B ISOgrk3 -->
+<!ENTITY Mu "&#924;"> <!-- greek capital letter mu, U+039C -->
+<!ENTITY Nu "&#925;"> <!-- greek capital letter nu, U+039D -->
+<!ENTITY Xi "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
+<!ENTITY Omicron "&#927;"> <!-- greek capital letter omicron, U+039F -->
+<!ENTITY Pi "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
+<!ENTITY Rho "&#929;"> <!-- greek capital letter rho, U+03A1 -->
+<!-- there is no Sigmaf, and no U+03A2 character either -->
+<!ENTITY Sigma "&#931;"> <!-- greek capital letter sigma,
+ U+03A3 ISOgrk3 -->
+<!ENTITY Tau "&#932;"> <!-- greek capital letter tau, U+03A4 -->
+<!ENTITY Upsilon "&#933;"> <!-- greek capital letter upsilon,
+ U+03A5 ISOgrk3 -->
+<!ENTITY Phi "&#934;"> <!-- greek capital letter phi,
+ U+03A6 ISOgrk3 -->
+<!ENTITY Chi "&#935;"> <!-- greek capital letter chi, U+03A7 -->
+<!ENTITY Psi "&#936;"> <!-- greek capital letter psi,
+ U+03A8 ISOgrk3 -->
+<!ENTITY Omega "&#937;"> <!-- greek capital letter omega,
+ U+03A9 ISOgrk3 -->
+
+<!ENTITY alpha "&#945;"> <!-- greek small letter alpha,
+ U+03B1 ISOgrk3 -->
+<!ENTITY beta "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
+<!ENTITY gamma "&#947;"> <!-- greek small letter gamma,
+ U+03B3 ISOgrk3 -->
+<!ENTITY delta "&#948;"> <!-- greek small letter delta,
+ U+03B4 ISOgrk3 -->
+<!ENTITY epsilon "&#949;"> <!-- greek small letter epsilon,
+ U+03B5 ISOgrk3 -->
+<!ENTITY zeta "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
+<!ENTITY eta "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
+<!ENTITY theta "&#952;"> <!-- greek small letter theta,
+ U+03B8 ISOgrk3 -->
+<!ENTITY iota "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
+<!ENTITY kappa "&#954;"> <!-- greek small letter kappa,
+ U+03BA ISOgrk3 -->
+<!ENTITY lambda "&#955;"> <!-- greek small letter lamda,
+ U+03BB ISOgrk3 -->
+<!ENTITY mu "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
+<!ENTITY nu "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
+<!ENTITY xi "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
+<!ENTITY omicron "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
+<!ENTITY pi "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
+<!ENTITY rho "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
+<!ENTITY sigmaf "&#962;"> <!-- greek small letter final sigma,
+ U+03C2 ISOgrk3 -->
+<!ENTITY sigma "&#963;"> <!-- greek small letter sigma,
+ U+03C3 ISOgrk3 -->
+<!ENTITY tau "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
+<!ENTITY upsilon "&#965;"> <!-- greek small letter upsilon,
+ U+03C5 ISOgrk3 -->
+<!ENTITY phi "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
+<!ENTITY chi "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
+<!ENTITY psi "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
+<!ENTITY omega "&#969;"> <!-- greek small letter omega,
+ U+03C9 ISOgrk3 -->
+<!ENTITY thetasym "&#977;"> <!-- greek theta symbol,
+ U+03D1 NEW -->
+<!ENTITY upsih "&#978;"> <!-- greek upsilon with hook symbol,
+ U+03D2 NEW -->
+<!ENTITY piv "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
+
+<!-- General Punctuation -->
+<!ENTITY bull "&#8226;"> <!-- bullet = black small circle,
+ U+2022 ISOpub -->
+<!-- bullet is NOT the same as bullet operator, U+2219 -->
+<!ENTITY hellip "&#8230;"> <!-- horizontal ellipsis = three dot leader,
+ U+2026 ISOpub -->
+<!ENTITY prime "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
+<!ENTITY Prime "&#8243;"> <!-- double prime = seconds = inches,
+ U+2033 ISOtech -->
+<!ENTITY oline "&#8254;"> <!-- overline = spacing overscore,
+ U+203E NEW -->
+<!ENTITY frasl "&#8260;"> <!-- fraction slash, U+2044 NEW -->
+
+<!-- Letterlike Symbols -->
+<!ENTITY weierp "&#8472;"> <!-- script capital P = power set
+ = Weierstrass p, U+2118 ISOamso -->
+<!ENTITY image "&#8465;"> <!-- black-letter capital I = imaginary part,
+ U+2111 ISOamso -->
+<!ENTITY real "&#8476;"> <!-- black-letter capital R = real part symbol,
+ U+211C ISOamso -->
+<!ENTITY trade "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
+<!ENTITY alefsym "&#8501;"> <!-- alef symbol = first transfinite cardinal,
+ U+2135 NEW -->
+<!-- alef symbol is NOT the same as hebrew letter alef,
+ U+05D0 although the same glyph could be used to depict both characters -->
+
+<!-- Arrows -->
+<!ENTITY larr "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
+<!ENTITY uarr "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
+<!ENTITY rarr "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
+<!ENTITY darr "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
+<!ENTITY harr "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
+<!ENTITY crarr "&#8629;"> <!-- downwards arrow with corner leftwards
+ = carriage return, U+21B5 NEW -->
+<!ENTITY lArr "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
+<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
+ but also does not have any other character for that function. So lArr can
+ be used for 'is implied by' as ISOtech suggests -->
+<!ENTITY uArr "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
+<!ENTITY rArr "&#8658;"> <!-- rightwards double arrow,
+ U+21D2 ISOtech -->
+<!-- Unicode does not say this is the 'implies' character but does not have
+ another character with this function so rArr can be used for 'implies'
+ as ISOtech suggests -->
+<!ENTITY dArr "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
+<!ENTITY hArr "&#8660;"> <!-- left right double arrow,
+ U+21D4 ISOamsa -->
+
+<!-- Mathematical Operators -->
+<!ENTITY forall "&#8704;"> <!-- for all, U+2200 ISOtech -->
+<!ENTITY part "&#8706;"> <!-- partial differential, U+2202 ISOtech -->
+<!ENTITY exist "&#8707;"> <!-- there exists, U+2203 ISOtech -->
+<!ENTITY empty "&#8709;"> <!-- empty set = null set, U+2205 ISOamso -->
+<!ENTITY nabla "&#8711;"> <!-- nabla = backward difference,
+ U+2207 ISOtech -->
+<!ENTITY isin "&#8712;"> <!-- element of, U+2208 ISOtech -->
+<!ENTITY notin "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
+<!ENTITY ni "&#8715;"> <!-- contains as member, U+220B ISOtech -->
+<!ENTITY prod "&#8719;"> <!-- n-ary product = product sign,
+ U+220F ISOamsb -->
+<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
+ the same glyph might be used for both -->
+<!ENTITY sum "&#8721;"> <!-- n-ary summation, U+2211 ISOamsb -->
+<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
+ though the same glyph might be used for both -->
+<!ENTITY minus "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
+<!ENTITY lowast "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
+<!ENTITY radic "&#8730;"> <!-- square root = radical sign,
+ U+221A ISOtech -->
+<!ENTITY prop "&#8733;"> <!-- proportional to, U+221D ISOtech -->
+<!ENTITY infin "&#8734;"> <!-- infinity, U+221E ISOtech -->
+<!ENTITY ang "&#8736;"> <!-- angle, U+2220 ISOamso -->
+<!ENTITY and "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
+<!ENTITY or "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
+<!ENTITY cap "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
+<!ENTITY cup "&#8746;"> <!-- union = cup, U+222A ISOtech -->
+<!ENTITY int "&#8747;"> <!-- integral, U+222B ISOtech -->
+<!ENTITY there4 "&#8756;"> <!-- therefore, U+2234 ISOtech -->
+<!ENTITY sim "&#8764;"> <!-- tilde operator = varies with = similar to,
+ U+223C ISOtech -->
+<!-- tilde operator is NOT the same character as the tilde, U+007E,
+ although the same glyph might be used to represent both -->
+<!ENTITY cong "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
+<!ENTITY asymp "&#8776;"> <!-- almost equal to = asymptotic to,
+ U+2248 ISOamsr -->
+<!ENTITY ne "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
+<!ENTITY equiv "&#8801;"> <!-- identical to, U+2261 ISOtech -->
+<!ENTITY le "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
+<!ENTITY ge "&#8805;"> <!-- greater-than or equal to,
+ U+2265 ISOtech -->
+<!ENTITY sub "&#8834;"> <!-- subset of, U+2282 ISOtech -->
+<!ENTITY sup "&#8835;"> <!-- superset of, U+2283 ISOtech -->
+<!ENTITY nsub "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
+<!ENTITY sube "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
+<!ENTITY supe "&#8839;"> <!-- superset of or equal to,
+ U+2287 ISOtech -->
+<!ENTITY oplus "&#8853;"> <!-- circled plus = direct sum,
+ U+2295 ISOamsb -->
+<!ENTITY otimes "&#8855;"> <!-- circled times = vector product,
+ U+2297 ISOamsb -->
+<!ENTITY perp "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
+ U+22A5 ISOtech -->
+<!ENTITY sdot "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
+<!-- dot operator is NOT the same character as U+00B7 middle dot -->
+
+<!-- Miscellaneous Technical -->
+<!ENTITY lceil "&#8968;"> <!-- left ceiling = APL upstile,
+ U+2308 ISOamsc -->
+<!ENTITY rceil "&#8969;"> <!-- right ceiling, U+2309 ISOamsc -->
+<!ENTITY lfloor "&#8970;"> <!-- left floor = APL downstile,
+ U+230A ISOamsc -->
+<!ENTITY rfloor "&#8971;"> <!-- right floor, U+230B ISOamsc -->
+<!ENTITY lang "&#9001;"> <!-- left-pointing angle bracket = bra,
+ U+2329 ISOtech -->
+<!-- lang is NOT the same character as U+003C 'less than sign'
+ or U+2039 'single left-pointing angle quotation mark' -->
+<!ENTITY rang "&#9002;"> <!-- right-pointing angle bracket = ket,
+ U+232A ISOtech -->
+<!-- rang is NOT the same character as U+003E 'greater than sign'
+ or U+203A 'single right-pointing angle quotation mark' -->
+
+<!-- Geometric Shapes -->
+<!ENTITY loz "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
+
+<!-- Miscellaneous Symbols -->
+<!ENTITY spades "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
+<!-- black here seems to mean filled as opposed to hollow -->
+<!ENTITY clubs "&#9827;"> <!-- black club suit = shamrock,
+ U+2663 ISOpub -->
+<!ENTITY hearts "&#9829;"> <!-- black heart suit = valentine,
+ U+2665 ISOpub -->
+<!ENTITY diams "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->
diff --git a/LayoutTests/dom/xhtml/level2/events/xhtml1-frameset.dtd b/LayoutTests/dom/xhtml/level2/events/xhtml1-frameset.dtd
new file mode 100644
index 0000000..01d6811
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/xhtml1-frameset.dtd
@@ -0,0 +1,1235 @@
+<!--
+ Extensible HTML version 1.0 Frameset DTD
+
+ This is the same as HTML 4 Frameset except for
+ changes due to the differences between XML and SGML.
+
+ Namespace = http://www.w3.org/1999/xhtml
+
+ For further information, see: http://www.w3.org/TR/xhtml1
+
+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+ All Rights Reserved.
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
+
+ $Revision: 10626 $
+ $Date: 2005-09-26 15:45:26 -0700 (Mon, 26 Sep 2005) $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+ "-//W3C//ENTITIES Special for XHTML//EN"
+ "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+ <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+ <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+ <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+ <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+ <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+ <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+ <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+ <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+ <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+ <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+ <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+ <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+ <!-- used for titles etc. -->
+
+<!ENTITY % FrameTarget "NMTOKEN">
+ <!-- render in this frame -->
+
+<!ENTITY % Length "CDATA">
+ <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+ <!-- pixel, percentage, or relative -->
+
+<!ENTITY % MultiLengths "CDATA">
+ <!-- comma-separated list of MultiLength -->
+
+<!ENTITY % Pixels "CDATA">
+ <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+ <!-- comma separated list of lengths -->
+
+<!-- used for object, applet, img, input and iframe -->
+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
+
+<!-- a color using sRGB: #RRGGBB as Hex values -->
+<!ENTITY % Color "CDATA">
+
+<!-- There are also 16 widely known color names with their sRGB values:
+
+ Black = #000000 Green = #008000
+ Silver = #C0C0C0 Lime = #00FF00
+ Gray = #808080 Olive = #808000
+ White = #FFFFFF Yellow = #FFFF00
+ Maroon = #800000 Navy = #000080
+ Red = #FF0000 Blue = #0000FF
+ Purple = #800080 Teal = #008080
+ Fuchsia= #FF00FF Aqua = #00FFFF
+-->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+ id document-wide unique id
+ class space separated list of classes
+ style associated style info
+ title advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id ID #IMPLIED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED"
+ >
+
+<!-- internationalization attributes
+ lang language code (backwards compatible)
+ xml:lang language code (as per XML 1.0 spec)
+ dir direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #IMPLIED"
+ >
+
+<!-- attributes for common UI events
+ onclick a pointer button was clicked
+ ondblclick a pointer button was double clicked
+ onmousedown a pointer button was pressed down
+ onmouseup a pointer button was released
+ onmousemove a pointer was moved onto the element
+ onmouseout a pointer was moved away from the element
+ onkeypress a key was pressed and released
+ onkeydown a key was pressed down
+ onkeyup a key was released
+-->
+<!ENTITY % events
+ "onclick %Script; #IMPLIED
+ ondblclick %Script; #IMPLIED
+ onmousedown %Script; #IMPLIED
+ onmouseup %Script; #IMPLIED
+ onmouseover %Script; #IMPLIED
+ onmousemove %Script; #IMPLIED
+ onmouseout %Script; #IMPLIED
+ onkeypress %Script; #IMPLIED
+ onkeydown %Script; #IMPLIED
+ onkeyup %Script; #IMPLIED"
+ >
+
+<!-- attributes for elements that can get the focus
+ accesskey accessibility key character
+ tabindex position in tabbing order
+ onfocus the element got the focus
+ onblur the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey %Character; #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED"
+ >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!-- text alignment for p, div, h1-h6. The default is
+ align="left" for ltr headings, "right" for rtl -->
+
+<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.extra
+ "object | applet | img | map | iframe">
+
+<!ENTITY % special.basic
+ "br | span | bdo">
+
+<!ENTITY % special
+ "%special.basic; | %special.extra;">
+
+<!ENTITY % fontstyle.extra "big | small | font | basefont">
+
+<!ENTITY % fontstyle.basic "tt | i | b | u
+ | s | strike ">
+
+<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
+
+<!ENTITY % phrase.extra "sub | sup">
+<!ENTITY % phrase.basic "em | strong | dfn | code | q |
+ samp | kbd | var | cite | abbr | acronym">
+
+<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl | menu | dir">
+<!ENTITY % blocktext "pre | hr | blockquote | address | center">
+
+<!ENTITY % block
+ "p | %heading; | div | %lists; | %blocktext; | isindex | fieldset | table">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
+
+<!-- pre uses %Inline excluding img, object, applet, big, small,
+ sub, sup, font, or basefont -->
+
+<!ENTITY % pre.content
+ "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
+ %inline.forms; | %misc.inline;)*">
+
+
+<!-- form uses %Flow; excluding form -->
+
+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
+
+<!ENTITY % button.content
+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+ table | br | span | bdo | object | applet | img | map |
+ %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, frameset)>
+<!ATTLIST html
+ %i18n;
+ id ID #IMPLIED
+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
+ >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
+
+<!-- content model is %head.misc; combined with a single
+ title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+ ((title, %head.misc;, (base, %head.misc;)?) |
+ (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+ %i18n;
+ id ID #IMPLIED
+ profile %URI; #IMPLIED
+ >
+
+<!-- The title element is not considered part of the flow of text.
+ It should be displayed, for example as the page header or
+ window title. Exactly one title is required per document.
+ -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title
+ %i18n;
+ id ID #IMPLIED
+ >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+ id ID #IMPLIED
+ href %URI; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+ %i18n;
+ id ID #IMPLIED
+ http-equiv CDATA #IMPLIED
+ name CDATA #IMPLIED
+ content CDATA #REQUIRED
+ scheme CDATA #IMPLIED
+ >
+
+<!--
+ Relationship values can be used in principle:
+
+ a) for document specific toolbars/menus when used
+ with the link element in document head e.g.
+ start, contents, previous, next, index, end, help
+ b) to link to a separate style sheet (rel="stylesheet")
+ c) to make a link to a script (rel="script")
+ d) by stylesheets to control how collections of
+ html nodes are rendered into printed documents
+ e) to make a link to a printable version of this document
+ e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+ %attrs;
+ charset %Charset; #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ type %ContentType; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ media %MediaDesc; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+ %i18n;
+ id ID #IMPLIED
+ type %ContentType; #REQUIRED
+ media %MediaDesc; #IMPLIED
+ title %Text; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+ id ID #IMPLIED
+ charset %Charset; #IMPLIED
+ type %ContentType; #REQUIRED
+ language CDATA #IMPLIED
+ src %URI; #IMPLIED
+ defer (defer) #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Flow;>
+<!ATTLIST noscript
+ %attrs;
+ >
+
+<!--======================= Frames =======================================-->
+
+<!-- only one noframes element permitted per document -->
+
+<!ELEMENT frameset (frameset|frame|noframes)*>
+<!ATTLIST frameset
+ %coreattrs;
+ rows %MultiLengths; #IMPLIED
+ cols %MultiLengths; #IMPLIED
+ onload %Script; #IMPLIED
+ onunload %Script; #IMPLIED
+ >
+
+<!-- reserved frame names start with "_" otherwise starts with letter -->
+
+<!-- tiled window within frameset -->
+
+<!ELEMENT frame EMPTY>
+<!ATTLIST frame
+ %coreattrs;
+ longdesc %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ src %URI; #IMPLIED
+ frameborder (1|0) "1"
+ marginwidth %Pixels; #IMPLIED
+ marginheight %Pixels; #IMPLIED
+ noresize (noresize) #IMPLIED
+ scrolling (yes|no|auto) "auto"
+ >
+
+<!-- inline subwindow -->
+
+<!ELEMENT iframe %Flow;>
+<!ATTLIST iframe
+ %coreattrs;
+ longdesc %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ src %URI; #IMPLIED
+ frameborder (1|0) "1"
+ marginwidth %Pixels; #IMPLIED
+ marginheight %Pixels; #IMPLIED
+ scrolling (yes|no|auto) "auto"
+ align %ImgAlign; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ >
+
+<!-- alternate content container for non frame-based rendering -->
+
+<!ELEMENT noframes (body)>
+<!ATTLIST noframes
+ %attrs;
+ >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Flow;>
+<!ATTLIST body
+ %attrs;
+ onload %Script; #IMPLIED
+ onunload %Script; #IMPLIED
+ background %URI; #IMPLIED
+ bgcolor %Color; #IMPLIED
+ text %Color; #IMPLIED
+ link %Color; #IMPLIED
+ vlink %Color; #IMPLIED
+ alink %Color; #IMPLIED
+ >
+
+<!ELEMENT div %Flow;> <!-- generic language/style container -->
+<!ATTLIST div
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Headings =========================================-->
+
+<!--
+ There are six levels of headings from h1 (the most important)
+ to h6 (the least important).
+-->
+
+<!ELEMENT h1 %Inline;>
+<!ATTLIST h1
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list bullet styles -->
+
+<!ENTITY % ULStyle "(disc|square|circle)">
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+ %attrs;
+ type %ULStyle; #IMPLIED
+ compact (compact) #IMPLIED
+ >
+
+<!-- Ordered list numbering style
+
+ 1 arabic numbers 1, 2, 3, ...
+ a lower alpha a, b, c, ...
+ A upper alpha A, B, C, ...
+ i lower roman i, ii, iii, ...
+ I upper roman I, II, III, ...
+
+ The style is applied to the sequence number which by default
+ is reset to 1 for the first list item in an ordered list.
+-->
+<!ENTITY % OLStyle "CDATA">
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+ %attrs;
+ type %OLStyle; #IMPLIED
+ compact (compact) #IMPLIED
+ start %Number; #IMPLIED
+ >
+
+<!-- single column list (DEPRECATED) -->
+<!ELEMENT menu (li)+>
+<!ATTLIST menu
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- multiple column list (DEPRECATED) -->
+<!ELEMENT dir (li)+>
+<!ATTLIST dir
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
+<!ENTITY % LIStyle "CDATA">
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+ %attrs;
+ type %LIStyle; #IMPLIED
+ value %Number; #IMPLIED
+ >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+ %attrs;
+ >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+ %attrs;
+ >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
+<!ATTLIST address
+ %attrs;
+ >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+ %attrs;
+ align (left|center|right) #IMPLIED
+ noshade (noshade) #IMPLIED
+ size %Pixels; #IMPLIED
+ width %Length; #IMPLIED
+ >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding
+ "img|object|applet|big|small|sub|sup|font|basefont" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+ %attrs;
+ width %Number; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Flow;>
+<!ATTLIST blockquote
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!--=================== Text alignment ===================================-->
+
+<!-- center content -->
+<!ELEMENT center %Flow;>
+<!ATTLIST center
+ %attrs;
+ >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+
+<!--
+ ins/del are allowed in block and inline content, but its
+ inappropriate to include block content within an ins element
+ occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+ %attrs;
+ %focus;
+ charset %Charset; #IMPLIED
+ type %ContentType; #IMPLIED
+ name NMTOKEN #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+ %attrs;
+ >
+
+<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+ %coreattrs;
+ %events;
+ lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #REQUIRED
+ >
+
+<!ELEMENT br EMPTY> <!-- forced line break -->
+<!ATTLIST br
+ %coreattrs;
+ clear (left|all|right|none) "none"
+ >
+
+<!ELEMENT em %Inline;> <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;> <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;> <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;> <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;> <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;> <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;> <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;> <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;> <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;> <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;> <!-- inlined quote -->
+<!ATTLIST q
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;> <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;> <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;> <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;> <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!ELEMENT u %Inline;> <!-- underline -->
+<!ATTLIST u %attrs;>
+
+<!ELEMENT s %Inline;> <!-- strike-through -->
+<!ATTLIST s %attrs;>
+
+<!ELEMENT strike %Inline;> <!-- strike-through -->
+<!ATTLIST strike %attrs;>
+
+<!ELEMENT basefont EMPTY> <!-- base font size -->
+<!ATTLIST basefont
+ id ID #IMPLIED
+ size CDATA #REQUIRED
+ color %Color; #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!ELEMENT font %Inline;> <!-- local change to font -->
+<!ATTLIST font
+ %coreattrs;
+ %i18n;
+ size CDATA #IMPLIED
+ color %Color; #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!--==================== Object ======================================-->
+<!--
+ object is used to embed objects as part of HTML pages.
+ param elements should precede other content. Parameters
+ can also be expressed as attribute/value pairs on the
+ object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
+<!ATTLIST object
+ %attrs;
+ declare (declare) #IMPLIED
+ classid %URI; #IMPLIED
+ codebase %URI; #IMPLIED
+ data %URI; #IMPLIED
+ type %ContentType; #IMPLIED
+ codetype %ContentType; #IMPLIED
+ archive %UriList; #IMPLIED
+ standby %Text; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ tabindex %Number; #IMPLIED
+ align %ImgAlign; #IMPLIED
+ border %Pixels; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!--
+ param is used to supply a named property value.
+ In XML it would seem natural to follow RDF and support an
+ abbreviated syntax where the param elements are replaced
+ by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+ id ID #IMPLIED
+ name CDATA #REQUIRED
+ value CDATA #IMPLIED
+ valuetype (data|ref|object) "data"
+ type %ContentType; #IMPLIED
+ >
+
+<!--=================== Java applet ==================================-->
+<!--
+ One of code or object attributes must be present.
+ Place param elements before other content.
+-->
+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST applet
+ %coreattrs;
+ codebase %URI; #IMPLIED
+ archive CDATA #IMPLIED
+ code CDATA #IMPLIED
+ object CDATA #IMPLIED
+ alt %Text; #IMPLIED
+ name NMTOKEN #IMPLIED
+ width %Length; #REQUIRED
+ height %Length; #REQUIRED
+ align %ImgAlign; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!--=================== Images ===========================================-->
+
+<!--
+ To avoid accessibility problems for people who aren't
+ able to see the image, you should provide a text
+ description using the alt and longdesc attributes.
+ In addition, avoid the use of server-side image maps.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+ %attrs;
+ src %URI; #REQUIRED
+ alt %Text; #REQUIRED
+ name NMTOKEN #IMPLIED
+ longdesc %URI; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ ismap (ismap) #IMPLIED
+ align %ImgAlign; #IMPLIED
+ border %Pixels; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!-- usemap points to a map element which may be in this document
+ or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+ separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+ %i18n;
+ %events;
+ id ID #REQUIRED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED
+ name NMTOKEN #IMPLIED
+ >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+ %attrs;
+ %focus;
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ href %URI; #IMPLIED
+ nohref (nohref) #IMPLIED
+ alt %Text; #REQUIRED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--================ Forms ===============================================-->
+
+<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+ %attrs;
+ action %URI; #REQUIRED
+ method (get|post) "get"
+ name NMTOKEN #IMPLIED
+ enctype %ContentType; "application/x-www-form-urlencoded"
+ onsubmit %Script; #IMPLIED
+ onreset %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ accept-charset %Charsets; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--
+ Each label must not contain more than ONE field
+ Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+ %attrs;
+ for IDREF #IMPLIED
+ accesskey %Character; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ >
+
+<!ENTITY % InputType
+ "(text | password | checkbox |
+ radio | submit | reset |
+ file | hidden | image | button)"
+ >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY> <!-- form control -->
+<!ATTLIST input
+ %attrs;
+ %focus;
+ type %InputType; "text"
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ checked (checked) #IMPLIED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ size CDATA #IMPLIED
+ maxlength %Number; #IMPLIED
+ src %URI; #IMPLIED
+ alt CDATA #IMPLIED
+ usemap %URI; #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ align %ImgAlign; #IMPLIED
+ >
+
+<!ELEMENT select (optgroup|option)+> <!-- option selector -->
+<!ATTLIST select
+ %attrs;
+ name CDATA #IMPLIED
+ size %Number; #IMPLIED
+ multiple (multiple) #IMPLIED
+ disabled (disabled) #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!ELEMENT optgroup (option)+> <!-- option group -->
+<!ATTLIST optgroup
+ %attrs;
+ disabled (disabled) #IMPLIED
+ label %Text; #REQUIRED
+ >
+
+<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
+<!ATTLIST option
+ %attrs;
+ selected (selected) #IMPLIED
+ disabled (disabled) #IMPLIED
+ label %Text; #IMPLIED
+ value CDATA #IMPLIED
+ >
+
+<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
+<!ATTLIST textarea
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ rows %Number; #REQUIRED
+ cols %Number; #REQUIRED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!--
+ The fieldset element is used to group form fields.
+ Only one legend element should occur in the content
+ and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+ %attrs;
+ >
+
+<!ENTITY % LAlign "(top|bottom|left|right)">
+
+<!ELEMENT legend %Inline;> <!-- fieldset label -->
+<!ATTLIST legend
+ %attrs;
+ accesskey %Character; #IMPLIED
+ align %LAlign; #IMPLIED
+ >
+
+<!--
+ Content is %Flow; excluding a, form, form controls, iframe
+-->
+<!ELEMENT button %button.content;> <!-- push button -->
+<!ATTLIST button
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ type (button|submit|reset) "submit"
+ disabled (disabled) #IMPLIED
+ >
+
+<!-- single-line text input control (DEPRECATED) -->
+<!ELEMENT isindex EMPTY>
+<!ATTLIST isindex
+ %coreattrs;
+ %i18n;
+ prompt %Text; #IMPLIED
+ >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+ "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+
+<!-- horizontal placement of table relative to document -->
+<!ENTITY % TAlign "(left|center|right)">
+
+<!-- horizontal alignment attributes for cell contents
+
+ char alignment char, e.g. char=":"
+ charoff offset for alignment char
+-->
+<!ENTITY % cellhalign
+ "align (left|center|right|justify|char) #IMPLIED
+ char %Character; #IMPLIED
+ charoff %Length; #IMPLIED"
+ >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+ "valign (top|middle|bottom|baseline) #IMPLIED"
+ >
+
+<!ELEMENT table
+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption %Inline;>
+<!ELEMENT thead (tr)+>
+<!ELEMENT tfoot (tr)+>
+<!ELEMENT tbody (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col EMPTY>
+<!ELEMENT tr (th|td)+>
+<!ELEMENT th %Flow;>
+<!ELEMENT td %Flow;>
+
+<!ATTLIST table
+ %attrs;
+ summary %Text; #IMPLIED
+ width %Length; #IMPLIED
+ border %Pixels; #IMPLIED
+ frame %TFrame; #IMPLIED
+ rules %TRules; #IMPLIED
+ cellspacing %Length; #IMPLIED
+ cellpadding %Length; #IMPLIED
+ align %TAlign; #IMPLIED
+ bgcolor %Color; #IMPLIED
+ >
+
+<!ENTITY % CAlign "(top|bottom|left|right)">
+
+<!ATTLIST caption
+ %attrs;
+ align %CAlign; #IMPLIED
+ >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+ width=64 width in screen pixels
+ width=0.5* relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ Use thead to duplicate headers when breaking table
+ across page boundaries, or for static headers when
+ tbody sections are rendered in scrolling panel.
+
+ Use tfoot to duplicate footers when breaking table
+ across page boundaries, or for static footers when
+ tbody sections are rendered in scrolling panel.
+
+ Use multiple tbody sections when rules are needed
+ between groups of table rows.
+-->
+<!ATTLIST thead
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tfoot
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tbody
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tr
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ bgcolor %Color; #IMPLIED
+ >
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor %Color; #IMPLIED
+ width %Pixels; #IMPLIED
+ height %Pixels; #IMPLIED
+ >
+
+<!ATTLIST td
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor %Color; #IMPLIED
+ width %Pixels; #IMPLIED
+ height %Pixels; #IMPLIED
+ >
+
diff --git a/LayoutTests/dom/xhtml/level2/events/xhtml1-strict.dtd b/LayoutTests/dom/xhtml/level2/events/xhtml1-strict.dtd
new file mode 100644
index 0000000..18528d9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/xhtml1-strict.dtd
@@ -0,0 +1,978 @@
+<!--
+ Extensible HTML version 1.0 Strict DTD
+
+ This is the same as HTML 4 Strict except for
+ changes due to the differences between XML and SGML.
+
+ Namespace = http://www.w3.org/1999/xhtml
+
+ For further information, see: http://www.w3.org/TR/xhtml1
+
+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+ All Rights Reserved.
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+
+ $Revision: 10626 $
+ $Date: 2005-09-26 15:45:26 -0700 (Mon, 26 Sep 2005) $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+ "-//W3C//ENTITIES Special for XHTML//EN"
+ "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+ <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+ <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+ <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+ <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+ <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+ <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+ <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+ <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+ <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+ <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+ <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+ <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+ <!-- used for titles etc. -->
+
+<!ENTITY % Length "CDATA">
+ <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+ <!-- pixel, percentage, or relative -->
+
+<!ENTITY % Pixels "CDATA">
+ <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+ <!-- comma separated list of lengths -->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+ id document-wide unique id
+ class space separated list of classes
+ style associated style info
+ title advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id ID #IMPLIED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED"
+ >
+
+<!-- internationalization attributes
+ lang language code (backwards compatible)
+ xml:lang language code (as per XML 1.0 spec)
+ dir direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #IMPLIED"
+ >
+
+<!-- attributes for common UI events
+ onclick a pointer button was clicked
+ ondblclick a pointer button was double clicked
+ onmousedown a pointer button was pressed down
+ onmouseup a pointer button was released
+ onmousemove a pointer was moved onto the element
+ onmouseout a pointer was moved away from the element
+ onkeypress a key was pressed and released
+ onkeydown a key was pressed down
+ onkeyup a key was released
+-->
+<!ENTITY % events
+ "onclick %Script; #IMPLIED
+ ondblclick %Script; #IMPLIED
+ onmousedown %Script; #IMPLIED
+ onmouseup %Script; #IMPLIED
+ onmouseover %Script; #IMPLIED
+ onmousemove %Script; #IMPLIED
+ onmouseout %Script; #IMPLIED
+ onkeypress %Script; #IMPLIED
+ onkeydown %Script; #IMPLIED
+ onkeyup %Script; #IMPLIED"
+ >
+
+<!-- attributes for elements that can get the focus
+ accesskey accessibility key character
+ tabindex position in tabbing order
+ onfocus the element got the focus
+ onblur the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey %Character; #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED"
+ >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.pre
+ "br | span | bdo | map">
+
+
+<!ENTITY % special
+ "%special.pre; | object | img ">
+
+<!ENTITY % fontstyle "tt | i | b | big | small ">
+
+<!ENTITY % phrase "em | strong | dfn | code | q |
+ samp | kbd | var | cite | abbr | acronym | sub | sup ">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl">
+<!ENTITY % blocktext "pre | hr | blockquote | address">
+
+<!ENTITY % block
+ "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
+
+<!ENTITY % Block "(%block; | form | %misc;)*">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
+
+<!-- pre uses %Inline excluding big, small, sup or sup -->
+
+<!ENTITY % pre.content
+ "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
+ | %inline.forms;)*">
+
+<!-- form uses %Block; excluding form -->
+
+<!ENTITY % form.content "(%block; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form and form controls -->
+
+<!ENTITY % button.content
+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+ table | %special; | %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, body)>
+<!ATTLIST html
+ %i18n;
+ id ID #IMPLIED
+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
+ >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object)*">
+
+<!-- content model is %head.misc; combined with a single
+ title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+ ((title, %head.misc;, (base, %head.misc;)?) |
+ (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+ %i18n;
+ id ID #IMPLIED
+ profile %URI; #IMPLIED
+ >
+
+<!-- The title element is not considered part of the flow of text.
+ It should be displayed, for example as the page header or
+ window title. Exactly one title is required per document.
+ -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title
+ %i18n;
+ id ID #IMPLIED
+ >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+ href %URI; #REQUIRED
+ id ID #IMPLIED
+ >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+ %i18n;
+ id ID #IMPLIED
+ http-equiv CDATA #IMPLIED
+ name CDATA #IMPLIED
+ content CDATA #REQUIRED
+ scheme CDATA #IMPLIED
+ >
+
+<!--
+ Relationship values can be used in principle:
+
+ a) for document specific toolbars/menus when used
+ with the link element in document head e.g.
+ start, contents, previous, next, index, end, help
+ b) to link to a separate style sheet (rel="stylesheet")
+ c) to make a link to a script (rel="script")
+ d) by stylesheets to control how collections of
+ html nodes are rendered into printed documents
+ e) to make a link to a printable version of this document
+ e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+ %attrs;
+ charset %Charset; #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ type %ContentType; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ media %MediaDesc; #IMPLIED
+ >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+ %i18n;
+ id ID #IMPLIED
+ type %ContentType; #REQUIRED
+ media %MediaDesc; #IMPLIED
+ title %Text; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+ id ID #IMPLIED
+ charset %Charset; #IMPLIED
+ type %ContentType; #REQUIRED
+ src %URI; #IMPLIED
+ defer (defer) #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Block;>
+<!ATTLIST noscript
+ %attrs;
+ >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Block;>
+<!ATTLIST body
+ %attrs;
+ onload %Script; #IMPLIED
+ onunload %Script; #IMPLIED
+ >
+
+<!ELEMENT div %Flow;> <!-- generic language/style container -->
+<!ATTLIST div
+ %attrs;
+ >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+ %attrs;
+ >
+
+<!--=================== Headings =========================================-->
+
+<!--
+ There are six levels of headings from h1 (the most important)
+ to h6 (the least important).
+-->
+
+<!ELEMENT h1 %Inline;>
+<!ATTLIST h1
+ %attrs;
+ >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+ %attrs;
+ >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+ %attrs;
+ >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+ %attrs;
+ >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+ %attrs;
+ >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+ %attrs;
+ >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+ %attrs;
+ >
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+ %attrs;
+ >
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+ %attrs;
+ >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+ %attrs;
+ >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+ %attrs;
+ >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+ %attrs;
+ >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address %Inline;>
+<!ATTLIST address
+ %attrs;
+ >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+ %attrs;
+ >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+ %attrs;
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Block;>
+<!ATTLIST blockquote
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+<!--
+ ins/del are allowed in block and inline content, but its
+ inappropriate to include block content within an ins element
+ occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+ %attrs;
+ %focus;
+ charset %Charset; #IMPLIED
+ type %ContentType; #IMPLIED
+ name NMTOKEN #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+ %attrs;
+ >
+
+<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+ %coreattrs;
+ %events;
+ lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #REQUIRED
+ >
+
+<!ELEMENT br EMPTY> <!-- forced line break -->
+<!ATTLIST br
+ %coreattrs;
+ >
+
+<!ELEMENT em %Inline;> <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;> <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;> <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;> <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;> <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;> <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;> <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;> <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;> <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;> <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;> <!-- inlined quote -->
+<!ATTLIST q
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;> <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;> <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;> <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;> <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!--==================== Object ======================================-->
+<!--
+ object is used to embed objects as part of HTML pages.
+ param elements should precede other content. Parameters
+ can also be expressed as attribute/value pairs on the
+ object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST object
+ %attrs;
+ declare (declare) #IMPLIED
+ classid %URI; #IMPLIED
+ codebase %URI; #IMPLIED
+ data %URI; #IMPLIED
+ type %ContentType; #IMPLIED
+ codetype %ContentType; #IMPLIED
+ archive %UriList; #IMPLIED
+ standby %Text; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ tabindex %Number; #IMPLIED
+ >
+
+<!--
+ param is used to supply a named property value.
+ In XML it would seem natural to follow RDF and support an
+ abbreviated syntax where the param elements are replaced
+ by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+ id ID #IMPLIED
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ valuetype (data|ref|object) "data"
+ type %ContentType; #IMPLIED
+ >
+
+<!--=================== Images ===========================================-->
+
+<!--
+ To avoid accessibility problems for people who aren't
+ able to see the image, you should provide a text
+ description using the alt and longdesc attributes.
+ In addition, avoid the use of server-side image maps.
+ Note that in this DTD there is no name attribute. That
+ is only available in the transitional and frameset DTD.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+ %attrs;
+ src %URI; #REQUIRED
+ alt %Text; #REQUIRED
+ longdesc %URI; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ ismap (ismap) #IMPLIED
+ >
+
+<!-- usemap points to a map element which may be in this document
+ or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+ separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+ %i18n;
+ %events;
+ id ID #REQUIRED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED
+ name NMTOKEN #IMPLIED
+ >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+ %attrs;
+ %focus;
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ href %URI; #IMPLIED
+ nohref (nohref) #IMPLIED
+ alt %Text; #REQUIRED
+ >
+
+<!--================ Forms ===============================================-->
+<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+ %attrs;
+ action %URI; #REQUIRED
+ method (get|post) "get"
+ enctype %ContentType; "application/x-www-form-urlencoded"
+ onsubmit %Script; #IMPLIED
+ onreset %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ accept-charset %Charsets; #IMPLIED
+ >
+
+<!--
+ Each label must not contain more than ONE field
+ Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+ %attrs;
+ for IDREF #IMPLIED
+ accesskey %Character; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ >
+
+<!ENTITY % InputType
+ "(text | password | checkbox |
+ radio | submit | reset |
+ file | hidden | image | button)"
+ >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY> <!-- form control -->
+<!ATTLIST input
+ %attrs;
+ %focus;
+ type %InputType; "text"
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ checked (checked) #IMPLIED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ size CDATA #IMPLIED
+ maxlength %Number; #IMPLIED
+ src %URI; #IMPLIED
+ alt CDATA #IMPLIED
+ usemap %URI; #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ >
+
+<!ELEMENT select (optgroup|option)+> <!-- option selector -->
+<!ATTLIST select
+ %attrs;
+ name CDATA #IMPLIED
+ size %Number; #IMPLIED
+ multiple (multiple) #IMPLIED
+ disabled (disabled) #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!ELEMENT optgroup (option)+> <!-- option group -->
+<!ATTLIST optgroup
+ %attrs;
+ disabled (disabled) #IMPLIED
+ label %Text; #REQUIRED
+ >
+
+<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
+<!ATTLIST option
+ %attrs;
+ selected (selected) #IMPLIED
+ disabled (disabled) #IMPLIED
+ label %Text; #IMPLIED
+ value CDATA #IMPLIED
+ >
+
+<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
+<!ATTLIST textarea
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ rows %Number; #REQUIRED
+ cols %Number; #REQUIRED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!--
+ The fieldset element is used to group form fields.
+ Only one legend element should occur in the content
+ and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+ %attrs;
+ >
+
+<!ELEMENT legend %Inline;> <!-- fieldset label -->
+<!ATTLIST legend
+ %attrs;
+ accesskey %Character; #IMPLIED
+ >
+
+<!--
+ Content is %Flow; excluding a, form and form controls
+-->
+<!ELEMENT button %button.content;> <!-- push button -->
+<!ATTLIST button
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ type (button|submit|reset) "submit"
+ disabled (disabled) #IMPLIED
+ >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+ "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+
+<!-- horizontal alignment attributes for cell contents
+
+ char alignment char, e.g. char=':'
+ charoff offset for alignment char
+-->
+<!ENTITY % cellhalign
+ "align (left|center|right|justify|char) #IMPLIED
+ char %Character; #IMPLIED
+ charoff %Length; #IMPLIED"
+ >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+ "valign (top|middle|bottom|baseline) #IMPLIED"
+ >
+
+<!ELEMENT table
+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption %Inline;>
+<!ELEMENT thead (tr)+>
+<!ELEMENT tfoot (tr)+>
+<!ELEMENT tbody (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col EMPTY>
+<!ELEMENT tr (th|td)+>
+<!ELEMENT th %Flow;>
+<!ELEMENT td %Flow;>
+
+<!ATTLIST table
+ %attrs;
+ summary %Text; #IMPLIED
+ width %Length; #IMPLIED
+ border %Pixels; #IMPLIED
+ frame %TFrame; #IMPLIED
+ rules %TRules; #IMPLIED
+ cellspacing %Length; #IMPLIED
+ cellpadding %Length; #IMPLIED
+ >
+
+<!ATTLIST caption
+ %attrs;
+ >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+ width=64 width in screen pixels
+ width=0.5* relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ Use thead to duplicate headers when breaking table
+ across page boundaries, or for static headers when
+ tbody sections are rendered in scrolling panel.
+
+ Use tfoot to duplicate footers when breaking table
+ across page boundaries, or for static footers when
+ tbody sections are rendered in scrolling panel.
+
+ Use multiple tbody sections when rules are needed
+ between groups of table rows.
+-->
+<!ATTLIST thead
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tfoot
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tbody
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tr
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST td
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ >
+
diff --git a/LayoutTests/dom/xhtml/level2/events/xhtml1-transitional.dtd b/LayoutTests/dom/xhtml/level2/events/xhtml1-transitional.dtd
new file mode 100644
index 0000000..1705c27
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/events/xhtml1-transitional.dtd
@@ -0,0 +1,1201 @@
+<!--
+ Extensible HTML version 1.0 Transitional DTD
+
+ This is the same as HTML 4 Transitional except for
+ changes due to the differences between XML and SGML.
+
+ Namespace = http://www.w3.org/1999/xhtml
+
+ For further information, see: http://www.w3.org/TR/xhtml1
+
+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+ All Rights Reserved.
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
+
+ $Revision: 10626 $
+ $Date: 2005-09-26 15:45:26 -0700 (Mon, 26 Sep 2005) $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+ "-//W3C//ENTITIES Special for XHTML//EN"
+ "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+ <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+ <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+ <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+ <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+ <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+ <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+ <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+ <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+ <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+ <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+ <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+ <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+ <!-- used for titles etc. -->
+
+<!ENTITY % FrameTarget "NMTOKEN">
+ <!-- render in this frame -->
+
+<!ENTITY % Length "CDATA">
+ <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+ <!-- pixel, percentage, or relative -->
+
+<!ENTITY % Pixels "CDATA">
+ <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+ <!-- comma separated list of lengths -->
+
+<!-- used for object, applet, img, input and iframe -->
+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
+
+<!-- a color using sRGB: #RRGGBB as Hex values -->
+<!ENTITY % Color "CDATA">
+
+<!-- There are also 16 widely known color names with their sRGB values:
+
+ Black = #000000 Green = #008000
+ Silver = #C0C0C0 Lime = #00FF00
+ Gray = #808080 Olive = #808000
+ White = #FFFFFF Yellow = #FFFF00
+ Maroon = #800000 Navy = #000080
+ Red = #FF0000 Blue = #0000FF
+ Purple = #800080 Teal = #008080
+ Fuchsia= #FF00FF Aqua = #00FFFF
+-->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+ id document-wide unique id
+ class space separated list of classes
+ style associated style info
+ title advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id ID #IMPLIED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED"
+ >
+
+<!-- internationalization attributes
+ lang language code (backwards compatible)
+ xml:lang language code (as per XML 1.0 spec)
+ dir direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #IMPLIED"
+ >
+
+<!-- attributes for common UI events
+ onclick a pointer button was clicked
+ ondblclick a pointer button was double clicked
+ onmousedown a pointer button was pressed down
+ onmouseup a pointer button was released
+ onmousemove a pointer was moved onto the element
+ onmouseout a pointer was moved away from the element
+ onkeypress a key was pressed and released
+ onkeydown a key was pressed down
+ onkeyup a key was released
+-->
+<!ENTITY % events
+ "onclick %Script; #IMPLIED
+ ondblclick %Script; #IMPLIED
+ onmousedown %Script; #IMPLIED
+ onmouseup %Script; #IMPLIED
+ onmouseover %Script; #IMPLIED
+ onmousemove %Script; #IMPLIED
+ onmouseout %Script; #IMPLIED
+ onkeypress %Script; #IMPLIED
+ onkeydown %Script; #IMPLIED
+ onkeyup %Script; #IMPLIED"
+ >
+
+<!-- attributes for elements that can get the focus
+ accesskey accessibility key character
+ tabindex position in tabbing order
+ onfocus the element got the focus
+ onblur the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey %Character; #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED"
+ >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!-- text alignment for p, div, h1-h6. The default is
+ align="left" for ltr headings, "right" for rtl -->
+
+<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.extra
+ "object | applet | img | map | iframe">
+
+<!ENTITY % special.basic
+ "br | span | bdo">
+
+<!ENTITY % special
+ "%special.basic; | %special.extra;">
+
+<!ENTITY % fontstyle.extra "big | small | font | basefont">
+
+<!ENTITY % fontstyle.basic "tt | i | b | u
+ | s | strike ">
+
+<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
+
+<!ENTITY % phrase.extra "sub | sup">
+<!ENTITY % phrase.basic "em | strong | dfn | code | q |
+ samp | kbd | var | cite | abbr | acronym">
+
+<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl | menu | dir">
+<!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">
+
+<!ENTITY % block
+ "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
+
+<!-- pre uses %Inline excluding img, object, applet, big, small,
+ font, or basefont -->
+
+<!ENTITY % pre.content
+ "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
+ %inline.forms; | %misc.inline;)*">
+
+<!-- form uses %Flow; excluding form -->
+
+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
+
+<!ENTITY % button.content
+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+ table | br | span | bdo | object | applet | img | map |
+ %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, body)>
+<!ATTLIST html
+ %i18n;
+ id ID #IMPLIED
+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
+ >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
+
+<!-- content model is %head.misc; combined with a single
+ title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+ ((title, %head.misc;, (base, %head.misc;)?) |
+ (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+ %i18n;
+ id ID #IMPLIED
+ profile %URI; #IMPLIED
+ >
+
+<!-- The title element is not considered part of the flow of text.
+ It should be displayed, for example as the page header or
+ window title. Exactly one title is required per document.
+ -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title
+ %i18n;
+ id ID #IMPLIED
+ >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+ id ID #IMPLIED
+ href %URI; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+ %i18n;
+ id ID #IMPLIED
+ http-equiv CDATA #IMPLIED
+ name CDATA #IMPLIED
+ content CDATA #REQUIRED
+ scheme CDATA #IMPLIED
+ >
+
+<!--
+ Relationship values can be used in principle:
+
+ a) for document specific toolbars/menus when used
+ with the link element in document head e.g.
+ start, contents, previous, next, index, end, help
+ b) to link to a separate style sheet (rel="stylesheet")
+ c) to make a link to a script (rel="script")
+ d) by stylesheets to control how collections of
+ html nodes are rendered into printed documents
+ e) to make a link to a printable version of this document
+ e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+ %attrs;
+ charset %Charset; #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ type %ContentType; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ media %MediaDesc; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+ %i18n;
+ id ID #IMPLIED
+ type %ContentType; #REQUIRED
+ media %MediaDesc; #IMPLIED
+ title %Text; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+ id ID #IMPLIED
+ charset %Charset; #IMPLIED
+ type %ContentType; #REQUIRED
+ language CDATA #IMPLIED
+ src %URI; #IMPLIED
+ defer (defer) #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Flow;>
+<!ATTLIST noscript
+ %attrs;
+ >
+
+<!--======================= Frames =======================================-->
+
+<!-- inline subwindow -->
+
+<!ELEMENT iframe %Flow;>
+<!ATTLIST iframe
+ %coreattrs;
+ longdesc %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ src %URI; #IMPLIED
+ frameborder (1|0) "1"
+ marginwidth %Pixels; #IMPLIED
+ marginheight %Pixels; #IMPLIED
+ scrolling (yes|no|auto) "auto"
+ align %ImgAlign; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ >
+
+<!-- alternate content container for non frame-based rendering -->
+
+<!ELEMENT noframes %Flow;>
+<!ATTLIST noframes
+ %attrs;
+ >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Flow;>
+<!ATTLIST body
+ %attrs;
+ onload %Script; #IMPLIED
+ onunload %Script; #IMPLIED
+ background %URI; #IMPLIED
+ bgcolor %Color; #IMPLIED
+ text %Color; #IMPLIED
+ link %Color; #IMPLIED
+ vlink %Color; #IMPLIED
+ alink %Color; #IMPLIED
+ >
+
+<!ELEMENT div %Flow;> <!-- generic language/style container -->
+<!ATTLIST div
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Headings =========================================-->
+
+<!--
+ There are six levels of headings from h1 (the most important)
+ to h6 (the least important).
+-->
+
+<!ELEMENT h1 %Inline;>
+<!ATTLIST h1
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list bullet styles -->
+
+<!ENTITY % ULStyle "(disc|square|circle)">
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+ %attrs;
+ type %ULStyle; #IMPLIED
+ compact (compact) #IMPLIED
+ >
+
+<!-- Ordered list numbering style
+
+ 1 arabic numbers 1, 2, 3, ...
+ a lower alpha a, b, c, ...
+ A upper alpha A, B, C, ...
+ i lower roman i, ii, iii, ...
+ I upper roman I, II, III, ...
+
+ The style is applied to the sequence number which by default
+ is reset to 1 for the first list item in an ordered list.
+-->
+<!ENTITY % OLStyle "CDATA">
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+ %attrs;
+ type %OLStyle; #IMPLIED
+ compact (compact) #IMPLIED
+ start %Number; #IMPLIED
+ >
+
+<!-- single column list (DEPRECATED) -->
+<!ELEMENT menu (li)+>
+<!ATTLIST menu
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- multiple column list (DEPRECATED) -->
+<!ELEMENT dir (li)+>
+<!ATTLIST dir
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
+<!ENTITY % LIStyle "CDATA">
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+ %attrs;
+ type %LIStyle; #IMPLIED
+ value %Number; #IMPLIED
+ >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+ %attrs;
+ >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+ %attrs;
+ >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
+<!ATTLIST address
+ %attrs;
+ >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+ %attrs;
+ align (left|center|right) #IMPLIED
+ noshade (noshade) #IMPLIED
+ size %Pixels; #IMPLIED
+ width %Length; #IMPLIED
+ >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding
+ "img|object|applet|big|small|sub|sup|font|basefont" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+ %attrs;
+ width %Number; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Flow;>
+<!ATTLIST blockquote
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!--=================== Text alignment ===================================-->
+
+<!-- center content -->
+<!ELEMENT center %Flow;>
+<!ATTLIST center
+ %attrs;
+ >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+<!--
+ ins/del are allowed in block and inline content, but its
+ inappropriate to include block content within an ins element
+ occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+ %attrs;
+ %focus;
+ charset %Charset; #IMPLIED
+ type %ContentType; #IMPLIED
+ name NMTOKEN #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+ %attrs;
+ >
+
+<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+ %coreattrs;
+ %events;
+ lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #REQUIRED
+ >
+
+<!ELEMENT br EMPTY> <!-- forced line break -->
+<!ATTLIST br
+ %coreattrs;
+ clear (left|all|right|none) "none"
+ >
+
+<!ELEMENT em %Inline;> <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;> <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;> <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;> <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;> <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;> <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;> <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;> <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;> <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;> <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;> <!-- inlined quote -->
+<!ATTLIST q
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;> <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;> <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;> <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;> <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!ELEMENT u %Inline;> <!-- underline -->
+<!ATTLIST u %attrs;>
+
+<!ELEMENT s %Inline;> <!-- strike-through -->
+<!ATTLIST s %attrs;>
+
+<!ELEMENT strike %Inline;> <!-- strike-through -->
+<!ATTLIST strike %attrs;>
+
+<!ELEMENT basefont EMPTY> <!-- base font size -->
+<!ATTLIST basefont
+ id ID #IMPLIED
+ size CDATA #REQUIRED
+ color %Color; #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!ELEMENT font %Inline;> <!-- local change to font -->
+<!ATTLIST font
+ %coreattrs;
+ %i18n;
+ size CDATA #IMPLIED
+ color %Color; #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!--==================== Object ======================================-->
+<!--
+ object is used to embed objects as part of HTML pages.
+ param elements should precede other content. Parameters
+ can also be expressed as attribute/value pairs on the
+ object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST object
+ %attrs;
+ declare (declare) #IMPLIED
+ classid %URI; #IMPLIED
+ codebase %URI; #IMPLIED
+ data %URI; #IMPLIED
+ type %ContentType; #IMPLIED
+ codetype %ContentType; #IMPLIED
+ archive %UriList; #IMPLIED
+ standby %Text; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ tabindex %Number; #IMPLIED
+ align %ImgAlign; #IMPLIED
+ border %Pixels; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!--
+ param is used to supply a named property value.
+ In XML it would seem natural to follow RDF and support an
+ abbreviated syntax where the param elements are replaced
+ by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+ id ID #IMPLIED
+ name CDATA #REQUIRED
+ value CDATA #IMPLIED
+ valuetype (data|ref|object) "data"
+ type %ContentType; #IMPLIED
+ >
+
+<!--=================== Java applet ==================================-->
+<!--
+ One of code or object attributes must be present.
+ Place param elements before other content.
+-->
+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST applet
+ %coreattrs;
+ codebase %URI; #IMPLIED
+ archive CDATA #IMPLIED
+ code CDATA #IMPLIED
+ object CDATA #IMPLIED
+ alt %Text; #IMPLIED
+ name NMTOKEN #IMPLIED
+ width %Length; #REQUIRED
+ height %Length; #REQUIRED
+ align %ImgAlign; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!--=================== Images ===========================================-->
+
+<!--
+ To avoid accessibility problems for people who aren't
+ able to see the image, you should provide a text
+ description using the alt and longdesc attributes.
+ In addition, avoid the use of server-side image maps.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+ %attrs;
+ src %URI; #REQUIRED
+ alt %Text; #REQUIRED
+ name NMTOKEN #IMPLIED
+ longdesc %URI; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ ismap (ismap) #IMPLIED
+ align %ImgAlign; #IMPLIED
+ border %Length; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!-- usemap points to a map element which may be in this document
+ or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+ separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+ %i18n;
+ %events;
+ id ID #REQUIRED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED
+ name CDATA #IMPLIED
+ >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+ %attrs;
+ %focus;
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ href %URI; #IMPLIED
+ nohref (nohref) #IMPLIED
+ alt %Text; #REQUIRED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--================ Forms ===============================================-->
+
+<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+ %attrs;
+ action %URI; #REQUIRED
+ method (get|post) "get"
+ name NMTOKEN #IMPLIED
+ enctype %ContentType; "application/x-www-form-urlencoded"
+ onsubmit %Script; #IMPLIED
+ onreset %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ accept-charset %Charsets; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--
+ Each label must not contain more than ONE field
+ Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+ %attrs;
+ for IDREF #IMPLIED
+ accesskey %Character; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ >
+
+<!ENTITY % InputType
+ "(text | password | checkbox |
+ radio | submit | reset |
+ file | hidden | image | button)"
+ >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY> <!-- form control -->
+<!ATTLIST input
+ %attrs;
+ %focus;
+ type %InputType; "text"
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ checked (checked) #IMPLIED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ size CDATA #IMPLIED
+ maxlength %Number; #IMPLIED
+ src %URI; #IMPLIED
+ alt CDATA #IMPLIED
+ usemap %URI; #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ align %ImgAlign; #IMPLIED
+ >
+
+<!ELEMENT select (optgroup|option)+> <!-- option selector -->
+<!ATTLIST select
+ %attrs;
+ name CDATA #IMPLIED
+ size %Number; #IMPLIED
+ multiple (multiple) #IMPLIED
+ disabled (disabled) #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!ELEMENT optgroup (option)+> <!-- option group -->
+<!ATTLIST optgroup
+ %attrs;
+ disabled (disabled) #IMPLIED
+ label %Text; #REQUIRED
+ >
+
+<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
+<!ATTLIST option
+ %attrs;
+ selected (selected) #IMPLIED
+ disabled (disabled) #IMPLIED
+ label %Text; #IMPLIED
+ value CDATA #IMPLIED
+ >
+
+<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
+<!ATTLIST textarea
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ rows %Number; #REQUIRED
+ cols %Number; #REQUIRED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!--
+ The fieldset element is used to group form fields.
+ Only one legend element should occur in the content
+ and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+ %attrs;
+ >
+
+<!ENTITY % LAlign "(top|bottom|left|right)">
+
+<!ELEMENT legend %Inline;> <!-- fieldset label -->
+<!ATTLIST legend
+ %attrs;
+ accesskey %Character; #IMPLIED
+ align %LAlign; #IMPLIED
+ >
+
+<!--
+ Content is %Flow; excluding a, form, form controls, iframe
+-->
+<!ELEMENT button %button.content;> <!-- push button -->
+<!ATTLIST button
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ type (button|submit|reset) "submit"
+ disabled (disabled) #IMPLIED
+ >
+
+<!-- single-line text input control (DEPRECATED) -->
+<!ELEMENT isindex EMPTY>
+<!ATTLIST isindex
+ %coreattrs;
+ %i18n;
+ prompt %Text; #IMPLIED
+ >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+ "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+
+<!-- horizontal placement of table relative to document -->
+<!ENTITY % TAlign "(left|center|right)">
+
+<!-- horizontal alignment attributes for cell contents
+
+ char alignment char, e.g. char=':'
+ charoff offset for alignment char
+-->
+<!ENTITY % cellhalign
+ "align (left|center|right|justify|char) #IMPLIED
+ char %Character; #IMPLIED
+ charoff %Length; #IMPLIED"
+ >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+ "valign (top|middle|bottom|baseline) #IMPLIED"
+ >
+
+<!ELEMENT table
+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption %Inline;>
+<!ELEMENT thead (tr)+>
+<!ELEMENT tfoot (tr)+>
+<!ELEMENT tbody (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col EMPTY>
+<!ELEMENT tr (th|td)+>
+<!ELEMENT th %Flow;>
+<!ELEMENT td %Flow;>
+
+<!ATTLIST table
+ %attrs;
+ summary %Text; #IMPLIED
+ width %Length; #IMPLIED
+ border %Pixels; #IMPLIED
+ frame %TFrame; #IMPLIED
+ rules %TRules; #IMPLIED
+ cellspacing %Length; #IMPLIED
+ cellpadding %Length; #IMPLIED
+ align %TAlign; #IMPLIED
+ bgcolor %Color; #IMPLIED
+ >
+
+<!ENTITY % CAlign "(top|bottom|left|right)">
+
+<!ATTLIST caption
+ %attrs;
+ align %CAlign; #IMPLIED
+ >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+ width=64 width in screen pixels
+ width=0.5* relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ Use thead to duplicate headers when breaking table
+ across page boundaries, or for static headers when
+ tbody sections are rendered in scrolling panel.
+
+ Use tfoot to duplicate footers when breaking table
+ across page boundaries, or for static footers when
+ tbody sections are rendered in scrolling panel.
+
+ Use multiple tbody sections when rules are needed
+ between groups of table rows.
+-->
+<!ATTLIST thead
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tfoot
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tbody
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tr
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ bgcolor %Color; #IMPLIED
+ >
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor %Color; #IMPLIED
+ width %Length; #IMPLIED
+ height %Length; #IMPLIED
+ >
+
+<!ATTLIST td
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor %Color; #IMPLIED
+ width %Length; #IMPLIED
+ height %Length; #IMPLIED
+ >
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement01-expected.txt
new file mode 100644
index 0000000..3087d19
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement01.js
new file mode 100644
index 0000000..78550a8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The accessKey attribute is a single character access key to give
+ access to the form control.
+
+ Retrieve the accessKey attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89647724
+*/
+function HTMLAnchorElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vaccesskey;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vaccesskey = testNode.accessKey;
+
+ assertEquals("accessKeyLink","g",vaccesskey);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement01.xhtml
new file mode 100644
index 0000000..9c0e727
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement01.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement02-expected.txt
new file mode 100644
index 0000000..75a6cfc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement02.js
new file mode 100644
index 0000000..1ec05cc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The charset attribute indicates the character encoding of the linked
+ resource.
+
+ Retrieve the charset attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67619266
+*/
+function HTMLAnchorElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vcharset;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcharset = testNode.charset;
+
+ assertEquals("charsetLink","US-ASCII",vcharset);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement02.xhtml
new file mode 100644
index 0000000..9ecfd89
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement02.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement03-expected.txt
new file mode 100644
index 0000000..cca6905
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement03.js
new file mode 100644
index 0000000..93f3d00
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The coords attribute is a comma-seperated list of lengths, defining
+ an active region geometry.
+
+ Retrieve the coords attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92079539
+*/
+function HTMLAnchorElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vcoords;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcoords = testNode.coords;
+
+ assertEquals("coordsLink","0,0,100,100",vcoords);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement03.xhtml
new file mode 100644
index 0000000..424f1e8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement03.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement04-expected.txt
new file mode 100644
index 0000000..30dc5f5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement04.js
new file mode 100644
index 0000000..291c521
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement04.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The href attribute contains the URL of the linked resource.
+
+ Retrieve the href attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88517319
+*/
+function HTMLAnchorElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vhref;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vhref = testNode.href;
+
+ assertURIEquals("hrefLink",null,null,null,"submit.gif",null,null,null,null,vhref);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement04.xhtml
new file mode 100644
index 0000000..155ce9a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement04.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement05-expected.txt
new file mode 100644
index 0000000..7f2bcba
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement05.js
new file mode 100644
index 0000000..d992366
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement05.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The hreflang attribute contains the language code of the linked resource.
+
+ Retrieve the hreflang attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87358513
+*/
+function HTMLAnchorElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vhreflink;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vhreflink = testNode.hreflang;
+
+ assertEquals("hreflangLink","en",vhreflink);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement05.xhtml
new file mode 100644
index 0000000..5249c3e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement05.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement06-expected.txt
new file mode 100644
index 0000000..ecf5716
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement06.js
new file mode 100644
index 0000000..853f6f9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement06.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute contains the anchor name.
+
+ Retrieve the name attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32783304
+*/
+function HTMLAnchorElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.name;
+
+ assertEquals("nameLink","Anchor",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement06.xhtml
new file mode 100644
index 0000000..46b72de
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement06.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement07-expected.txt
new file mode 100644
index 0000000..b3ba9cf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement07.js
new file mode 100644
index 0000000..aeea05e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement07.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The rel attribute contains the forward link type.
+
+ Retrieve the rel attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-3815891
+*/
+function HTMLAnchorElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vrel;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vrel = testNode.rel;
+
+ assertEquals("relLink","GLOSSARY",vrel);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement07.xhtml
new file mode 100644
index 0000000..23571a9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement07.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement08-expected.txt
new file mode 100644
index 0000000..cc47998
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement08.js
new file mode 100644
index 0000000..d685536
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement08.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The rev attribute contains the reverse link type
+
+ Retrieve the rev attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58259771
+*/
+function HTMLAnchorElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vrev;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vrev = testNode.rev;
+
+ assertEquals("revLink","STYLESHEET",vrev);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement08.xhtml
new file mode 100644
index 0000000..6dc0692
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement08.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement09-expected.txt
new file mode 100644
index 0000000..5c0e014
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement09.js
new file mode 100644
index 0000000..2d1349d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement09.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The shape attribute contains the shape of the active area.
+
+ Retrieve the shape attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49899808
+*/
+function HTMLAnchorElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vshape;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vshape = testNode.shape;
+
+ assertEquals("shapeLink","rect",vshape);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement09.xhtml
new file mode 100644
index 0000000..66f206e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement09.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement10-expected.txt
new file mode 100644
index 0000000..8a855c6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement10.js
new file mode 100644
index 0000000..5817792
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement10.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The tabIndex attribute contains an index that represents the elements
+ position in the tabbing order.
+
+ Retrieve the tabIndex attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41586466
+*/
+function HTMLAnchorElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vtabindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtabindex = testNode.tabIndex;
+
+ assertEquals("tabIndexLink",22,vtabindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement10.xhtml
new file mode 100644
index 0000000..4d31604
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement10.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement11-expected.txt
new file mode 100644
index 0000000..0d8ef5d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement11.js
new file mode 100644
index 0000000..15d53c6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement11.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor2");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The target attribute specifies the frame to render the source in.
+
+ Retrieve the target attribute and examine it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6414197
+*/
+function HTMLAnchorElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement11") != null) return;
+ var nodeList;
+ var testNode;
+ var vtarget;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor2");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtarget = testNode.target;
+
+ assertEquals("targetLink","dynamic",vtarget);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement11.xhtml
new file mode 100644
index 0000000..675fcb3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement11.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a href="./pix/submit.gif" target="dynamic">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement12-expected.txt
new file mode 100644
index 0000000..16bb95a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement12.js
new file mode 100644
index 0000000..69d4124
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement12.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute contains the advisory content model.
+
+ Retrieve the type attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63938221
+*/
+function HTMLAnchorElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement12") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","image/gif",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement12.xhtml
new file mode 100644
index 0000000..13f1e32
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement12.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement13-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement13-expected.txt
new file mode 100644
index 0000000..54ae378
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement13.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement13.js
new file mode 100644
index 0000000..64e1fc1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement13.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+HTMLAnchorElement.blur should surrender input focus.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-65068939
+*/
+function HTMLAnchorElement13() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement13") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ testNode.blur();
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement13.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement13.xhtml
new file mode 100644
index 0000000..44cc4ef
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement13.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement13.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement14-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement14-expected.txt
new file mode 100644
index 0000000..09a2bae
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement14-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement14
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement14.js b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement14.js
new file mode 100644
index 0000000..5f8600d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement14.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAnchorElement14";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+HTMLAnchorElement.focus should capture input focus.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47150313
+*/
+function HTMLAnchorElement14() {
+ var success;
+ if(checkInitialization(builder, "HTMLAnchorElement14") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ testNode.focus();
+
+}
+
+
+
+
+function runTest() {
+ HTMLAnchorElement14();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement14.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement14.xhtml
new file mode 100644
index 0000000..43d6553
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAnchorElement14.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAnchorElement14.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement01-expected.txt
new file mode 100644
index 0000000..58a873f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement01.js
new file mode 100644
index 0000000..6b1fb93
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "applet");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the alignment of the object(Vertically
+ or Horizontally) with respect to its surrounding text.
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8049912
+*/
+function HTMLAppletElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLAppletElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "applet");
+ nodeList = doc.getElementsByTagName("applet");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","bottom".toLowerCase(),valign.toLowerCase());
+
+}
+
+
+
+
+function runTest() {
+ HTMLAppletElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement01.xhtml
new file mode 100644
index 0000000..3eeb42d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement01.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Applet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAppletElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<applet align="bottom" alt="Applet Number 1" archive="" code="org/w3c/domts/DOMTSApplet.class" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement02-expected.txt
new file mode 100644
index 0000000..22b5aa0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement02.js
new file mode 100644
index 0000000..b6af5b8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "applet");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The alt attribute specifies the alternate text for user agents not
+ rendering the normal context of this element.
+
+ Retrieve the alt attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58610064
+*/
+function HTMLAppletElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLAppletElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var valt;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "applet");
+ nodeList = doc.getElementsByTagName("applet");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valt = testNode.alt;
+
+ assertEquals("altLink","Applet Number 1",valt);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAppletElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement02.xhtml
new file mode 100644
index 0000000..74279dc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement02.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Applet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAppletElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<applet align="bottom" alt="Applet Number 1" archive="" code="org/w3c/domts/DOMTSApplet.class" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement03-expected.txt
new file mode 100644
index 0000000..2607a9d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement03.js
new file mode 100644
index 0000000..edd5a52
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement03.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "applet");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The archive attribute specifies a comma-seperated archive list.
+
+ Retrieve the archive attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14476360
+*/
+function HTMLAppletElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLAppletElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var varchive;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "applet");
+ nodeList = doc.getElementsByTagName("applet");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ varchive = testNode.archive;
+
+ assertEquals("archiveLink","",varchive);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAppletElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement03.xhtml
new file mode 100644
index 0000000..7742b9f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement03.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Applet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAppletElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<applet align="bottom" alt="Applet Number 1" archive="" code="org/w3c/domts/DOMTSApplet.class" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement04-expected.txt
new file mode 100644
index 0000000..a33a193
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement04.js
new file mode 100644
index 0000000..c454fb7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement04.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "applet");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The code attribute specifies the applet class file.
+
+ Retrieve the code attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61509645
+*/
+function HTMLAppletElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLAppletElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vcode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "applet");
+ nodeList = doc.getElementsByTagName("applet");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcode = testNode.code;
+
+ assertEquals("codeLink","org/w3c/domts/DOMTSApplet.class",vcode);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAppletElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement04.xhtml
new file mode 100644
index 0000000..7cabd68
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement04.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Applet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAppletElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<applet align="bottom" alt="Applet Number 1" archive="" code="org/w3c/domts/DOMTSApplet.class" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement05-expected.txt
new file mode 100644
index 0000000..165c794
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement05.js
new file mode 100644
index 0000000..e9dde62
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement05.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "applet");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The codeBase attribute specifies an optional base URI for the applet.
+
+ Retrieve the codeBase attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6581160
+*/
+function HTMLAppletElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLAppletElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vcodebase;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "applet");
+ nodeList = doc.getElementsByTagName("applet");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcodebase = testNode.codeBase;
+
+ assertEquals("codebase","applets",vcodebase);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAppletElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement05.xhtml
new file mode 100644
index 0000000..ac4e278
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement05.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Applet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAppletElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<applet align="bottom" alt="Applet Number 1" archive="" code="org/w3c/domts/DOMTSApplet.class" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement06-expected.txt
new file mode 100644
index 0000000..6bc404f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement06.js
new file mode 100644
index 0000000..f24ece2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement06.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "applet");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The height attribute overrides the height.
+
+ Retrieve the height attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90184867
+*/
+function HTMLAppletElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLAppletElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vheight;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "applet");
+ nodeList = doc.getElementsByTagName("applet");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vheight = testNode.height;
+
+ assertEquals("heightLink","306",vheight);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAppletElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement06.xhtml
new file mode 100644
index 0000000..72f3fa1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement06.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Applet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAppletElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<applet align="bottom" alt="Applet Number 1" archive="" code="org/w3c/domts/DOMTSApplet.class" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement07-expected.txt
new file mode 100644
index 0000000..0adbc72
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement07.js
new file mode 100644
index 0000000..745d4c0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement07.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "applet");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The hspace attribute specifies the horizontal space to the left
+ and right of this image, applet, or object.
+
+ Retrieve the hspace attribute and examine it's value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-1567197
+*/
+function HTMLAppletElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLAppletElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vhspace;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "applet");
+ nodeList = doc.getElementsByTagName("applet");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vhspace = testNode.hspace;
+
+ assertEquals("hspaceLink",0,vhspace);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAppletElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement07.xhtml
new file mode 100644
index 0000000..39ae201
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement07.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Applet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAppletElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<applet align="bottom" alt="Applet Number 1" archive="" code="org/w3c/domts/DOMTSApplet.class" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement08-expected.txt
new file mode 100644
index 0000000..e3cb0c2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement08.js
new file mode 100644
index 0000000..cf22147
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement08.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "applet");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute specifies the name of the applet.
+
+ Retrieve the name attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39843695
+*/
+function HTMLAppletElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLAppletElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "applet");
+ nodeList = doc.getElementsByTagName("applet");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.name;
+
+ assertEquals("nameLink","applet1",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAppletElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement08.xhtml
new file mode 100644
index 0000000..589bb19
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement08.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Applet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAppletElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<applet align="bottom" alt="Applet Number 1" archive="" code="org/w3c/domts/DOMTSApplet.class" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement09-expected.txt
new file mode 100644
index 0000000..2102faf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement09.js
new file mode 100644
index 0000000..d22fa3d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement09.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "applet");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The vspace attribute specifies the vertical space above and below
+ this image, applet or object.
+
+ Retrieve the vspace attribute and examine it's value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-22637173
+*/
+function HTMLAppletElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLAppletElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vvspace;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "applet");
+ nodeList = doc.getElementsByTagName("applet");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vvspace = testNode.vspace;
+
+ assertEquals("vspaceLink",0,vvspace);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAppletElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement09.xhtml
new file mode 100644
index 0000000..f463338
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement09.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Applet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAppletElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<applet align="bottom" alt="Applet Number 1" archive="" code="org/w3c/domts/DOMTSApplet.class" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement10-expected.txt
new file mode 100644
index 0000000..57262d8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement10.js
new file mode 100644
index 0000000..b055c97
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement10.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "applet");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The width attribute overrides the regular width.
+
+ Retrieve the width attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16526327
+*/
+function HTMLAppletElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLAppletElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "applet");
+ nodeList = doc.getElementsByTagName("applet");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink","301",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAppletElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement10.xhtml
new file mode 100644
index 0000000..bfd5a6c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement10.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Applet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAppletElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<applet align="bottom" alt="Applet Number 1" archive="" code="org/w3c/domts/DOMTSApplet.class" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement11-expected.txt
new file mode 100644
index 0000000..6bf881e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement11.js
new file mode 100644
index 0000000..cfa82ee
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement11.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAppletElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "applet2");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The object attribute specifies the serialized applet file.
+
+ Retrieve the object attribute and examine its value.
+
+* @author NIST
+* @author Rick Rivello
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93681523
+*/
+function HTMLAppletElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLAppletElement11") != null) return;
+ var nodeList;
+ var testNode;
+ var vobject;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "applet2");
+ nodeList = doc.getElementsByTagName("applet");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vobject = testNode.object;
+
+ assertEquals("object","DOMTSApplet.dat",vobject);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAppletElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement11.xhtml
new file mode 100644
index 0000000..8fad771
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAppletElement11.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Applet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAppletElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<applet align="bottom" alt="Applet Number 1" archive="" object="DOMTSApplet.dat" codebase="applets" height="306" hspace="0" name="applet1" vspace="0" width="301"></applet>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement01-expected.txt
new file mode 100644
index 0000000..aa452c3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement01.js
new file mode 100644
index 0000000..3ca6a43
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "area");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The accessKey attribute specifies a single character access key to
+ give access to the control form.
+
+ Retrieve the accessKey attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57944457
+*/
+function HTMLAreaElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLAreaElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vaccesskey;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "area");
+ nodeList = doc.getElementsByTagName("area");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vaccesskey = testNode.accessKey;
+
+ assertEquals("alignLink","a",vaccesskey);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAreaElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement01.xhtml
new file mode 100644
index 0000000..50613ac
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement01.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Area</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAreaElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/>
+</map>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement02-expected.txt
new file mode 100644
index 0000000..0bc7e17
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement02.js
new file mode 100644
index 0000000..33ef24b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "area");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The alt attribute specifies an alternate text for user agents not
+ rendering the normal content of this element.
+
+ Retrieve the alt attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39775416
+*/
+function HTMLAreaElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLAreaElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var valt;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "area");
+ nodeList = doc.getElementsByTagName("area");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valt = testNode.alt;
+
+ assertEquals("altLink","Domain",valt);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAreaElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement02.xhtml
new file mode 100644
index 0000000..4eadb26
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement02.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Area</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAreaElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/>
+</map>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement03-expected.txt
new file mode 100644
index 0000000..7aad4e2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement03.js
new file mode 100644
index 0000000..474f0df
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "area");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The coords attribute specifies a comma-seperated list of lengths,
+ defining an active region geometry.
+
+ Retrieve the coords attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66021476
+*/
+function HTMLAreaElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLAreaElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vcoords;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "area");
+ nodeList = doc.getElementsByTagName("area");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcoords = testNode.coords;
+
+ assertEquals("coordsLink","0,2,45,45",vcoords);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAreaElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement03.xhtml
new file mode 100644
index 0000000..b6053c9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement03.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Area</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAreaElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/>
+</map>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement04-expected.txt
new file mode 100644
index 0000000..932930a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement04.js
new file mode 100644
index 0000000..f051b09
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement04.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "area");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The href attribute specifies the URI of the linked resource.
+
+ Retrieve the href attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-34672936
+*/
+function HTMLAreaElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLAreaElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vhref;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "area");
+ nodeList = doc.getElementsByTagName("area");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vhref = testNode.href;
+
+ assertURIEquals("hrefLink",null,null,null,"dletter.html",null,null,null,null,vhref);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAreaElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement04.xhtml
new file mode 100644
index 0000000..8f94da7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement04.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Area</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAreaElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/>
+</map>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement05-expected.txt
new file mode 100644
index 0000000..abec51e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement05.js
new file mode 100644
index 0000000..fbadf82
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement05.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "area");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The noHref attribute specifies that this area is inactive.
+
+ Retrieve the noHref attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61826871
+*/
+function HTMLAreaElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLAreaElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vnohref;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "area");
+ nodeList = doc.getElementsByTagName("area");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vnohref = testNode.noHref;
+
+ assertFalse("noHrefLink",vnohref);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAreaElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement05.xhtml
new file mode 100644
index 0000000..8fba265
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement05.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Area</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAreaElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/>
+</map>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement06-expected.txt
new file mode 100644
index 0000000..087850f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement06.js
new file mode 100644
index 0000000..79b5165
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement06.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "area");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The shape attribute specifies the shape of the active area.
+
+ Retrieve the shape attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85683271
+*/
+function HTMLAreaElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLAreaElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vshape;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "area");
+ nodeList = doc.getElementsByTagName("area");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vshape = testNode.shape;
+
+ assertEquals("shapeLink","rect".toLowerCase(),vshape.toLowerCase());
+
+}
+
+
+
+
+function runTest() {
+ HTMLAreaElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement06.xhtml
new file mode 100644
index 0000000..13dc4df
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement06.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Area</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAreaElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/>
+</map>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement07-expected.txt
new file mode 100644
index 0000000..8ee02f3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement07.js
new file mode 100644
index 0000000..a74f649
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement07.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "area");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The tabIndex attribute specifies an index that represents the element's
+ position in the tabbing order.
+
+ Retrieve the tabIndex attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8722121
+*/
+function HTMLAreaElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLAreaElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vtabindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "area");
+ nodeList = doc.getElementsByTagName("area");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtabindex = testNode.tabIndex;
+
+ assertEquals("tabIndexLink",10,vtabindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAreaElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement07.xhtml
new file mode 100644
index 0000000..d126a48
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement07.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Area</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAreaElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/>
+</map>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement08-expected.txt
new file mode 100644
index 0000000..6f918bb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement08.js
new file mode 100644
index 0000000..976887d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement08.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLAreaElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "area2");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The target specifies the frame to render the resource in.
+
+ Retrieve the target attribute and examine it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46054682
+*/
+function HTMLAreaElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLAreaElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vtarget;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "area2");
+ nodeList = doc.getElementsByTagName("area");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtarget = testNode.target;
+
+ assertEquals("targetLink","dynamic",vtarget);
+
+}
+
+
+
+
+function runTest() {
+ HTMLAreaElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement08.xhtml
new file mode 100644
index 0000000..523b12d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLAreaElement08.xhtml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Area</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLAreaElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area href="./files/dletter.html" alt="Domain" target="dynamic"/>
+</map>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBRElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBRElement01-expected.txt
new file mode 100644
index 0000000..414b311
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBRElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBRElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBRElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLBRElement01.js
new file mode 100644
index 0000000..26802d9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBRElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBRElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "br");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The clear attribute specifies control flow of text around floats.
+
+ Retrieve the clear attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82703081
+*/
+function HTMLBRElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLBRElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vclear;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "br");
+ nodeList = doc.getElementsByTagName("br");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclear = testNode.clear;
+
+ assertEquals("clearLink","none",vclear);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBRElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBRElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBRElement01.xhtml
new file mode 100644
index 0000000..807018c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBRElement01.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBRElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br clear="none"/>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBaseElement01-expected.txt
new file mode 100644
index 0000000..512df40
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBaseElement01.xhtml
new file mode 100644
index 0000000..f0f1781
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseElement01.xhtml
@@ -0,0 +1,849 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<base href="about:blank"/>
+<title>NIST DOM HTML Test - Base</title>
+<script type='text/javascript'><![CDATA[/*
+Copyright (c) 2001-2005 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+ //
+ // WebKit modification: 13-May-2007
+ //
+ // Inform the test controller that this test has a text-format result and so should
+ // be dumped as text.
+ //
+ if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+
+ function assertSize(descr, expected, actual) {
+ var actualSize;
+ assertNotNull(descr, actual);
+ actualSize = actual.length;
+ assertEquals(descr, expected, actualSize);
+ }
+
+ function assertEqualsAutoCase(context, descr, expected, actual) {
+ if (builder.contentType == "text/html") {
+ if(context == "attribute") {
+ assertEquals(descr, expected.toLowerCase(), actual.toLowerCase());
+ } else {
+ assertEquals(descr, expected.toUpperCase(), actual);
+ }
+ } else {
+ assertEquals(descr, expected, actual);
+ }
+ }
+
+
+ function assertEqualsCollectionAutoCase(context, descr, expected, actual) {
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+
+ //
+ // if there length is the same, then every entry in the expected list
+ // must appear once and only once in the actual list
+ var expectedLen = expected.length;
+ var expectedValue;
+ var actualLen = actual.length;
+ var i;
+ var j;
+ var matches;
+ for(i = 0; i < expectedLen; i++) {
+ matches = 0;
+ expectedValue = expected[i];
+ for(j = 0; j < actualLen; j++) {
+ if (builder.contentType == "text/html") {
+ if (context == "attribute") {
+ if (expectedValue.toLowerCase() == actual[j].toLowerCase()) {
+ matches++;
+ }
+ } else {
+ if (expectedValue.toUpperCase() == actual[j]) {
+ matches++;
+ }
+ }
+ } else {
+ if(expectedValue == actual[j]) {
+ matches++;
+ }
+ }
+ }
+ if(matches == 0) {
+ assert(descr + ": No match found for " + expectedValue,false);
+ }
+ if(matches > 1) {
+ assert(descr + ": Multiple matches found for " + expectedValue, false);
+ }
+ }
+ }
+
+ function assertEqualsCollection(descr, expected, actual) {
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ //
+ // if there length is the same, then every entry in the expected list
+ // must appear once and only once in the actual list
+ var expectedLen = expected.length;
+ var expectedValue;
+ var actualLen = actual.length;
+ var i;
+ var j;
+ var matches;
+ for(i = 0; i < expectedLen; i++) {
+ matches = 0;
+ expectedValue = expected[i];
+ for(j = 0; j < actualLen; j++) {
+ if(expectedValue == actual[j]) {
+ matches++;
+ }
+ }
+ if(matches == 0) {
+ assert(descr + ": No match found for " + expectedValue,false);
+ }
+ if(matches > 1) {
+ assert(descr + ": Multiple matches found for " + expectedValue, false);
+ }
+ }
+ }
+
+
+ function assertEqualsListAutoCase(context, descr, expected, actual) {
+ var minLength = expected.length;
+ if (actual.length < minLength) {
+ minLength = actual.length;
+ }
+ //
+ for(var i = 0; i < minLength; i++) {
+ assertEqualsAutoCase(context, descr, expected[i], actual[i]);
+ }
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ }
+
+
+ function assertEqualsList(descr, expected, actual) {
+ var minLength = expected.length;
+ if (actual.length < minLength) {
+ minLength = actual.length;
+ }
+ //
+ for(var i = 0; i < minLength; i++) {
+ if(expected[i] != actual[i]) {
+ assertEquals(descr, expected[i], actual[i]);
+ }
+ }
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ }
+
+ function assertInstanceOf(descr, type, obj) {
+ if(type == "Attr") {
+ assertEquals(descr,2,obj.nodeType);
+ var specd = obj.specified;
+ }
+ }
+
+ function assertSame(descr, expected, actual) {
+ if(expected != actual) {
+ assertEquals(descr, expected.nodeType, actual.nodeType);
+ assertEquals(descr, expected.nodeValue, actual.nodeValue);
+ }
+ }
+
+ function assertURIEquals(assertID, scheme, path, host, file, name, query, fragment, isAbsolute, actual) {
+ //
+ // URI must be non-null
+ assertNotNull(assertID, actual);
+
+ var uri = actual;
+
+ var lastPound = actual.lastIndexOf("#");
+ var actualFragment = "";
+ if(lastPound != -1) {
+ //
+ // substring before pound
+ //
+ uri = actual.substring(0,lastPound);
+ actualFragment = actual.substring(lastPound+1);
+ }
+ if(fragment != null) assertEquals(assertID,fragment, actualFragment);
+
+ var lastQuestion = uri.lastIndexOf("?");
+ var actualQuery = "";
+ if(lastQuestion != -1) {
+ //
+ // substring before pound
+ //
+ uri = actual.substring(0,lastQuestion);
+ actualQuery = actual.substring(lastQuestion+1);
+ }
+ if(query != null) assertEquals(assertID, query, actualQuery);
+
+ var firstColon = uri.indexOf(":");
+ var firstSlash = uri.indexOf("/");
+ var actualPath = uri;
+ var actualScheme = "";
+ if(firstColon != -1 && firstColon < firstSlash) {
+ actualScheme = uri.substring(0,firstColon);
+ actualPath = uri.substring(firstColon + 1);
+ }
+
+ if(scheme != null) {
+ assertEquals(assertID, scheme, actualScheme);
+ }
+
+ if(path != null) {
+ assertEquals(assertID, path, actualPath);
+ }
+
+ if(host != null) {
+ var actualHost = "";
+ if(actualPath.substring(0,2) == "//") {
+ var termSlash = actualPath.substring(2).indexOf("/") + 2;
+ actualHost = actualPath.substring(0,termSlash);
+ }
+ assertEquals(assertID, host, actualHost);
+ }
+
+ if(file != null || name != null) {
+ var actualFile = actualPath;
+ var finalSlash = actualPath.lastIndexOf("/");
+ if(finalSlash != -1) {
+ actualFile = actualPath.substring(finalSlash+1);
+ }
+ if (file != null) {
+ assertEquals(assertID, file, actualFile);
+ }
+ if (name != null) {
+ var actualName = actualFile;
+ var finalDot = actualFile.lastIndexOf(".");
+ if (finalDot != -1) {
+ actualName = actualName.substring(0, finalDot);
+ }
+ assertEquals(assertID, name, actualName);
+ }
+ }
+
+ if(isAbsolute != null) {
+ assertEquals(assertID, isAbsolute, actualPath.substring(0,1) == "/");
+ }
+ }
+
+
+// size() used by assertSize element
+function size(collection)
+{
+ return collection.length;
+}
+
+function same(expected, actual)
+{
+ return expected === actual;
+}
+
+function equalsAutoCase(context, expected, actual) {
+ if (builder.contentType == "text/html") {
+ if (context == "attribute") {
+ return expected.toLowerCase() == actual;
+ }
+ return expected.toUpperCase() == actual;
+ }
+ return expected == actual;
+}
+
+function toLowerArray(src) {
+ var newArray = new Array();
+ var i;
+ for (i = 0; i < src.length; i++) {
+ newArray[i] = src[i].toLowerCase();
+ }
+ return newArray;
+}
+
+function createTempURI(scheme) {
+ if (scheme == "http") {
+ return "http://localhost:8080/webdav/tmp" + Math.floor(Math.random() * 100000) + ".xml";
+ }
+ return "file:///tmp/domts" + Math.floor(Math.random() * 100000) + ".xml";
+}
+
+
+
+function EventMonitor() {
+ this.atEvents = new Array();
+ this.bubbledEvents = new Array();
+ this.capturedEvents = new Array();
+ this.allEvents = new Array();
+}
+
+EventMonitor.prototype.handleEvent = function(evt) {
+ switch(evt.eventPhase) {
+ case 1:
+ monitor.capturedEvents[monitor.capturedEvents.length] = evt;
+ break;
+
+ case 2:
+ monitor.atEvents[monitor.atEvents.length] = evt;
+ break;
+
+ case 3:
+ monitor.bubbledEvents[monitor.bubbledEvents.length] = evt;
+ break;
+ }
+ monitor.allEvents[monitor.allEvents.length] = evt;
+}
+
+function DOMErrorImpl(err) {
+ this.severity = err.severity;
+ this.message = err.message;
+ this.type = err.type;
+ this.relatedException = err.relatedException;
+ this.relatedData = err.relatedData;
+ this.location = err.location;
+}
+
+
+
+function DOMErrorMonitor() {
+ this.allErrors = new Array();
+}
+
+DOMErrorMonitor.prototype.handleError = function(err) {
+ errorMonitor.allErrors[errorMonitor.allErrors.length] = new DOMErrorImpl(err);
+}
+
+DOMErrorMonitor.prototype.assertLowerSeverity = function(id, severity) {
+ var i;
+ for (i = 0; i < this.allErrors.length; i++) {
+ if (this.allErrors[i].severity >= severity) {
+ assertEquals(id, severity - 1, this.allErrors[i].severity);
+ }
+ }
+}
+
+function UserDataNotification(operation, key, data, src, dst) {
+ this.operation = operation;
+ this.key = key;
+ this.data = data;
+ this.src = src;
+ this.dst = dst;
+}
+
+function UserDataMonitor() {
+ this.allNotifications = new Array();
+}
+
+UserDataMonitor.prototype.handle = function(operation, key, data, src, dst) {
+ userDataMonitor.allNotifications[userDataMonitor.allNotifications.length] =
+ new UserDataNotification(operation, key, data, src, dst);
+}
+
+
+
+function HTMLBuilder() {
+ this.contentType = "application/xhtml+xml";
+ this.supportedContentTypes = [ "application/xhtml+xml" ];
+
+ this.supportsAsyncChange = false;
+ this.async = false;
+ this.fixedAttributeNames = [
+ "validating", "expandEntityReferences", "coalescing",
+ "signed", "hasNullString", "ignoringElementContentWhitespace", "namespaceAware", "ignoringComments", "schemaValidating"];
+
+ this.fixedAttributeValues = [false, true, false, true, true , false, true, false, false ];
+ this.configurableAttributeNames = [ ];
+ this.configurableAttributeValues = [ ];
+ this.initializationError = null;
+ this.initializationFatalError = null;
+ this.skipIncompatibleTests = true;
+ this.documentURLs = new Array();
+ this.documentVarnames = new Array();
+}
+
+HTMLBuilder.prototype.hasFeature = function(feature, version) {
+ return document.implementation.hasFeature(feature, version);
+}
+
+HTMLBuilder.prototype.getImplementation = function() {
+ return document.implementation;
+}
+
+HTMLBuilder.prototype.preload = function(frame, varname, url) {
+ var i;
+ this.documentVarnames[this.documentVarnames.length] = varname;
+ this.documentURLs[this.documentURLs.length] = url;
+ if (this.documentURLs.length > 1) {
+ //
+ // if all the urls are not the same
+ //
+ for (i = 1; i < this.documentURLs.length; i++) {
+ if (this.documentURLs[i] != this.documentURLs[0]) {
+ throw "Tests with multiple loads of different documents are not currently supported";
+ }
+ }
+ }
+ return 1;
+}
+
+HTMLBuilder.prototype.cloneNode = function(srcNode, doc) {
+ var clone = null;
+ switch(srcNode.nodeType) {
+ //
+ // element
+ case 1:
+ clone = doc.createElementNS(srcNode.namespaceURI, srcNode.nodeName);
+ var attrs = srcNode.attributes;
+ for(var i = 0; i < attrs.length; i++) {
+ var srcAttr = attrs.item(i);
+ clone.setAttributeNS(srcAttr.namespaceURI, srcAttr.nodeName, srcAttr.nodeValue);
+ }
+ var srcChild = srcNode.firstChild;
+ while(srcChild != null) {
+ var cloneChild = this.cloneNode(srcChild, doc);
+ if (cloneChild != null) {
+ clone.appendChild(cloneChild);
+ }
+ srcChild = srcChild.nextSibling;
+ }
+ break;
+
+ case 3:
+ clone = doc.createTextNode(srcNode.nodeValue);
+ break;
+
+ case 4:
+ clone = doc.createCDATASection(srcNode.nodeValue);
+ break;
+
+ case 5:
+ clone = doc.createEntityReference(srcNode.nodeName);
+ break;
+
+ case 7:
+ clone = doc.createProcessingInstruction(srcNode.target, srcNode.data);
+ break;
+
+ case 8:
+ clone = doc.createComment(srcNode.nodeValue);
+ break;
+ }
+ return clone;
+
+}
+
+
+HTMLBuilder.prototype.load = function(frame, varname, url) {
+ if (this.documentVarnames[0] == varname) {
+ return document;
+ }
+ //
+ //
+ // not a perfect way to do this
+ // Document.cloneNode is implementation dependent but exists in L1
+ // and implemented in IE. The alternative brute force copy
+ // only works in L2 or higher implementations and can't copy
+ // entity and notation definitions, etc.
+ var clone = null;
+ try {
+ clone = document.cloneNode(true);
+ } catch(ex) {
+ }
+ if (clone == null) {
+ clone = document.implementation.createDocument(
+ document.documentElement.namespaceURI,
+ document.documentElement.nodeName,
+ null);
+ //
+ // Work-around since
+ // Safari does not create document element
+ // create document.
+ if (clone.documentElement == null) {
+ clone.appendChild(clone.createElementNS(
+ document.documentElement.namespaceURI,
+ document.documentElement.nodeName));
+ }
+ var attrs = document.documentElement.attributes;
+ for(var i = 0; i < attrs.length; i++) {
+ var srcAttr = attrs.item(i);
+ clone.documentElement.setAttributeNS(
+ srcAttr.namespaceURI, srcAttr.nodeName, srcAttr.nodeValue);
+ }
+
+ var srcNode = document.firstChild;
+ while(srcNode != null && srcNode.nodeType != 1) {
+ if (srcNode.nodeType != 10) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ clone.insertBefore(cloneNode, clone.documentElement);
+ }
+ srcNode = srcNode.nextSibling;
+ }
+ srcNode = document.documentElement.nextSibling;
+ while(srcNode != null) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ clone.appendChild(cloneNode);
+ srcNode = srcNode.nextSibling;
+ }
+ srcNode = document.documentElement.firstChild;
+ while(srcNode != null) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ if (cloneNode != null) {
+ clone.documentElement.appendChild(cloneNode);
+ }
+ srcNode = srcNode.nextSibling;
+ }
+ }
+ return clone;
+}
+
+HTMLBuilder.prototype.getImplementationAttribute = function(attr) {
+ for (var i = 0; i < this.fixedAttributeNames.length; i++) {
+ if (this.fixedAttributeNames[i] == attr) {
+ return this.fixedAttributeValues[i];
+ }
+ }
+ throw "Unrecognized implementation attribute: " + attr;
+}
+
+
+HTMLBuilder.prototype.setImplementationAttribute = function(attribute, value) {
+ var supported = this.getImplementationAttribute(attribute);
+ if (supported != value) {
+ this.initializationError = "HTML loader does not support " + attribute + "=" + value;
+ }
+}
+
+HTMLBuilder.prototype.canSetImplementationAttribute = function(attribute, value) {
+ var supported = this.getImplementationAttribute(attribute);
+ return (supported == value);
+}
+
+
+
+
+function createConfiguredBuilder() {
+ return new HTMLBuilder();
+}
+
+function catchInitializationError(buildr, ex) {
+ buildr.initializationError = ex;
+ buildr.initializationFatalError = ex;
+}
+
+
+function checkFeature(feature, version)
+{
+ if (!builder.hasFeature(feature, version))
+ {
+ //
+ // don't throw exception so that users can select to ignore the precondition
+ //
+ builder.initializationError = "builder does not support feature " + feature + " version " + version;
+ }
+}
+
+function setResult(resultType, message) {
+ var testName = getTargetURI();
+ document.title = testName + ":" + resultType;
+ var xhtmlNS = "http://www.w3.org/1999/xhtml";
+ var newBody = document.createElementNS(xhtmlNS, "body");
+ var newTable = document.createElementNS(xhtmlNS, "table");
+ newTable.width = "100%";
+ newTable.border = "1";
+ newBody.appendChild(newTable);
+ var testRow = newTable.insertRow(-1);
+ var testDiv1 = testRow.insertCell(-1);
+ testDiv1.appendChild(document.createTextNode("Test"));
+ var testDiv2 = testRow.insertCell(-1);
+ testDiv2.appendChild(document.createTextNode(testName));
+ var statusRow = newTable.insertRow(-1);
+ var statusDiv1 = statusRow.insertCell(-1);
+ statusDiv1.appendChild(document.createTextNode("Status"));
+ var statusDiv2 = statusRow.insertCell(-1);
+ var style = "color:green";
+ if (resultType == null) {
+ statusDiv2.appendChild(document.createTextNode("Success"));
+ } else {
+ statusDiv2.appendChild(document.createTextNode(resultType));
+ if (resultType == "skip") {
+ style = "color:blue";
+ } else {
+ style = "color:red";
+ }
+ }
+ newTable.setAttributeNS(null, "style", style);
+ if (message != null) {
+ var messageRow = newTable.insertRow(-1);
+ var messageDiv1 = messageRow.insertCell(-1);
+ messageDiv1.appendChild(document.createTextNode("Message"));
+ var messageDiv2 = messageRow.insertCell(-1);
+ messageDiv2.appendChild(document.createTextNode(message));
+ }
+ document.body.parentNode.replaceChild(newBody, document.body);
+ if (parent != window && typeof(parent.setResult) != 'undefined') {
+ parent.setResult(testName, resultType, message);
+ }
+}
+
+function checkInitialization(buildr, testname) {
+ return buildr.initializationError;
+}
+
+function preload(docRef, varname, href) {
+ return builder.preload(docRef, varname, href);
+}
+
+
+function load(docRef, varname, href) {
+ return builder.load(docRef, varname, href);
+}
+
+
+function getImplementationAttribute(attr) {
+ return builder.getImplementationAttribute(attr);
+}
+
+
+function setImplementationAttribute(attribute, value) {
+ builder.setImplementationAttribute(attribute, value);
+}
+
+function createXPathEvaluator(doc) {
+ try {
+ return doc.getFeature("XPath", null);
+ }
+ catch(ex) {
+ }
+ return doc;
+}
+
+
+function getImplementation() {
+ return builder.getImplementation();
+}
+
+function assertEquals(id, expected, actual) {
+ var myActual;
+ if (expected != actual) {
+ myActual = actual;
+ if (actual == null) {
+ myActual = "null";
+ }
+ throw "failure:" + id + ": assertEquals failed, actual " + actual + ", expected " + expected + ".";
+ }
+}
+
+function assertNull(id, actual) {
+ if (actual != null) {
+ throw "failure:" + id + ": assertNull failed, actual " + actual;
+ }
+}
+
+
+function assertTrue(id, actual) {
+ if (!actual) {
+ throw "failure:" + id + ": assertTrue failed";
+ }
+}
+
+
+function assertFalse(id, actual) {
+ if (actual) {
+ throw "failure:" + id + ": assertTrue failed";
+ }
+}
+
+function assertNotNull(id, actual) {
+ if (actual == null) {
+ throw "failure:" + id + ": assertNotNull failed";
+ }
+}
+
+function fail(id) {
+ throw "failure:" + id + ": fail";
+}
+
+
+
+function getSuffix(contentType) {
+ switch(contentType) {
+ case "text/html":
+ return ".html";
+
+ case "text/xml":
+ return ".xml";
+
+ case "image/svg+xml":
+ return ".svg";
+
+ case "text/mathml":
+ return ".mml";
+ }
+ return ".xhtml";
+}
+
+
+function getResourceURI(name, scheme, contentType) {
+ var base = document.documentURI;
+ if (base == null) {
+ base = "";
+ } else {
+ base = base.substring(0, base.lastIndexOf('/') + 1) + "files/";
+ }
+ return base + name + getSuffix(contentType);
+}
+
+
+
+function startTest() {
+ //
+ // invoke test setup
+ //
+ setUpPage();
+
+ try {
+ runTest();
+ if (builder.initializationError == null) {
+ setResult(null, null);
+ } else {
+ setResult("skip", builder.initializationError);
+ }
+ } catch(ex) {
+ if (typeof(ex.substring) != 'undefined' && ex.substring(0, 8) == "failure:") {
+ setResult("failure", ex.substring(8));
+ } else {
+ setResult("error", ex);
+ }
+ }
+}]]></script><script charset='UTF-8' type='text/javascript'>
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "base");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The href attribute specifies the base URI.
+
+ Retrieve the href attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-65382887
+*/
+function HTMLBaseElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLBaseElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vhref;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "base");
+ nodeList = doc.getElementsByTagName("base");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vhref = testNode.href;
+
+ assertEquals("hrefLink","about:blank",vhref);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBaseElement01();
+}
+</script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>Some Text</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBaseElement02-expected.txt
new file mode 100644
index 0000000..fe2f8e4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBaseElement02.xhtml
new file mode 100644
index 0000000..63942bc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseElement02.xhtml
@@ -0,0 +1,852 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<base href="about:blank" target="Frame1"/>
+<title>NIST DOM HTML Test - Base2</title>
+<script type='text/javascript'><![CDATA[/*
+Copyright (c) 2001-2005 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+ //
+ // WebKit modification: 13-May-2007
+ //
+ // Inform the test controller that this test has a text-format result and so should
+ // be dumped as text.
+ //
+ if (window.layoutTestController)
+ layoutTestController.dumpAsText();
+
+ function assertSize(descr, expected, actual) {
+ var actualSize;
+ assertNotNull(descr, actual);
+ actualSize = actual.length;
+ assertEquals(descr, expected, actualSize);
+ }
+
+ function assertEqualsAutoCase(context, descr, expected, actual) {
+ if (builder.contentType == "text/html") {
+ if(context == "attribute") {
+ assertEquals(descr, expected.toLowerCase(), actual.toLowerCase());
+ } else {
+ assertEquals(descr, expected.toUpperCase(), actual);
+ }
+ } else {
+ assertEquals(descr, expected, actual);
+ }
+ }
+
+
+ function assertEqualsCollectionAutoCase(context, descr, expected, actual) {
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+
+ //
+ // if there length is the same, then every entry in the expected list
+ // must appear once and only once in the actual list
+ var expectedLen = expected.length;
+ var expectedValue;
+ var actualLen = actual.length;
+ var i;
+ var j;
+ var matches;
+ for(i = 0; i < expectedLen; i++) {
+ matches = 0;
+ expectedValue = expected[i];
+ for(j = 0; j < actualLen; j++) {
+ if (builder.contentType == "text/html") {
+ if (context == "attribute") {
+ if (expectedValue.toLowerCase() == actual[j].toLowerCase()) {
+ matches++;
+ }
+ } else {
+ if (expectedValue.toUpperCase() == actual[j]) {
+ matches++;
+ }
+ }
+ } else {
+ if(expectedValue == actual[j]) {
+ matches++;
+ }
+ }
+ }
+ if(matches == 0) {
+ assert(descr + ": No match found for " + expectedValue,false);
+ }
+ if(matches > 1) {
+ assert(descr + ": Multiple matches found for " + expectedValue, false);
+ }
+ }
+ }
+
+ function assertEqualsCollection(descr, expected, actual) {
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ //
+ // if there length is the same, then every entry in the expected list
+ // must appear once and only once in the actual list
+ var expectedLen = expected.length;
+ var expectedValue;
+ var actualLen = actual.length;
+ var i;
+ var j;
+ var matches;
+ for(i = 0; i < expectedLen; i++) {
+ matches = 0;
+ expectedValue = expected[i];
+ for(j = 0; j < actualLen; j++) {
+ if(expectedValue == actual[j]) {
+ matches++;
+ }
+ }
+ if(matches == 0) {
+ assert(descr + ": No match found for " + expectedValue,false);
+ }
+ if(matches > 1) {
+ assert(descr + ": Multiple matches found for " + expectedValue, false);
+ }
+ }
+ }
+
+
+ function assertEqualsListAutoCase(context, descr, expected, actual) {
+ var minLength = expected.length;
+ if (actual.length < minLength) {
+ minLength = actual.length;
+ }
+ //
+ for(var i = 0; i < minLength; i++) {
+ assertEqualsAutoCase(context, descr, expected[i], actual[i]);
+ }
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ }
+
+
+ function assertEqualsList(descr, expected, actual) {
+ var minLength = expected.length;
+ if (actual.length < minLength) {
+ minLength = actual.length;
+ }
+ //
+ for(var i = 0; i < minLength; i++) {
+ if(expected[i] != actual[i]) {
+ assertEquals(descr, expected[i], actual[i]);
+ }
+ }
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ }
+
+ function assertInstanceOf(descr, type, obj) {
+ if(type == "Attr") {
+ assertEquals(descr,2,obj.nodeType);
+ var specd = obj.specified;
+ }
+ }
+
+ function assertSame(descr, expected, actual) {
+ if(expected != actual) {
+ assertEquals(descr, expected.nodeType, actual.nodeType);
+ assertEquals(descr, expected.nodeValue, actual.nodeValue);
+ }
+ }
+
+ function assertURIEquals(assertID, scheme, path, host, file, name, query, fragment, isAbsolute, actual) {
+ //
+ // URI must be non-null
+ assertNotNull(assertID, actual);
+
+ var uri = actual;
+
+ var lastPound = actual.lastIndexOf("#");
+ var actualFragment = "";
+ if(lastPound != -1) {
+ //
+ // substring before pound
+ //
+ uri = actual.substring(0,lastPound);
+ actualFragment = actual.substring(lastPound+1);
+ }
+ if(fragment != null) assertEquals(assertID,fragment, actualFragment);
+
+ var lastQuestion = uri.lastIndexOf("?");
+ var actualQuery = "";
+ if(lastQuestion != -1) {
+ //
+ // substring before pound
+ //
+ uri = actual.substring(0,lastQuestion);
+ actualQuery = actual.substring(lastQuestion+1);
+ }
+ if(query != null) assertEquals(assertID, query, actualQuery);
+
+ var firstColon = uri.indexOf(":");
+ var firstSlash = uri.indexOf("/");
+ var actualPath = uri;
+ var actualScheme = "";
+ if(firstColon != -1 && firstColon < firstSlash) {
+ actualScheme = uri.substring(0,firstColon);
+ actualPath = uri.substring(firstColon + 1);
+ }
+
+ if(scheme != null) {
+ assertEquals(assertID, scheme, actualScheme);
+ }
+
+ if(path != null) {
+ assertEquals(assertID, path, actualPath);
+ }
+
+ if(host != null) {
+ var actualHost = "";
+ if(actualPath.substring(0,2) == "//") {
+ var termSlash = actualPath.substring(2).indexOf("/") + 2;
+ actualHost = actualPath.substring(0,termSlash);
+ }
+ assertEquals(assertID, host, actualHost);
+ }
+
+ if(file != null || name != null) {
+ var actualFile = actualPath;
+ var finalSlash = actualPath.lastIndexOf("/");
+ if(finalSlash != -1) {
+ actualFile = actualPath.substring(finalSlash+1);
+ }
+ if (file != null) {
+ assertEquals(assertID, file, actualFile);
+ }
+ if (name != null) {
+ var actualName = actualFile;
+ var finalDot = actualFile.lastIndexOf(".");
+ if (finalDot != -1) {
+ actualName = actualName.substring(0, finalDot);
+ }
+ assertEquals(assertID, name, actualName);
+ }
+ }
+
+ if(isAbsolute != null) {
+ assertEquals(assertID, isAbsolute, actualPath.substring(0,1) == "/");
+ }
+ }
+
+
+// size() used by assertSize element
+function size(collection)
+{
+ return collection.length;
+}
+
+function same(expected, actual)
+{
+ return expected === actual;
+}
+
+function equalsAutoCase(context, expected, actual) {
+ if (builder.contentType == "text/html") {
+ if (context == "attribute") {
+ return expected.toLowerCase() == actual;
+ }
+ return expected.toUpperCase() == actual;
+ }
+ return expected == actual;
+}
+
+function toLowerArray(src) {
+ var newArray = new Array();
+ var i;
+ for (i = 0; i < src.length; i++) {
+ newArray[i] = src[i].toLowerCase();
+ }
+ return newArray;
+}
+
+function createTempURI(scheme) {
+ if (scheme == "http") {
+ return "http://localhost:8080/webdav/tmp" + Math.floor(Math.random() * 100000) + ".xml";
+ }
+ return "file:///tmp/domts" + Math.floor(Math.random() * 100000) + ".xml";
+}
+
+
+
+function EventMonitor() {
+ this.atEvents = new Array();
+ this.bubbledEvents = new Array();
+ this.capturedEvents = new Array();
+ this.allEvents = new Array();
+}
+
+EventMonitor.prototype.handleEvent = function(evt) {
+ switch(evt.eventPhase) {
+ case 1:
+ monitor.capturedEvents[monitor.capturedEvents.length] = evt;
+ break;
+
+ case 2:
+ monitor.atEvents[monitor.atEvents.length] = evt;
+ break;
+
+ case 3:
+ monitor.bubbledEvents[monitor.bubbledEvents.length] = evt;
+ break;
+ }
+ monitor.allEvents[monitor.allEvents.length] = evt;
+}
+
+function DOMErrorImpl(err) {
+ this.severity = err.severity;
+ this.message = err.message;
+ this.type = err.type;
+ this.relatedException = err.relatedException;
+ this.relatedData = err.relatedData;
+ this.location = err.location;
+}
+
+
+
+function DOMErrorMonitor() {
+ this.allErrors = new Array();
+}
+
+DOMErrorMonitor.prototype.handleError = function(err) {
+ errorMonitor.allErrors[errorMonitor.allErrors.length] = new DOMErrorImpl(err);
+}
+
+DOMErrorMonitor.prototype.assertLowerSeverity = function(id, severity) {
+ var i;
+ for (i = 0; i < this.allErrors.length; i++) {
+ if (this.allErrors[i].severity >= severity) {
+ assertEquals(id, severity - 1, this.allErrors[i].severity);
+ }
+ }
+}
+
+function UserDataNotification(operation, key, data, src, dst) {
+ this.operation = operation;
+ this.key = key;
+ this.data = data;
+ this.src = src;
+ this.dst = dst;
+}
+
+function UserDataMonitor() {
+ this.allNotifications = new Array();
+}
+
+UserDataMonitor.prototype.handle = function(operation, key, data, src, dst) {
+ userDataMonitor.allNotifications[userDataMonitor.allNotifications.length] =
+ new UserDataNotification(operation, key, data, src, dst);
+}
+
+
+
+function HTMLBuilder() {
+ this.contentType = "application/xhtml+xml";
+ this.supportedContentTypes = [ "application/xhtml+xml" ];
+
+ this.supportsAsyncChange = false;
+ this.async = false;
+ this.fixedAttributeNames = [
+ "validating", "expandEntityReferences", "coalescing",
+ "signed", "hasNullString", "ignoringElementContentWhitespace", "namespaceAware", "ignoringComments", "schemaValidating"];
+
+ this.fixedAttributeValues = [false, true, false, true, true , false, true, false, false ];
+ this.configurableAttributeNames = [ ];
+ this.configurableAttributeValues = [ ];
+ this.initializationError = null;
+ this.initializationFatalError = null;
+ this.skipIncompatibleTests = true;
+ this.documentURLs = new Array();
+ this.documentVarnames = new Array();
+}
+
+HTMLBuilder.prototype.hasFeature = function(feature, version) {
+ return document.implementation.hasFeature(feature, version);
+}
+
+HTMLBuilder.prototype.getImplementation = function() {
+ return document.implementation;
+}
+
+HTMLBuilder.prototype.preload = function(frame, varname, url) {
+ var i;
+ this.documentVarnames[this.documentVarnames.length] = varname;
+ this.documentURLs[this.documentURLs.length] = url;
+ if (this.documentURLs.length > 1) {
+ //
+ // if all the urls are not the same
+ //
+ for (i = 1; i < this.documentURLs.length; i++) {
+ if (this.documentURLs[i] != this.documentURLs[0]) {
+ throw "Tests with multiple loads of different documents are not currently supported";
+ }
+ }
+ }
+ return 1;
+}
+
+HTMLBuilder.prototype.cloneNode = function(srcNode, doc) {
+ var clone = null;
+ switch(srcNode.nodeType) {
+ //
+ // element
+ case 1:
+ clone = doc.createElementNS(srcNode.namespaceURI, srcNode.nodeName);
+ var attrs = srcNode.attributes;
+ for(var i = 0; i < attrs.length; i++) {
+ var srcAttr = attrs.item(i);
+ clone.setAttributeNS(srcAttr.namespaceURI, srcAttr.nodeName, srcAttr.nodeValue);
+ }
+ var srcChild = srcNode.firstChild;
+ while(srcChild != null) {
+ var cloneChild = this.cloneNode(srcChild, doc);
+ if (cloneChild != null) {
+ clone.appendChild(cloneChild);
+ }
+ srcChild = srcChild.nextSibling;
+ }
+ break;
+
+ case 3:
+ clone = doc.createTextNode(srcNode.nodeValue);
+ break;
+
+ case 4:
+ clone = doc.createCDATASection(srcNode.nodeValue);
+ break;
+
+ case 5:
+ clone = doc.createEntityReference(srcNode.nodeName);
+ break;
+
+ case 7:
+ clone = doc.createProcessingInstruction(srcNode.target, srcNode.data);
+ break;
+
+ case 8:
+ clone = doc.createComment(srcNode.nodeValue);
+ break;
+ }
+ return clone;
+
+}
+
+
+HTMLBuilder.prototype.load = function(frame, varname, url) {
+ if (this.documentVarnames[0] == varname) {
+ return document;
+ }
+ //
+ //
+ // not a perfect way to do this
+ // Document.cloneNode is implementation dependent but exists in L1
+ // and implemented in IE. The alternative brute force copy
+ // only works in L2 or higher implementations and can't copy
+ // entity and notation definitions, etc.
+ var clone = null;
+ try {
+ clone = document.cloneNode(true);
+ } catch(ex) {
+ }
+ if (clone == null) {
+ clone = document.implementation.createDocument(
+ document.documentElement.namespaceURI,
+ document.documentElement.nodeName,
+ null);
+ //
+ // Work-around since
+ // Safari does not create document element
+ // create document.
+ if (clone.documentElement == null) {
+ clone.appendChild(clone.createElementNS(
+ document.documentElement.namespaceURI,
+ document.documentElement.nodeName));
+ }
+ var attrs = document.documentElement.attributes;
+ for(var i = 0; i < attrs.length; i++) {
+ var srcAttr = attrs.item(i);
+ clone.documentElement.setAttributeNS(
+ srcAttr.namespaceURI, srcAttr.nodeName, srcAttr.nodeValue);
+ }
+
+ var srcNode = document.firstChild;
+ while(srcNode != null && srcNode.nodeType != 1) {
+ if (srcNode.nodeType != 10) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ clone.insertBefore(cloneNode, clone.documentElement);
+ }
+ srcNode = srcNode.nextSibling;
+ }
+ srcNode = document.documentElement.nextSibling;
+ while(srcNode != null) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ clone.appendChild(cloneNode);
+ srcNode = srcNode.nextSibling;
+ }
+ srcNode = document.documentElement.firstChild;
+ while(srcNode != null) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ if (cloneNode != null) {
+ clone.documentElement.appendChild(cloneNode);
+ }
+ srcNode = srcNode.nextSibling;
+ }
+ }
+ return clone;
+}
+
+HTMLBuilder.prototype.getImplementationAttribute = function(attr) {
+ for (var i = 0; i < this.fixedAttributeNames.length; i++) {
+ if (this.fixedAttributeNames[i] == attr) {
+ return this.fixedAttributeValues[i];
+ }
+ }
+ throw "Unrecognized implementation attribute: " + attr;
+}
+
+
+HTMLBuilder.prototype.setImplementationAttribute = function(attribute, value) {
+ var supported = this.getImplementationAttribute(attribute);
+ if (supported != value) {
+ this.initializationError = "HTML loader does not support " + attribute + "=" + value;
+ }
+}
+
+HTMLBuilder.prototype.canSetImplementationAttribute = function(attribute, value) {
+ var supported = this.getImplementationAttribute(attribute);
+ return (supported == value);
+}
+
+
+
+
+function createConfiguredBuilder() {
+ return new HTMLBuilder();
+}
+
+function catchInitializationError(buildr, ex) {
+ buildr.initializationError = ex;
+ buildr.initializationFatalError = ex;
+}
+
+
+function checkFeature(feature, version)
+{
+ if (!builder.hasFeature(feature, version))
+ {
+ //
+ // don't throw exception so that users can select to ignore the precondition
+ //
+ builder.initializationError = "builder does not support feature " + feature + " version " + version;
+ }
+}
+
+function setResult(resultType, message) {
+ var testName = getTargetURI();
+ document.title = testName + ":" + resultType;
+ var xhtmlNS = "http://www.w3.org/1999/xhtml";
+ var newBody = document.createElementNS(xhtmlNS, "body");
+ var newTable = document.createElementNS(xhtmlNS, "table");
+ newTable.width = "100%";
+ newTable.border = "1";
+ newBody.appendChild(newTable);
+ var testRow = newTable.insertRow(-1);
+ var testDiv1 = testRow.insertCell(-1);
+ testDiv1.appendChild(document.createTextNode("Test"));
+ var testDiv2 = testRow.insertCell(-1);
+ testDiv2.appendChild(document.createTextNode(testName));
+ var statusRow = newTable.insertRow(-1);
+ var statusDiv1 = statusRow.insertCell(-1);
+ statusDiv1.appendChild(document.createTextNode("Status"));
+ var statusDiv2 = statusRow.insertCell(-1);
+ var style = "color:green";
+ if (resultType == null) {
+ statusDiv2.appendChild(document.createTextNode("Success"));
+ } else {
+ statusDiv2.appendChild(document.createTextNode(resultType));
+ if (resultType == "skip") {
+ style = "color:blue";
+ } else {
+ style = "color:red";
+ }
+ }
+ newTable.setAttributeNS(null, "style", style);
+ if (message != null) {
+ var messageRow = newTable.insertRow(-1);
+ var messageDiv1 = messageRow.insertCell(-1);
+ messageDiv1.appendChild(document.createTextNode("Message"));
+ var messageDiv2 = messageRow.insertCell(-1);
+ messageDiv2.appendChild(document.createTextNode(message));
+ }
+ document.body.parentNode.replaceChild(newBody, document.body);
+ if (parent != window && typeof(parent.setResult) != 'undefined') {
+ parent.setResult(testName, resultType, message);
+ }
+}
+
+function checkInitialization(buildr, testname) {
+ return buildr.initializationError;
+}
+
+function preload(docRef, varname, href) {
+ return builder.preload(docRef, varname, href);
+}
+
+
+function load(docRef, varname, href) {
+ return builder.load(docRef, varname, href);
+}
+
+
+function getImplementationAttribute(attr) {
+ return builder.getImplementationAttribute(attr);
+}
+
+
+function setImplementationAttribute(attribute, value) {
+ builder.setImplementationAttribute(attribute, value);
+}
+
+function createXPathEvaluator(doc) {
+ try {
+ return doc.getFeature("XPath", null);
+ }
+ catch(ex) {
+ }
+ return doc;
+}
+
+
+function getImplementation() {
+ return builder.getImplementation();
+}
+
+function assertEquals(id, expected, actual) {
+ var myActual;
+ if (expected != actual) {
+ myActual = actual;
+ if (actual == null) {
+ myActual = "null";
+ }
+ throw "failure:" + id + ": assertEquals failed, actual " + actual + ", expected " + expected + ".";
+ }
+}
+
+function assertNull(id, actual) {
+ if (actual != null) {
+ throw "failure:" + id + ": assertNull failed, actual " + actual;
+ }
+}
+
+
+function assertTrue(id, actual) {
+ if (!actual) {
+ throw "failure:" + id + ": assertTrue failed";
+ }
+}
+
+
+function assertFalse(id, actual) {
+ if (actual) {
+ throw "failure:" + id + ": assertTrue failed";
+ }
+}
+
+function assertNotNull(id, actual) {
+ if (actual == null) {
+ throw "failure:" + id + ": assertNotNull failed";
+ }
+}
+
+function fail(id) {
+ throw "failure:" + id + ": fail";
+}
+
+
+
+function getSuffix(contentType) {
+ switch(contentType) {
+ case "text/html":
+ return ".html";
+
+ case "text/xml":
+ return ".xml";
+
+ case "image/svg+xml":
+ return ".svg";
+
+ case "text/mathml":
+ return ".mml";
+ }
+ return ".xhtml";
+}
+
+
+function getResourceURI(name, scheme, contentType) {
+ var base = document.documentURI;
+ if (base == null) {
+ base = "";
+ } else {
+ base = base.substring(0, base.lastIndexOf('/') + 1) + "files/";
+ }
+ return base + name + getSuffix(contentType);
+}
+
+
+
+function startTest() {
+ //
+ // invoke test setup
+ //
+ setUpPage();
+
+ try {
+ runTest();
+ if (builder.initializationError == null) {
+ setResult(null, null);
+ } else {
+ setResult("skip", builder.initializationError);
+ }
+ } catch(ex) {
+ if (typeof(ex.substring) != 'undefined' && ex.substring(0, 8) == "failure:") {
+ setResult("failure", ex.substring(8));
+ } else {
+ setResult("error", ex);
+ }
+ }
+}]]></script><script charset='UTF-8' type='text/javascript'>
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "base2");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The target attribute specifies the default target frame.
+
+ Retrieve the target attribute and examine its value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73844298
+*/
+function HTMLBaseElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLBaseElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vtarget;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "base2");
+ nodeList = doc.getElementsByTagName("base");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtarget = testNode.target;
+
+ assertEquals("targetLink","Frame1",vtarget);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBaseElement02();
+}
+</script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<frameset cols="20, 80" onload="loadComplete()">
+<frameset rows="100, 200">
+<frame marginheight="10" marginwidth="5" noresize="noresize" name="Frame1" frameborder="1" scrolling="yes" />
+</frameset>
+<frame />
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement01-expected.txt
new file mode 100644
index 0000000..7891485
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseFontElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement01.js
new file mode 100644
index 0000000..186e110
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseFontElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "basefont");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The color attribute specifies the base font's color.
+
+ Retrieve the color attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302
+*/
+function HTMLBaseFontElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLBaseFontElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcolor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "basefont");
+ nodeList = doc.getElementsByTagName("basefont");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcolor = testNode.color;
+
+ assertEquals("colorLink","#000000",vcolor);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBaseFontElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement01.xhtml
new file mode 100644
index 0000000..fd0d4ce
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement01.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BaseFont</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBaseFontElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<basefont color="#000000" face="arial,helvitica" size="4"/>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement02-expected.txt
new file mode 100644
index 0000000..1f7136f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseFontElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement02.js
new file mode 100644
index 0000000..a8aa314
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement02.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseFontElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "basefont");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The face attribute specifies the base font's face identifier.
+
+ Retrieve the face attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88128969
+*/
+function HTMLBaseFontElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLBaseFontElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vface;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "basefont");
+ nodeList = doc.getElementsByTagName("basefont");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vface = testNode.face;
+
+ assertEquals("faceLink","arial,helvitica",vface);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBaseFontElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement02.xhtml
new file mode 100644
index 0000000..d2360c7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement02.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BaseFont</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBaseFontElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<basefont color="#000000" face="arial,helvitica" size="4"/>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement03-expected.txt
new file mode 100644
index 0000000..ba65cba
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseFontElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement03.js
new file mode 100644
index 0000000..b07e040
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement03.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBaseFontElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "basefont");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The size attribute specifies the base font's size.
+
+ Retrieve the size attribute and examine it's value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-38930424
+*/
+function HTMLBaseFontElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLBaseFontElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vsize;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "basefont");
+ nodeList = doc.getElementsByTagName("basefont");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vsize = testNode.size;
+
+ assertEquals("sizeLink",4,vsize);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBaseFontElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement03.xhtml
new file mode 100644
index 0000000..e1ef0bf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBaseFontElement03.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BaseFont</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBaseFontElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<basefont color="#000000" face="arial,helvitica" size="4"/>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement01-expected.txt
new file mode 100644
index 0000000..c601fa6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement01.js
new file mode 100644
index 0000000..e7ad4e9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "body");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The aLink attribute specifies the color of active links.
+
+ Retrieve the aLink attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59424581
+*/
+function HTMLBodyElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLBodyElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var valink;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "body");
+ nodeList = doc.getElementsByTagName("body");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valink = testNode.aLink;
+
+ assertEquals("aLinkLink","#0000ff",valink);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBodyElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement01.xhtml
new file mode 100644
index 0000000..270f9fd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement01.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<!--
+ WebKit modification: 12-February-2006
+
+ Remove <base> element, because we want to run this test locally. I think this might be
+ a bug in the test suite.
+
+ Filed as http://www.w3.org/Bugs/Public/show_bug.cgi?id=2873
+
+ <base href="http://xw2k.sdct.itl.nist.gov/brady/dom/"/>
+-->
+<title>NIST DOM HTML Test - Body</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBodyElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" alink="#0000ff" background="./pix/back1.gif" bgcolor="#ffff00" link="#ff0000" text="#000000" vlink="#00ffff">
+<p>Hello, World.</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement02-expected.txt
new file mode 100644
index 0000000..9c0330e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement02.js
new file mode 100644
index 0000000..ad6e17b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "body");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The background attribute specifies the URI fo the background texture
+ tile image.
+
+ Retrieve the background attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-37574810
+*/
+function HTMLBodyElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLBodyElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vbackground;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "body");
+ nodeList = doc.getElementsByTagName("body");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vbackground = testNode.background;
+
+ assertEquals("backgroundLink","./pix/back1.gif",vbackground);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBodyElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement02.xhtml
new file mode 100644
index 0000000..e95d76e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement02.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<!--
+ WebKit modification: 12-February-2006
+
+ Remove <base> element, because we want to run this test locally. I think this might be
+ a bug in the test suite.
+
+ Filed as http://www.w3.org/Bugs/Public/show_bug.cgi?id=2873
+
+ <base href="http://xw2k.sdct.itl.nist.gov/brady/dom/"/>
+-->
+<title>NIST DOM HTML Test - Body</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBodyElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" alink="#0000ff" background="./pix/back1.gif" bgcolor="#ffff00" link="#ff0000" text="#000000" vlink="#00ffff">
+<p>Hello, World.</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement03-expected.txt
new file mode 100644
index 0000000..1e6a4a5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement03.js
new file mode 100644
index 0000000..e7e4f41
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement03.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "body");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The bgColor attribute specifies the document background color.
+
+ Retrieve the bgColor attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-24940084
+*/
+function HTMLBodyElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLBodyElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vbgcolor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "body");
+ nodeList = doc.getElementsByTagName("body");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vbgcolor = testNode.bgColor;
+
+ assertEquals("bgColorLink","#ffff00",vbgcolor);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBodyElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement03.xhtml
new file mode 100644
index 0000000..9e98e1e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement03.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<!--
+ WebKit modification: 12-February-2006
+
+ Remove <base> element, because we want to run this test locally. I think this might be
+ a bug in the test suite.
+
+ Filed as http://www.w3.org/Bugs/Public/show_bug.cgi?id=2873
+
+ <base href="http://xw2k.sdct.itl.nist.gov/brady/dom/"/>
+-->
+<title>NIST DOM HTML Test - Body</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBodyElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" alink="#0000ff" background="./pix/back1.gif" bgcolor="#ffff00" link="#ff0000" text="#000000" vlink="#00ffff">
+<p>Hello, World.</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement04-expected.txt
new file mode 100644
index 0000000..961b3ed
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement04.js
new file mode 100644
index 0000000..32b9813
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement04.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "body");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The link attribute specifies the color of links that are not active
+ and unvisited.
+
+ Retrieve the link attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7662206
+*/
+function HTMLBodyElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLBodyElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vlink;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "body");
+ nodeList = doc.getElementsByTagName("body");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlink = testNode.link;
+
+ assertEquals("linkLink","#ff0000",vlink);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBodyElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement04.xhtml
new file mode 100644
index 0000000..6ff2a81
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement04.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<!--
+ WebKit modification: 12-February-2006
+
+ Remove <base> element, because we want to run this test locally. I think this might be
+ a bug in the test suite.
+
+ Filed as http://www.w3.org/Bugs/Public/show_bug.cgi?id=2873
+
+ <base href="http://xw2k.sdct.itl.nist.gov/brady/dom/"/>
+-->
+<title>NIST DOM HTML Test - Body</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBodyElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" alink="#0000ff" background="./pix/back1.gif" bgcolor="#ffff00" link="#ff0000" text="#000000" vlink="#00ffff">
+<p>Hello, World.</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement05-expected.txt
new file mode 100644
index 0000000..99eae2f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement05.js
new file mode 100644
index 0000000..5a0adf1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement05.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "body");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The text attribute specifies the document text color.
+
+ Retrieve the text attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73714763
+*/
+function HTMLBodyElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLBodyElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vtext;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "body");
+ nodeList = doc.getElementsByTagName("body");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtext = testNode.text;
+
+ assertEquals("textLink","#000000",vtext);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBodyElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement05.xhtml
new file mode 100644
index 0000000..42c6fb8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement05.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<!--
+ WebKit modification: 12-February-2006
+
+ Remove <base> element, because we want to run this test locally. I think this might be
+ a bug in the test suite.
+
+ Filed as http://www.w3.org/Bugs/Public/show_bug.cgi?id=2873
+
+ <base href="http://xw2k.sdct.itl.nist.gov/brady/dom/"/>
+-->
+<title>NIST DOM HTML Test - Body</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBodyElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" alink="#0000ff" background="./pix/back1.gif" bgcolor="#ffff00" link="#ff0000" text="#000000" vlink="#00ffff">
+<p>Hello, World.</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement06-expected.txt
new file mode 100644
index 0000000..b1506ba
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement06.js
new file mode 100644
index 0000000..e71c47b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement06.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "body");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The vLink attribute specifies the color of links that have been
+ visited by the user.
+
+ Retrieve the vLink attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83224305
+*/
+function HTMLBodyElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLBodyElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vvlink;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "body");
+ nodeList = doc.getElementsByTagName("body");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vvlink = testNode.vLink;
+
+ assertEquals("vLinkLink","#00ffff",vvlink);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBodyElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement06.xhtml
new file mode 100644
index 0000000..9c3856b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement06.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<!--
+ WebKit modification: 12-February-2006
+
+ Remove <base> element, because we want to run this test locally. I think this might be
+ a bug in the test suite.
+
+ Filed as http://www.w3.org/Bugs/Public/show_bug.cgi?id=2873
+
+ <base href="http://xw2k.sdct.itl.nist.gov/brady/dom/"/>
+-->
+<title>NIST DOM HTML Test - Body</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBodyElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" alink="#0000ff" background="./pix/back1.gif" bgcolor="#ffff00" link="#ff0000" text="#000000" vlink="#00ffff">
+<p>Hello, World.</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement07-expected.txt
new file mode 100644
index 0000000..f6f05d1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement07.js
new file mode 100644
index 0000000..d583c23
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement07.js
@@ -0,0 +1,110 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Checks that Node.isSupported("hTmL", null) returns true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-62018039
+*/
+function HTMLBodyElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLBodyElement07") != null) return;
+ var doc;
+ var body;
+ var state;
+ var version = null;
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ body = doc.body;
+
+ state = body.isSupported("hTmL",version);
+ assertTrue("isSupportedHTML",state);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBodyElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement07.xhtml
new file mode 100644
index 0000000..6d1458d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement07.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBodyElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement08-expected.txt
new file mode 100644
index 0000000..91094bb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement08.js
new file mode 100644
index 0000000..10cc9f9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement08.js
@@ -0,0 +1,109 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Checks that Node.isSupported("hTmL", "2.0") returns true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-62018039
+*/
+function HTMLBodyElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLBodyElement08") != null) return;
+ var doc;
+ var body;
+ var state;
+ var version = "2.0";
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ body = doc.body;
+
+ state = body.isSupported("hTmL",version);
+ assertTrue("isSupportedHTML",state);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBodyElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement08.xhtml
new file mode 100644
index 0000000..bbd36d4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement08.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBodyElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement09-expected.txt
new file mode 100644
index 0000000..1c048ac
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement09.js
new file mode 100644
index 0000000..4877d1a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement09.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Checks that Node.isSupported("xhTmL", null) returns true if hasFeature("XML", null) is true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-62018039
+*/
+function HTMLBodyElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLBodyElement09") != null) return;
+ var doc;
+ var body;
+ var state;
+ var hasXML;
+ var version = null;
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ body = doc.body;
+
+ hasXML = body.isSupported("XML",version);
+ state = body.isSupported("xhTmL",version);
+ assertEquals("isSupportedXHTML",hasXML,state);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBodyElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement09.xhtml
new file mode 100644
index 0000000..a76cd5a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement09.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBodyElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement10-expected.txt
new file mode 100644
index 0000000..286af0e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement10.js
new file mode 100644
index 0000000..41c1e2e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement10.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Checks that Node.isSupported("xhTmL", "2.0") returns true if hasFeature("XML", "2.0") is true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-62018039
+*/
+function HTMLBodyElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLBodyElement10") != null) return;
+ var doc;
+ var body;
+ var state;
+ var hasXML;
+ var version = "2.0";
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ body = doc.body;
+
+ hasXML = body.isSupported("XML",version);
+ state = body.isSupported("xhTmL",version);
+ assertEquals("isSupportedXHTML",hasXML,state);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBodyElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement10.xhtml
new file mode 100644
index 0000000..50f29dd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement10.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBodyElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement11-expected.txt
new file mode 100644
index 0000000..a62b933
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement11.js
new file mode 100644
index 0000000..8617f34
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement11.js
@@ -0,0 +1,110 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Checks that Node.isSupported("cOrE", null) returns true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-62018039
+*/
+function HTMLBodyElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLBodyElement11") != null) return;
+ var doc;
+ var body;
+ var state;
+ var version = null;
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ body = doc.body;
+
+ state = body.isSupported("cOrE",version);
+ assertTrue("isSupportedCore",state);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBodyElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement11.xhtml
new file mode 100644
index 0000000..e7fe40d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement11.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBodyElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement12-expected.txt
new file mode 100644
index 0000000..400a5a0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement12.js
new file mode 100644
index 0000000..005920b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement12.js
@@ -0,0 +1,109 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLBodyElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Checks that Node.isSupported("cOrE", "2.0") returns true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-62018039
+*/
+function HTMLBodyElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLBodyElement12") != null) return;
+ var doc;
+ var body;
+ var state;
+ var version = "2.0";
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ body = doc.body;
+
+ state = body.isSupported("cOrE",version);
+ assertTrue("isSupportedCore",state);
+
+}
+
+
+
+
+function runTest() {
+ HTMLBodyElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement12.xhtml
new file mode 100644
index 0000000..4cfe8ad
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLBodyElement12.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLBodyElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement01-expected.txt
new file mode 100644
index 0000000..7bb2edb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement01.js
new file mode 100644
index 0000000..7fdd39a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement01.js
@@ -0,0 +1,116 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns the FORM element containing this control.
+
+ Retrieve the form attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493
+*/
+function HTMLButtonElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLButtonElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var fNode;
+ var vform;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ fNode = testNode.form;
+
+ vform = fNode.id;
+
+ assertEquals("formLink","form2",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLButtonElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement01.xhtml
new file mode 100644
index 0000000..db1e333
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement01.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLButtonElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement02-expected.txt
new file mode 100644
index 0000000..2e413b3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement02.js
new file mode 100644
index 0000000..f767841
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns null if control in not within the context of
+ form.
+
+ Retrieve the form attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493
+*/
+function HTMLButtonElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLButtonElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vform = testNode.form;
+
+ assertNull("formNullLink",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLButtonElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement02.xhtml
new file mode 100644
index 0000000..5ae3542
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement02.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLButtonElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement03-expected.txt
new file mode 100644
index 0000000..b627688
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement03.js
new file mode 100644
index 0000000..5777ffb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The accessKey attribute returns a single character access key to
+ give access to the form control.
+
+ Retrieve the accessKey attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73169431
+*/
+function HTMLButtonElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLButtonElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vaccesskey;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vaccesskey = testNode.accessKey;
+
+ assertEquals("accessKeyLink","f",vaccesskey);
+
+}
+
+
+
+
+function runTest() {
+ HTMLButtonElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement03.xhtml
new file mode 100644
index 0000000..0986554
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement03.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLButtonElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement04-expected.txt
new file mode 100644
index 0000000..e1785c9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement04.js
new file mode 100644
index 0000000..928eb98
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement04.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The disabled attribute specifies whether the control is unavailable
+ in this context.
+
+ Retrieve the disabled attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92757155
+*/
+function HTMLButtonElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLButtonElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vdisabled;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vdisabled = testNode.disabled;
+
+ assertTrue("disabledLink",vdisabled);
+
+}
+
+
+
+
+function runTest() {
+ HTMLButtonElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement04.xhtml
new file mode 100644
index 0000000..92b555a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement04.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLButtonElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement05-expected.txt
new file mode 100644
index 0000000..4ac6343
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement05.js
new file mode 100644
index 0000000..1801f37
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement05.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute is the form control or object name when submitted
+ with a form.
+
+ Retrieve the name attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11029910
+*/
+function HTMLButtonElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLButtonElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.name;
+
+ assertEquals("nameLink","disabledButton",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLButtonElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement05.xhtml
new file mode 100644
index 0000000..98cf17d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement05.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLButtonElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement06-expected.txt
new file mode 100644
index 0000000..9cfc9d7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement06.js
new file mode 100644
index 0000000..4ea401a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement06.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The tabIndex attribute specifies an index that represents the element's
+ position in the tabbing order.
+
+ Retrieve the tabIndex attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39190908
+*/
+function HTMLButtonElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLButtonElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vtabindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtabindex = testNode.tabIndex;
+
+ assertEquals("tabIndexLink",20,vtabindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLButtonElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement06.xhtml
new file mode 100644
index 0000000..3546f73
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement06.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLButtonElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement07-expected.txt
new file mode 100644
index 0000000..4f83234
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement07.js
new file mode 100644
index 0000000..0ee9e85
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement07.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute specifies the type of button.
+
+ Retrieve the type attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27430092
+*/
+function HTMLButtonElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLButtonElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","reset",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLButtonElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement07.xhtml
new file mode 100644
index 0000000..d64a92c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement07.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLButtonElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement08-expected.txt
new file mode 100644
index 0000000..6fd3a3c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement08.js
new file mode 100644
index 0000000..3b4eba3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement08.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLButtonElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The value attribute specifies the current control value.
+
+ Retrieve the value attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72856782
+*/
+function HTMLButtonElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLButtonElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vvalue = testNode.value;
+
+ assertEquals("valueLink","Reset Disabled Button",vvalue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLButtonElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement08.xhtml
new file mode 100644
index 0000000..a66d2c3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLButtonElement08.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLButtonElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLCollection01-expected.txt
new file mode 100644
index 0000000..dded607
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection01.js b/LayoutTests/dom/xhtml/level2/html/HTMLCollection01.js
new file mode 100644
index 0000000..2e76edc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection01.js
@@ -0,0 +1,121 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "collection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535
+*/
+function HTMLCollection01() {
+ var success;
+ if(checkInitialization(builder, "HTMLCollection01") != null) return;
+ var nodeList;
+ var testNode;
+ var rowNode;
+ var rowsnodeList;
+ var vrowindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "collection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ rowNode = rowsnodeList.item(0);
+ vrowindex = rowNode.rowIndex;
+
+ assertEquals("rowIndexLink",0,vrowindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLCollection01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLCollection01.xhtml
new file mode 100644
index 0000000..6e0c079
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection01.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLCollection01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table id="table-1" border="4" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all">
+<caption>Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" colspan="1" rowspan="1" scope="col" headers="header-1" valign="middle">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" colspan="1" rowspan="1" scope="col" headers="header-2" valign="middle">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLCollection02-expected.txt
new file mode 100644
index 0000000..22cf5e4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection02-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection02
+Status failure
+Message nameIndexLink: assertEquals failed, actual select, expected SELECT.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection02.js b/LayoutTests/dom/xhtml/level2/html/HTMLCollection02.js
new file mode 100644
index 0000000..f8b99e7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection02.js
@@ -0,0 +1,121 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "collection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479
+*/
+function HTMLCollection02() {
+ var success;
+ if(checkInitialization(builder, "HTMLCollection02") != null) return;
+ var nodeList;
+ var testNode;
+ var formNode;
+ var formsnodeList;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "collection");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ formsnodeList = testNode.elements;
+
+ formNode = formsnodeList.namedItem("select1");
+ vname = formNode.nodeName;
+
+ assertEqualsAutoCase("element", "nameIndexLink","SELECT",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLCollection02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLCollection02.xhtml
new file mode 100644
index 0000000..57c80fc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection02.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLCollection02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table id="table-1" border="4" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all">
+<caption>Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" colspan="1" rowspan="1" scope="col" headers="header-1" valign="middle">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" colspan="1" rowspan="1" scope="col" headers="header-2" valign="middle">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLCollection03-expected.txt
new file mode 100644
index 0000000..59914a1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection03.js b/LayoutTests/dom/xhtml/level2/html/HTMLCollection03.js
new file mode 100644
index 0000000..8c22195
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection03.js
@@ -0,0 +1,121 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "collection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976
+*/
+function HTMLCollection03() {
+ var success;
+ if(checkInitialization(builder, "HTMLCollection03") != null) return;
+ var nodeList;
+ var testNode;
+ var formNode;
+ var formsnodeList;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "collection");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ formsnodeList = testNode.elements;
+
+ formNode = formsnodeList.namedItem("selectId");
+ vname = formNode.nodeName;
+
+ assertEqualsAutoCase("element", "nameIndexLink","select",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLCollection03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLCollection03.xhtml
new file mode 100644
index 0000000..8611512
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection03.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLCollection03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table id="table-1" border="4" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all">
+<caption>Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" colspan="1" rowspan="1" scope="col" headers="header-1" valign="middle">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" colspan="1" rowspan="1" scope="col" headers="header-2" valign="middle">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLCollection04-expected.txt
new file mode 100644
index 0000000..c381ada
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection04.js b/LayoutTests/dom/xhtml/level2/html/HTMLCollection04.js
new file mode 100644
index 0000000..83dec64
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection04.js
@@ -0,0 +1,133 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "collection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551
+*/
+function HTMLCollection04() {
+ var success;
+ if(checkInitialization(builder, "HTMLCollection04") != null) return;
+ var nodeList;
+ var testNode;
+ var rowLength1;
+ var rowLength2;
+ var rowsnodeList;
+ var newRow;
+ var vrowindex;
+ var doc;
+ var result = new Array();
+
+ expectedResult = new Array();
+ expectedResult[0] = 4;
+ expectedResult[1] = 5;
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "collection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ rowLength1 = rowsnodeList.length;
+
+ result[result.length] = rowLength1;
+newRow = testNode.insertRow(4);
+ rowLength2 = rowsnodeList.length;
+
+ result[result.length] = rowLength2;
+assertEqualsList("rowIndexLink",expectedResult,result);
+
+}
+
+
+
+
+function runTest() {
+ HTMLCollection04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLCollection04.xhtml
new file mode 100644
index 0000000..e1464a2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection04.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLCollection04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table id="table-1" border="4" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all">
+<caption>Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" colspan="1" rowspan="1" scope="col" headers="header-1" valign="middle">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" colspan="1" rowspan="1" scope="col" headers="header-2" valign="middle">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLCollection05-expected.txt
new file mode 100644
index 0000000..2da774e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection05.js b/LayoutTests/dom/xhtml/level2/html/HTMLCollection05.js
new file mode 100644
index 0000000..5a872de
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection05.js
@@ -0,0 +1,118 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "collection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40057551
+*/
+function HTMLCollection05() {
+ var success;
+ if(checkInitialization(builder, "HTMLCollection05") != null) return;
+ var nodeList;
+ var testNode;
+ var rowsnodeList;
+ var rowLength;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "collection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ rowLength = rowsnodeList.length;
+
+ assertEquals("rowIndexLink",4,rowLength);
+
+}
+
+
+
+
+function runTest() {
+ HTMLCollection05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLCollection05.xhtml
new file mode 100644
index 0000000..3d5fc42
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection05.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLCollection05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table id="table-1" border="4" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all">
+<caption>Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" colspan="1" rowspan="1" scope="col" headers="header-1" valign="middle">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" colspan="1" rowspan="1" scope="col" headers="header-2" valign="middle">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLCollection06-expected.txt
new file mode 100644
index 0000000..b182bca
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection06.js b/LayoutTests/dom/xhtml/level2/html/HTMLCollection06.js
new file mode 100644
index 0000000..c5fc10c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection06.js
@@ -0,0 +1,122 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "collection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ An item(index) method retrieves an item specified by ordinal index
+ (Test for index=0).
+
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6156016
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535
+*/
+function HTMLCollection06() {
+ var success;
+ if(checkInitialization(builder, "HTMLCollection06") != null) return;
+ var nodeList;
+ var testNode;
+ var rowNode;
+ var rowsnodeList;
+ var vrowindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "collection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ rowNode = rowsnodeList.item(0);
+ vrowindex = rowNode.rowIndex;
+
+ assertEquals("rowIndexLink",0,vrowindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLCollection06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLCollection06.xhtml
new file mode 100644
index 0000000..d1643c9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection06.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLCollection06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table id="table-1" border="4" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all">
+<caption>Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" colspan="1" rowspan="1" scope="col" headers="header-1" valign="middle">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" colspan="1" rowspan="1" scope="col" headers="header-2" valign="middle">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLCollection07-expected.txt
new file mode 100644
index 0000000..0291bf7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection07.js b/LayoutTests/dom/xhtml/level2/html/HTMLCollection07.js
new file mode 100644
index 0000000..c10f1fd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection07.js
@@ -0,0 +1,121 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "collection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ An item(index) method retrieves an item specified by ordinal index
+ (Test for index=3).
+
+ Retrieve the first TABLE element and create a HTMLCollection by invoking
+ the "rows" attribute. The item located at ordinal index 3 is further
+ retrieved and its "rowIndex" attribute is examined.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535
+*/
+function HTMLCollection07() {
+ var success;
+ if(checkInitialization(builder, "HTMLCollection07") != null) return;
+ var nodeList;
+ var testNode;
+ var rowNode;
+ var rowsnodeList;
+ var vrowindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "collection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ rowNode = rowsnodeList.item(3);
+ vrowindex = rowNode.rowIndex;
+
+ assertEquals("rowIndexLink",3,vrowindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLCollection07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLCollection07.xhtml
new file mode 100644
index 0000000..68f8dfc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection07.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLCollection07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table id="table-1" border="4" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all">
+<caption>Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" colspan="1" rowspan="1" scope="col" headers="header-1" valign="middle">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" colspan="1" rowspan="1" scope="col" headers="header-2" valign="middle">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLCollection08-expected.txt
new file mode 100644
index 0000000..1bdf45b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection08.js b/LayoutTests/dom/xhtml/level2/html/HTMLCollection08.js
new file mode 100644
index 0000000..d8a8cb1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection08.js
@@ -0,0 +1,121 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "collection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ Nodes in a HTMLCollection object are numbered in tree order.
+ (Depth-first traversal order).
+
+ Retrieve the first TABLE element and create a HTMLCollection by invoking
+ the "rows" attribute. Access the item in the third ordinal index. The
+ resulting rowIndex attribute is examined and should be two.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535
+*/
+function HTMLCollection08() {
+ var success;
+ if(checkInitialization(builder, "HTMLCollection08") != null) return;
+ var nodeList;
+ var testNode;
+ var rowNode;
+ var rowsnodeList;
+ var vrowindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "collection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ rowNode = rowsnodeList.item(2);
+ vrowindex = rowNode.rowIndex;
+
+ assertEquals("rowIndexLink",2,vrowindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLCollection08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLCollection08.xhtml
new file mode 100644
index 0000000..2e771ab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection08.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLCollection08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table id="table-1" border="4" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all">
+<caption>Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" colspan="1" rowspan="1" scope="col" headers="header-1" valign="middle">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" colspan="1" rowspan="1" scope="col" headers="header-2" valign="middle">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLCollection09-expected.txt
new file mode 100644
index 0000000..86d04d8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection09.js b/LayoutTests/dom/xhtml/level2/html/HTMLCollection09.js
new file mode 100644
index 0000000..0f8bc7c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection09.js
@@ -0,0 +1,118 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "collection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33262535
+*/
+function HTMLCollection09() {
+ var success;
+ if(checkInitialization(builder, "HTMLCollection09") != null) return;
+ var nodeList;
+ var testNode;
+ var rowNode;
+ var rowsnodeList;
+ var vrowindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "collection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ rowNode = rowsnodeList.item(5);
+ assertNull("rowIndexLink",rowNode);
+
+}
+
+
+
+
+function runTest() {
+ HTMLCollection09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLCollection09.xhtml
new file mode 100644
index 0000000..a51160b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection09.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLCollection09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table id="table-1" border="4" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all">
+<caption>Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" colspan="1" rowspan="1" scope="col" headers="header-1" valign="middle">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" colspan="1" rowspan="1" scope="col" headers="header-2" valign="middle">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLCollection10-expected.txt
new file mode 100644
index 0000000..2c12ff2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection10-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection10
+Status failure
+Message nameIndexLink: assertEquals failed, actual select, expected SELECT.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection10.js b/LayoutTests/dom/xhtml/level2/html/HTMLCollection10.js
new file mode 100644
index 0000000..40af3c6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection10.js
@@ -0,0 +1,123 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "collection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+ 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 since the id attribute doesn't match.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976
+*/
+function HTMLCollection10() {
+ var success;
+ if(checkInitialization(builder, "HTMLCollection10") != null) return;
+ var nodeList;
+ var testNode;
+ var formNode;
+ var formsnodeList;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "collection");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ formsnodeList = testNode.elements;
+
+ formNode = formsnodeList.namedItem("select1");
+ vname = formNode.nodeName;
+
+ assertEqualsAutoCase("element", "nameIndexLink","SELECT",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLCollection10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLCollection10.xhtml
new file mode 100644
index 0000000..72fc364
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection10.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLCollection10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table id="table-1" border="4" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all">
+<caption>Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" colspan="1" rowspan="1" scope="col" headers="header-1" valign="middle">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" colspan="1" rowspan="1" scope="col" headers="header-2" valign="middle">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLCollection11-expected.txt
new file mode 100644
index 0000000..a48f90b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection11.js b/LayoutTests/dom/xhtml/level2/html/HTMLCollection11.js
new file mode 100644
index 0000000..59e40ff
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection11.js
@@ -0,0 +1,123 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "collection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+ Retrieve the first FORM element and create a HTMLCollection by invoking
+ the elements attribute. The first SELECT element is further retrieved
+ using the elements id attribute.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479
+*/
+function HTMLCollection11() {
+ var success;
+ if(checkInitialization(builder, "HTMLCollection11") != null) return;
+ var nodeList;
+ var testNode;
+ var formNode;
+ var formsnodeList;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "collection");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ formsnodeList = testNode.elements;
+
+ formNode = formsnodeList.namedItem("selectId");
+ vname = formNode.nodeName;
+
+ assertEqualsAutoCase("element", "nameIndexLink","select",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLCollection11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLCollection11.xhtml
new file mode 100644
index 0000000..49369a1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection11.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLCollection11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table id="table-1" border="4" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all">
+<caption>Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" colspan="1" rowspan="1" scope="col" headers="header-1" valign="middle">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" colspan="1" rowspan="1" scope="col" headers="header-2" valign="middle">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLCollection12-expected.txt
new file mode 100644
index 0000000..7c3e99a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection12.js b/LayoutTests/dom/xhtml/level2/html/HTMLCollection12.js
new file mode 100644
index 0000000..1a93919
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection12.js
@@ -0,0 +1,121 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLCollection12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "collection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21069976
+*/
+function HTMLCollection12() {
+ var success;
+ if(checkInitialization(builder, "HTMLCollection12") != null) return;
+ var nodeList;
+ var testNode;
+ var formNode;
+ var formsnodeList;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "collection");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ formsnodeList = testNode.elements;
+
+ formNode = formsnodeList.namedItem("select9");
+ assertNull("nameIndexLink",formNode);
+
+}
+
+
+
+
+function runTest() {
+ HTMLCollection12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLCollection12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLCollection12.xhtml
new file mode 100644
index 0000000..9669421
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLCollection12.xhtml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLCollection12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table id="table-1" border="4" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all">
+<caption>Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" colspan="1" rowspan="1" scope="col" headers="header-1" valign="middle">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" colspan="1" rowspan="1" scope="col" headers="header-2" valign="middle">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDirectoryElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDirectoryElement01-expected.txt
new file mode 100644
index 0000000..30f4778
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDirectoryElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDirectoryElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDirectoryElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLDirectoryElement01.js
new file mode 100644
index 0000000..03ff03f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDirectoryElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDirectoryElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "directory");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The compact attribute specifies a boolean value on whether to display
+ the list more compactly.
+
+ Retrieve the compact attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75317739
+*/
+function HTMLDirectoryElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLDirectoryElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcompact;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "directory");
+ nodeList = doc.getElementsByTagName("dir");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcompact = testNode.compact;
+
+ assertTrue("compactLink",vcompact);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDirectoryElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDirectoryElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDirectoryElement01.xhtml
new file mode 100644
index 0000000..80ba605
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDirectoryElement01.xhtml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Directory</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDirectoryElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<dir compact="compact">
+<li>DIR item number 1.</li>
+<li>DIR item number 2.</li>
+<li>DIR item number 3.</li>
+</dir>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDivElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDivElement01-expected.txt
new file mode 100644
index 0000000..c25c3a8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDivElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDivElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDivElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLDivElement01.js
new file mode 100644
index 0000000..ea3e11d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDivElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDivElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "div");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal text alignment.
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70908791
+*/
+function HTMLDivElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLDivElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "div");
+ nodeList = doc.getElementsByTagName("div");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDivElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDivElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDivElement01.xhtml
new file mode 100644
index 0000000..92ee669
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDivElement01.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DIV</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDivElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<div align="center">The DIV element is a generic block container. This text should be centered.</div>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDlistElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDlistElement01-expected.txt
new file mode 100644
index 0000000..2ad7da2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDlistElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDlistElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDlistElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLDlistElement01.js
new file mode 100644
index 0000000..3cee382
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDlistElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDlistElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "dl");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The compact attribute specifies a boolean value on whether to display
+ the list more compactly.
+
+ Retrieve the compact attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21738539
+*/
+function HTMLDlistElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLDlistElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcompact;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "dl");
+ nodeList = doc.getElementsByTagName("dl");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcompact = testNode.compact;
+
+ assertTrue("compactLink",vcompact);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDlistElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDlistElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDlistElement01.xhtml
new file mode 100644
index 0000000..6fa9307
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDlistElement01.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDlistElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<dl compact="compact">
+<dd>Accountant</dd>
+<dd>56,000</dd>
+<dd>Female</dd>
+<dd>1230 North Ave. Dallas, Texas 98551</dd>
+</dl>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument01-expected.txt
new file mode 100644
index 0000000..b9b5972
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument01.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument01.js
new file mode 100644
index 0000000..8f44ba7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument01.js
@@ -0,0 +1,109 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute is the specified title as a string.
+
+ Retrieve the title attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18446827
+*/
+function HTMLDocument01() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument01") != null) return;
+ var nodeList;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ vtitle = doc.title;
+
+ assertEquals("titleLink","NIST DOM HTML Test - DOCUMENT",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument01.xhtml
new file mode 100644
index 0000000..7e6ba37
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument01.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument02-expected.txt
new file mode 100644
index 0000000..4c222d6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument02.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument02.js
new file mode 100644
index 0000000..f037a06
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument02.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The referrer attribute returns the URI of the page that linked to this
+ page.
+
+ Retrieve the referrer attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95229140
+*/
+function HTMLDocument02() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument02") != null) return;
+ var nodeList;
+ var testNode;
+ var vreferrer;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ vreferrer = doc.referrer;
+
+ assertEquals("referrerLink","",vreferrer);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument02.xhtml
new file mode 100644
index 0000000..9b6bb83
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument02.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument03-expected.txt
new file mode 100644
index 0000000..de2c243
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument03.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument03.js
new file mode 100644
index 0000000..980a859
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument03.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The domain attribute specifies the domain name of the server that served
+ the document, or null if the server cannot be identified by a domain name.
+
+ Retrieve the domain attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-2250147
+*/
+function HTMLDocument03() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument03") != null) return;
+ var nodeList;
+ var testNode;
+ var vdomain;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ vdomain = doc.domain;
+
+ assertEquals("domainLink","",vdomain);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument03.xhtml
new file mode 100644
index 0000000..4436faa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument03.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument04-expected.txt
new file mode 100644
index 0000000..176ae6c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument04.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument04.js
new file mode 100644
index 0000000..e6321e8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument04.js
@@ -0,0 +1,110 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "HTMLDocument04");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The URL attribute specifies the absolute URI of the document.
+
+ Retrieve the URL attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46183437
+*/
+function HTMLDocument04() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument04") != null) return;
+ var nodeList;
+ var testNode;
+ var vurl;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "HTMLDocument04");
+ vurl = doc.URL;
+
+ assertURIEquals("URLLink",null,null,null,null,"HTMLDocument04",null,null,true,vurl);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument04.xhtml
new file mode 100644
index 0000000..6039362
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument04.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument05-expected.txt
new file mode 100644
index 0000000..5e3c117
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument05.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument05.js
new file mode 100644
index 0000000..bc2c198
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument05.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The body attribute is the element that contains the content for the
+ document.
+
+ Retrieve the body attribute and examine its value for the id attribute.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-56360201
+*/
+function HTMLDocument05() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument05") != null) return;
+ var nodeList;
+ var testNode;
+ var vbody;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ vbody = doc.body;
+
+ vid = vbody.id;
+
+ assertEquals("idLink","TEST-BODY",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument05.xhtml
new file mode 100644
index 0000000..a2c191a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument05.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument07-expected.txt
new file mode 100644
index 0000000..576f870
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument07.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument07.js
new file mode 100644
index 0000000..a8e0d31
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument07.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The images attribute returns a collection of all IMG elements in a document.
+
+ Retrieve the images attribute from the document and examine its value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90379117
+*/
+function HTMLDocument07() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument07") != null) return;
+ var nodeList;
+ var testNode;
+ var vimages;
+ var vlength;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ vimages = doc.images;
+
+ vlength = vimages.length;
+
+ assertEquals("lengthLink",1,vlength);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument07.xhtml
new file mode 100644
index 0000000..cae0d20
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument07.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument08-expected.txt
new file mode 100644
index 0000000..7fadb0f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument08.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument08.js
new file mode 100644
index 0000000..0b72b3c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument08.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The applets attribute returns a collection of all OBJECT elements that
+ include applets abd APPLET elements in a document.
+
+ Retrieve the applets attribute from the document and examine its value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85113862
+*/
+function HTMLDocument08() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument08") != null) return;
+ var nodeList;
+ var testNode;
+ var vapplets;
+ var vlength;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ vapplets = doc.applets;
+
+ vlength = vapplets.length;
+
+ assertEquals("length",4,vlength);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument08.xhtml
new file mode 100644
index 0000000..17f3dd2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument08.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument09-expected.txt
new file mode 100644
index 0000000..cbf9c7f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument09.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument09.js
new file mode 100644
index 0000000..651be77
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument09.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The links attribute returns a collection of all AREA and A elements
+ in a document with a value for the href attribute.
+
+ Retrieve the links attribute from the document and examine its value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7068919
+*/
+function HTMLDocument09() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument09") != null) return;
+ var nodeList;
+ var testNode;
+ var vlinks;
+ var vlength;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ vlinks = doc.links;
+
+ vlength = vlinks.length;
+
+ assertEquals("lengthLink",3,vlength);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument09.xhtml
new file mode 100644
index 0000000..9e35c08
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument09.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument10-expected.txt
new file mode 100644
index 0000000..a9f7a61
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument10.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument10.js
new file mode 100644
index 0000000..78d3540
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument10.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The forms attribute returns a collection of all the forms in a document.
+
+ Retrieve the forms attribute from the document and examine its value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1689064
+*/
+function HTMLDocument10() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument10") != null) return;
+ var nodeList;
+ var testNode;
+ var vforms;
+ var vlength;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ vforms = doc.forms;
+
+ vlength = vforms.length;
+
+ assertEquals("lengthLink",1,vlength);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument10.xhtml
new file mode 100644
index 0000000..2048e1b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument10.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument11-expected.txt
new file mode 100644
index 0000000..e0487fc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument11.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument11.js
new file mode 100644
index 0000000..a618837
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument11.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The anchors attribute returns a collection of all A elements with values
+ for the name attribute.
+
+ Retrieve the anchors attribute from the document and examine its value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7577272
+*/
+function HTMLDocument11() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument11") != null) return;
+ var nodeList;
+ var testNode;
+ var vanchors;
+ var vlength;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ vanchors = doc.anchors;
+
+ vlength = vanchors.length;
+
+ assertEquals("lengthLink",1,vlength);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument11.xhtml
new file mode 100644
index 0000000..3131041
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument11.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument12-expected.txt
new file mode 100644
index 0000000..1145bc1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument12.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument12.js
new file mode 100644
index 0000000..2aa6aa3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument12.js
@@ -0,0 +1,109 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The cookie attribute returns the cookies associated with this document.
+
+ Retrieve the cookie attribute and examine its value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8747038
+*/
+function HTMLDocument12() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument12") != null) return;
+ var nodeList;
+ var vcookie;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ vcookie = doc.cookie;
+
+ assertEquals("cookieLink","",vcookie);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument12.xhtml
new file mode 100644
index 0000000..ad3fff7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument12.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument13-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument13-expected.txt
new file mode 100644
index 0000000..967c969
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument13.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument13.js
new file mode 100644
index 0000000..366e44c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument13.js
@@ -0,0 +1,109 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The getElementsByName method returns the (possibly empty) collection
+ of elements whose name value is given by the elementName.
+
+ Retrieve all the elements whose name attribute is "mapid".
+ Check the length of the nodelist. It should be 1.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71555259
+*/
+function HTMLDocument13() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument13") != null) return;
+ var nodeList;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ nodeList = doc.getElementsByName("mapid");
+ assertSize("Asize",1,nodeList);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument13.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument13.xhtml
new file mode 100644
index 0000000..a816594
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument13.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument13.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument14-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument14-expected.txt
new file mode 100644
index 0000000..35e81b8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument14-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument14
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument14.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument14.js
new file mode 100644
index 0000000..c487404
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument14.js
@@ -0,0 +1,110 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument14";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The getElementsByName method returns the (possibly empty) collection
+ of elements whose name value is given by the elementName.
+
+ Retrieve all the elements whose name attribute is "noid".
+ Check the length of the nodelist. It should be 0 since
+ the id "noid" does not exist.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71555259
+*/
+function HTMLDocument14() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument14") != null) return;
+ var nodeList;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ nodeList = doc.getElementsByName("noid");
+ assertSize("Asize",0,nodeList);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument14();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument14.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument14.xhtml
new file mode 100644
index 0000000..5c5fbdf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument14.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument14.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument15-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument15-expected.txt
new file mode 100644
index 0000000..b22f51e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument15-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument15
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument15.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument15.js
new file mode 100644
index 0000000..eb8e555
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument15.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument15";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The getElementById method returns the Element whose id is given by
+ elementId. If no such element exists, returns null.
+
+ Retrieve the element whose id is "mapid".
+ Check the value of the element.
+
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36113835
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBId
+*/
+function HTMLDocument15() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument15") != null) return;
+ var elementNode;
+ var elementValue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ elementNode = doc.getElementById("mapid");
+ elementValue = elementNode.nodeName;
+
+ assertEqualsAutoCase("element", "elementId","map",elementValue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument15();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument15.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument15.xhtml
new file mode 100644
index 0000000..6b03694
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument15.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument15.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument16-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument16-expected.txt
new file mode 100644
index 0000000..edc2437
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument16-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument16
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument16.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument16.js
new file mode 100644
index 0000000..5b3cb28
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument16.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument16";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The getElementById method returns the Element whose id is given by
+ elementId. If no such element exists, returns null.
+
+ Retrieve the element whose id is "noid".
+ The value returned should be null since there are not any elements with
+ an id of "noid".
+
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36113835
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-getElBId
+*/
+function HTMLDocument16() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument16") != null) return;
+ var elementNode;
+ var elementValue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ elementNode = doc.getElementById("noid");
+ assertNull("elementId",elementNode);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument16();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument16.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument16.xhtml
new file mode 100644
index 0000000..78105d0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument16.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument16.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument17-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument17-expected.txt
new file mode 100644
index 0000000..ad67872
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument17-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument17
+Status error
+Message Line 96: TypeError
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument17.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument17.js
new file mode 100644
index 0000000..220349b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument17.js
@@ -0,0 +1,119 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument17";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Clears the current document using HTMLDocument.open immediately followed by close.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567
+*/
+function HTMLDocument17() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument17") != null) return;
+ var doc;
+ var bodyElem;
+ var bodyChild;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ doc.open();
+ doc.close();
+ bodyElem = doc.body;
+
+
+ if(
+
+ (bodyElem != null)
+
+ ) {
+ bodyChild = bodyElem.firstChild;
+
+ assertNull("bodyContainsChildren",bodyChild);
+
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument17();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument17.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument17.xhtml
new file mode 100644
index 0000000..7ece893
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument17.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument17.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument18-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument18-expected.txt
new file mode 100644
index 0000000..7b05732
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument18-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument18
+Status error
+Message Line 93: TypeError
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument18.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument18.js
new file mode 100644
index 0000000..f50a1fe
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument18.js
@@ -0,0 +1,102 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument18";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Calls HTMLDocument.close on a document that has not been opened for modification.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567
+*/
+function HTMLDocument18() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument18") != null) return;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ doc.close();
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument18();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument18.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument18.xhtml
new file mode 100644
index 0000000..8ee241b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument18.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument18.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument19-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument19-expected.txt
new file mode 100644
index 0000000..067859f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument19-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument19
+Status error
+Message Line 97: TypeError
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument19.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument19.js
new file mode 100644
index 0000000..c2a7a5f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument19.js
@@ -0,0 +1,129 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument19";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Replaces the current document with a valid HTML document using HTMLDocument.open, write and close.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75233634
+*/
+function HTMLDocument19() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument19") != null) return;
+ var doc;
+ var docElem;
+ var title;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ doc.open();
+
+ if(
+
+ (builder.contentType == "text/html")
+
+ ) {
+ doc.write("<html>");
+
+ }
+
+ else {
+ doc.write("<html xmlns='http://www.w3.org/1999/xhtml'>");
+
+ }
+ doc.write("<body>");
+ doc.write("<title>Replacement</title>");
+ doc.write("</body>");
+ doc.write("<p>");
+ doc.write("Hello, World.");
+ doc.write("</p>");
+ doc.write("</body>");
+ doc.write("</html>");
+ doc.close();
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument19();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument19.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument19.xhtml
new file mode 100644
index 0000000..4cd1726
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument19.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument19.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument20-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument20-expected.txt
new file mode 100644
index 0000000..ce6a538
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument20-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument20
+Status error
+Message Line 97: TypeError
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument20.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument20.js
new file mode 100644
index 0000000..c78110d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument20.js
@@ -0,0 +1,129 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument20";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Replaces the current document with a valid HTML document using HTMLDocument.open, writeln and close.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35318390
+*/
+function HTMLDocument20() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument20") != null) return;
+ var doc;
+ var docElem;
+ var title;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ doc.open();
+
+ if(
+
+ (builder.contentType == "text/html")
+
+ ) {
+ doc.writeln("<html>");
+
+ }
+
+ else {
+ doc.writeln("<html xmlns='http://www.w3.org/1999/xhtml'>");
+
+ }
+ doc.writeln("<body>");
+ doc.writeln("<title>Replacement</title>");
+ doc.writeln("</body>");
+ doc.writeln("<p>");
+ doc.writeln("Hello, World.");
+ doc.writeln("</p>");
+ doc.writeln("</body>");
+ doc.writeln("</html>");
+ doc.close();
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument20();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument20.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument20.xhtml
new file mode 100644
index 0000000..9a439cd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument20.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument20.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument21-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument21-expected.txt
new file mode 100644
index 0000000..0551f9e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument21-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument21
+Status error
+Message Line 101: TypeError
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument21.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument21.js
new file mode 100644
index 0000000..c4a4a2b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument21.js
@@ -0,0 +1,138 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument21";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Replaces the current document checks that writeln adds a new line.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72161170
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98948567
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75233634
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35318390
+*/
+function HTMLDocument21() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument21") != null) return;
+ var doc;
+ var docElem;
+ var preElems;
+ var preElem;
+ var preText;
+ var preValue;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ doc.open();
+
+ if(
+
+ (builder.contentType == "text/html")
+
+ ) {
+ doc.writeln("<html>");
+
+ }
+
+ else {
+ doc.writeln("<html xmlns='http://www.w3.org/1999/xhtml'>");
+
+ }
+ doc.writeln("<body>");
+ doc.writeln("<title>Replacement</title>");
+ doc.writeln("</body>");
+ doc.write("<pre>");
+ doc.writeln("Hello, World.");
+ doc.writeln("Hello, World.");
+ doc.writeln("</pre>");
+ doc.write("<pre>");
+ doc.write("Hello, World.");
+ doc.write("Hello, World.");
+ doc.writeln("</pre>");
+ doc.writeln("</body>");
+ doc.writeln("</html>");
+ doc.close();
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument21();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument21.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument21.xhtml
new file mode 100644
index 0000000..01f7790
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument21.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument21.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument22-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument22-expected.txt
new file mode 100644
index 0000000..22997d9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument22-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument22
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument22.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument22.js
new file mode 100644
index 0000000..2ee8e52
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument22.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument22";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Checks that Node.isSupported("hTmL", null) returns true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268
+*/
+function HTMLDocument22() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument22") != null) return;
+ var doc;
+ var state;
+ var version = null;
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ state = doc.isSupported("hTmL",version);
+ assertTrue("isSupportedHTML",state);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument22();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument22.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument22.xhtml
new file mode 100644
index 0000000..ebc4e95
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument22.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument22.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument23-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument23-expected.txt
new file mode 100644
index 0000000..0cadb9d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument23-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument23
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument23.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument23.js
new file mode 100644
index 0000000..eb83250
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument23.js
@@ -0,0 +1,106 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument23";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Checks that Node.isSupported("hTmL", "2.0") returns true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268
+*/
+function HTMLDocument23() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument23") != null) return;
+ var doc;
+ var state;
+ var version = "2.0";
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ state = doc.isSupported("hTmL",version);
+ assertTrue("isSupportedHTML",state);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument23();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument23.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument23.xhtml
new file mode 100644
index 0000000..21ec125
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument23.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument23.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument24-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument24-expected.txt
new file mode 100644
index 0000000..063867a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument24-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument24
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument24.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument24.js
new file mode 100644
index 0000000..d1ddfd0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument24.js
@@ -0,0 +1,109 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument24";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Checks that Node.isSupported("xhTmL", null) returns true if hasFeature("XML", null) is true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268
+*/
+function HTMLDocument24() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument24") != null) return;
+ var doc;
+ var state;
+ var hasXML;
+ var version = null;
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ hasXML = doc.isSupported("XML",version);
+ state = doc.isSupported("xhTmL",version);
+ assertEquals("isSupportedXHTML",hasXML,state);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument24();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument24.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument24.xhtml
new file mode 100644
index 0000000..7f57643
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument24.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument24.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument25-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument25-expected.txt
new file mode 100644
index 0000000..81df3ae
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument25-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument25
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument25.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument25.js
new file mode 100644
index 0000000..a0341d0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument25.js
@@ -0,0 +1,108 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument25";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Checks that Node.isSupported("xhTmL", "2.0") returns true if hasFeature("XML", "2.0") is true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268
+*/
+function HTMLDocument25() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument25") != null) return;
+ var doc;
+ var state;
+ var hasXML;
+ var version = "2.0";
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ hasXML = doc.isSupported("XML",version);
+ state = doc.isSupported("xhTmL",version);
+ assertEquals("isSupportedXHTML",hasXML,state);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument25();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument25.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument25.xhtml
new file mode 100644
index 0000000..e202065
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument25.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument25.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument26-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument26-expected.txt
new file mode 100644
index 0000000..711ccd2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument26-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument26
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument26.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument26.js
new file mode 100644
index 0000000..905249b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument26.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument26";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Checks that Node.isSupported("cOrE", null) returns true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268
+*/
+function HTMLDocument26() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument26") != null) return;
+ var doc;
+ var state;
+ var version = null;
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ state = doc.isSupported("cOrE",version);
+ assertTrue("isSupportedCore",state);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument26();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument26.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument26.xhtml
new file mode 100644
index 0000000..e86ca92
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument26.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument26.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument27-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLDocument27-expected.txt
new file mode 100644
index 0000000..c0003a2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument27-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument27
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument27.js b/LayoutTests/dom/xhtml/level2/html/HTMLDocument27.js
new file mode 100644
index 0000000..145447a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument27.js
@@ -0,0 +1,106 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument27";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "document");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Checks that Node.isSupported("cOrE", "2.0") returns true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-Node-supports
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-26809268
+*/
+function HTMLDocument27() {
+ var success;
+ if(checkInitialization(builder, "HTMLDocument27") != null) return;
+ var doc;
+ var state;
+ var version = "2.0";
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "document");
+ state = doc.isSupported("cOrE",version);
+ assertTrue("isSupportedCore",state);
+
+}
+
+
+
+
+function runTest() {
+ HTMLDocument27();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLDocument27.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLDocument27.xhtml
new file mode 100644
index 0000000..7c7aa96
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLDocument27.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DOCUMENT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLDocument27.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" id="TEST-BODY">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain1" />
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain2" />
+</map>
+</p>
+<p>
+<img id="IMAGE-1" src="./pix/dts.gif" alt="DTS IMAGE LOGO" longdesc="./files/desc.html" usemap="#DTS-MAP" width="115"/>
+</p>
+<p>
+<object data="./pix/line.gif" codetype="image/gif" height="10">
+<applet alt="Applet Number 1" code="applet1.class" width="10" height="10"></applet>
+</object>
+<object data="./pix/logo.gif" type="image/gif">
+<applet alt="Applet Number 2" code="applet2.class" width="10" height="10"></applet>
+</object>
+</p>
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement01-expected.txt
new file mode 100644
index 0000000..b010493
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement01-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement01
+Status failure
+Message idLink: assertEquals failed, actual , expected Test-HEAD.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement01.js
new file mode 100644
index 0000000..010470d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the HEAD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("head");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-HEAD",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement01.xhtml
new file mode 100644
index 0000000..1001731
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement01.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement02-expected.txt
new file mode 100644
index 0000000..a4aa513
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement02.js
new file mode 100644
index 0000000..9e4646d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement02.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the SUB element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("sub");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-SUB",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement02.xhtml
new file mode 100644
index 0000000..2bd4885
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement02.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement03-expected.txt
new file mode 100644
index 0000000..18ab070
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement03.js
new file mode 100644
index 0000000..cc92fba
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement03.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the SUP element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("sup");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-SUP",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement03.xhtml
new file mode 100644
index 0000000..48685ee
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement03.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement04-expected.txt
new file mode 100644
index 0000000..b993efb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement04.js
new file mode 100644
index 0000000..941a935
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement04.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the SPAN element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("span");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-SPAN",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement04.xhtml
new file mode 100644
index 0000000..a03e063
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement04.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement05-expected.txt
new file mode 100644
index 0000000..0b749ef
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement05.js
new file mode 100644
index 0000000..20a6a02
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement05.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the BDO element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("bdo");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-BDO",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement05.xhtml
new file mode 100644
index 0000000..d92e4df
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement05.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement06-expected.txt
new file mode 100644
index 0000000..b7c00fe
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement06.js
new file mode 100644
index 0000000..0a8c213
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement06.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the TT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("tt");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-TT",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement06.xhtml
new file mode 100644
index 0000000..7fc801d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement06.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement07-expected.txt
new file mode 100644
index 0000000..5e39f0f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement07.js
new file mode 100644
index 0000000..b317f4d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement07.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the I element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("i");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-I",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement07.xhtml
new file mode 100644
index 0000000..85e3a8f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement07.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement08-expected.txt
new file mode 100644
index 0000000..f349500
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement08.js
new file mode 100644
index 0000000..3698271
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement08.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the B element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("b");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-B",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement08.xhtml
new file mode 100644
index 0000000..1de8d40
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement08.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement09-expected.txt
new file mode 100644
index 0000000..f245721
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement09.js
new file mode 100644
index 0000000..e480f88
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement09.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the U element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("u");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-U",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement09.xhtml
new file mode 100644
index 0000000..26a130f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement09.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement10-expected.txt
new file mode 100644
index 0000000..1ec167c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement10.js
new file mode 100644
index 0000000..16b80ec
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement10.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the S element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("s");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-S",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement10.xhtml
new file mode 100644
index 0000000..d454ec7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement10.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement100-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement100-expected.txt
new file mode 100644
index 0000000..055bd2c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement100-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement100
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement100.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement100.js
new file mode 100644
index 0000000..039954e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement100.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement100";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the SMALL element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement100() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement100") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("small");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement100();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement100.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement100.xhtml
new file mode 100644
index 0000000..e03246d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement100.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement100.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement101-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement101-expected.txt
new file mode 100644
index 0000000..b231a17
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement101-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement101
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement101.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement101.js
new file mode 100644
index 0000000..03c501e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement101.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement101";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the EM element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement101() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement101") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("em");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement101();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement101.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement101.xhtml
new file mode 100644
index 0000000..19d2810
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement101.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement101.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement102-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement102-expected.txt
new file mode 100644
index 0000000..8d4a51a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement102-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement102
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement102.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement102.js
new file mode 100644
index 0000000..8392870
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement102.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement102";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the STRONG element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement102() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement102") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("strong");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement102();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement102.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement102.xhtml
new file mode 100644
index 0000000..a331045
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement102.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement102.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement103-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement103-expected.txt
new file mode 100644
index 0000000..c7f22ee
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement103-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement103
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement103.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement103.js
new file mode 100644
index 0000000..ad8c8d3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement103.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement103";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the DFN element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement103() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement103") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dfn");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement103();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement103.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement103.xhtml
new file mode 100644
index 0000000..667b912
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement103.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement103.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement104-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement104-expected.txt
new file mode 100644
index 0000000..ed83166
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement104-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement104
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement104.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement104.js
new file mode 100644
index 0000000..8a889f5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement104.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement104";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the CODE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement104() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement104") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("code");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement104();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement104.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement104.xhtml
new file mode 100644
index 0000000..8813d0e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement104.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement104.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement105-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement105-expected.txt
new file mode 100644
index 0000000..1f38bc5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement105-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement105
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement105.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement105.js
new file mode 100644
index 0000000..c6794ee
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement105.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement105";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the SAMP element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement105() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement105") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("samp");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement105();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement105.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement105.xhtml
new file mode 100644
index 0000000..1c5f8f0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement105.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement105.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement106-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement106-expected.txt
new file mode 100644
index 0000000..4c737bf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement106-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement106
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement106.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement106.js
new file mode 100644
index 0000000..de44beb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement106.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement106";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the KBD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement106() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement106") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("kbd");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement106();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement106.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement106.xhtml
new file mode 100644
index 0000000..df826bc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement106.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement106.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement107-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement107-expected.txt
new file mode 100644
index 0000000..d488574
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement107-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement107
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement107.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement107.js
new file mode 100644
index 0000000..b64c4e3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement107.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement107";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the VAR element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement107() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement107") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("var");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement107();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement107.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement107.xhtml
new file mode 100644
index 0000000..9478fb1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement107.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement107.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement108-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement108-expected.txt
new file mode 100644
index 0000000..0826f04
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement108-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement108
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement108.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement108.js
new file mode 100644
index 0000000..bb0a31c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement108.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement108";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the CITE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement108() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement108") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("cite");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement108();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement108.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement108.xhtml
new file mode 100644
index 0000000..cb027b3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement108.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement108.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement109-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement109-expected.txt
new file mode 100644
index 0000000..6d23b8e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement109-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement109
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement109.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement109.js
new file mode 100644
index 0000000..60c586c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement109.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement109";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the ACRONYM element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement109() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement109") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("acronym");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement109();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement109.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement109.xhtml
new file mode 100644
index 0000000..0e3d2e2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement109.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement109.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement11-expected.txt
new file mode 100644
index 0000000..3192bf0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement11.js
new file mode 100644
index 0000000..44a223f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement11.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the STRIKE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement11") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("strike");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-STRIKE",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement11.xhtml
new file mode 100644
index 0000000..ea359f7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement11.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement110-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement110-expected.txt
new file mode 100644
index 0000000..6caebef
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement110-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement110
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement110.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement110.js
new file mode 100644
index 0000000..ce078d8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement110.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement110";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the ABBR element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement110() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement110") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("abbr");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement110();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement110.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement110.xhtml
new file mode 100644
index 0000000..6157a61
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement110.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement110.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement111-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement111-expected.txt
new file mode 100644
index 0000000..6f7a391
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement111-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement111
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement111.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement111.js
new file mode 100644
index 0000000..106edb8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement111.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement111";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the DD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement111() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement111") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dd");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement111();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement111.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement111.xhtml
new file mode 100644
index 0000000..e80fb68
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement111.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement111.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement112-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement112-expected.txt
new file mode 100644
index 0000000..50d67e1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement112-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement112
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement112.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement112.js
new file mode 100644
index 0000000..0375703
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement112.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement112";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the DT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement112() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement112") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dt");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement112();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement112.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement112.xhtml
new file mode 100644
index 0000000..fdd010e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement112.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement112.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement113-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement113-expected.txt
new file mode 100644
index 0000000..eda9092
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement113-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement113
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement113.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement113.js
new file mode 100644
index 0000000..74207fd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement113.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement113";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the NOFRAMES element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement113() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement113") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("noframes");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement113();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement113.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement113.xhtml
new file mode 100644
index 0000000..b390254
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement113.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement113.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement114-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement114-expected.txt
new file mode 100644
index 0000000..bb3f252
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement114-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement114
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement114.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement114.js
new file mode 100644
index 0000000..e487954
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement114.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement114";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the NOSCRIPT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement114() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement114") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("noscript");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement114();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement114.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement114.xhtml
new file mode 100644
index 0000000..fbb0135
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement114.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement114.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement115-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement115-expected.txt
new file mode 100644
index 0000000..09aa446
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement115-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement115
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement115.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement115.js
new file mode 100644
index 0000000..b96f742
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement115.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement115";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the ADDRESS element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement115() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement115") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("address");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement115();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement115.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement115.xhtml
new file mode 100644
index 0000000..841845c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement115.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement115.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement116-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement116-expected.txt
new file mode 100644
index 0000000..0356c2d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement116-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement116
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement116.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement116.js
new file mode 100644
index 0000000..3a5b7e0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement116.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement116";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the CENTER element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement116() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement116") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("center");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement116();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement116.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement116.xhtml
new file mode 100644
index 0000000..60728f0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement116.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement116.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement117-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement117-expected.txt
new file mode 100644
index 0000000..69ab3ab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement117-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement117
+Status failure
+Message classNameLink: assertEquals failed, actual , expected HEAD-class.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement117.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement117.js
new file mode 100644
index 0000000..b165df9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement117.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement117";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the HEAD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement117() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement117") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("head");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","HEAD-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement117();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement117.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement117.xhtml
new file mode 100644
index 0000000..8d5a69d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement117.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement117.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement118-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement118-expected.txt
new file mode 100644
index 0000000..67a2a2c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement118-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement118
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement118.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement118.js
new file mode 100644
index 0000000..21d555c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement118.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement118";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the SUB element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement118() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement118") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("sub");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","SUB-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement118();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement118.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement118.xhtml
new file mode 100644
index 0000000..58ec9d5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement118.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement118.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement119-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement119-expected.txt
new file mode 100644
index 0000000..6cf0201
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement119-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement119
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement119.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement119.js
new file mode 100644
index 0000000..6066a0c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement119.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement119";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the SUP element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement119() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement119") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("sup");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","SUP-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement119();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement119.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement119.xhtml
new file mode 100644
index 0000000..28e30db
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement119.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement119.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement12-expected.txt
new file mode 100644
index 0000000..5c7badd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement12.js
new file mode 100644
index 0000000..efc8ad8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement12.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the BIG element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement12") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("big");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-BIG",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement12.xhtml
new file mode 100644
index 0000000..4d7325f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement12.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement120-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement120-expected.txt
new file mode 100644
index 0000000..af061dd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement120-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement120
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement120.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement120.js
new file mode 100644
index 0000000..db57aea
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement120.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement120";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the SPAN element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement120() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement120") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("span");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","SPAN-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement120();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement120.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement120.xhtml
new file mode 100644
index 0000000..7e9debf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement120.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement120.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement121-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement121-expected.txt
new file mode 100644
index 0000000..f15fc0f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement121-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement121
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement121.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement121.js
new file mode 100644
index 0000000..2cb2616
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement121.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement121";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the BDO element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement121() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement121") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("bdo");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","BDO-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement121();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement121.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement121.xhtml
new file mode 100644
index 0000000..7db44ea
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement121.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement121.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement122-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement122-expected.txt
new file mode 100644
index 0000000..5806122
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement122-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement122
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement122.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement122.js
new file mode 100644
index 0000000..548f614
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement122.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement122";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the TT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement122() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement122") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("tt");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","TT-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement122();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement122.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement122.xhtml
new file mode 100644
index 0000000..8c36bc2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement122.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement122.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement123-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement123-expected.txt
new file mode 100644
index 0000000..1ac05cd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement123-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement123
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement123.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement123.js
new file mode 100644
index 0000000..044470c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement123.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement123";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the I element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement123() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement123") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("i");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","I-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement123();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement123.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement123.xhtml
new file mode 100644
index 0000000..637c38e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement123.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement123.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement124-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement124-expected.txt
new file mode 100644
index 0000000..14cc1af
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement124-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement124
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement124.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement124.js
new file mode 100644
index 0000000..1f12330
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement124.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement124";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the B element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement124() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement124") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("b");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","B-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement124();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement124.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement124.xhtml
new file mode 100644
index 0000000..612ec26
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement124.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement124.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement125-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement125-expected.txt
new file mode 100644
index 0000000..5f548ce
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement125-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement125
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement125.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement125.js
new file mode 100644
index 0000000..ab2f7da
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement125.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement125";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the U element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement125() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement125") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("u");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","U-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement125();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement125.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement125.xhtml
new file mode 100644
index 0000000..db3bb4d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement125.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement125.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement126-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement126-expected.txt
new file mode 100644
index 0000000..74e49f3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement126-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement126
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement126.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement126.js
new file mode 100644
index 0000000..eda2d3b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement126.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement126";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the S element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement126() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement126") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("s");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","S-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement126();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement126.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement126.xhtml
new file mode 100644
index 0000000..cb0950a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement126.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement126.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement127-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement127-expected.txt
new file mode 100644
index 0000000..adda2cc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement127-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement127
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement127.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement127.js
new file mode 100644
index 0000000..04111b3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement127.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement127";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the STRIKE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement127() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement127") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("strike");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","STRIKE-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement127();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement127.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement127.xhtml
new file mode 100644
index 0000000..fe1a0b8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement127.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement127.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement128-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement128-expected.txt
new file mode 100644
index 0000000..7a741b6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement128-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement128
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement128.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement128.js
new file mode 100644
index 0000000..242dbba
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement128.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement128";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the BIG element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement128() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement128") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("big");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","BIG-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement128();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement128.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement128.xhtml
new file mode 100644
index 0000000..509fb61
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement128.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement128.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement129-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement129-expected.txt
new file mode 100644
index 0000000..cf704f0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement129-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement129
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement129.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement129.js
new file mode 100644
index 0000000..f4e1470
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement129.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement129";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the SMALL element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement129() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement129") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("small");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","SMALL-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement129();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement129.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement129.xhtml
new file mode 100644
index 0000000..492020e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement129.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement129.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement13-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement13-expected.txt
new file mode 100644
index 0000000..b859537
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement13.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement13.js
new file mode 100644
index 0000000..9b85dae
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement13.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the SMALL element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement13() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement13") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("small");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-SMALL",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement13.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement13.xhtml
new file mode 100644
index 0000000..f2b8d1b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement13.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement13.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement130-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement130-expected.txt
new file mode 100644
index 0000000..ab8a92e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement130-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement130
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement130.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement130.js
new file mode 100644
index 0000000..1959071
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement130.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement130";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the EM element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement130() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement130") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("em");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","EM-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement130();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement130.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement130.xhtml
new file mode 100644
index 0000000..337aee7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement130.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement130.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement131-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement131-expected.txt
new file mode 100644
index 0000000..10d1adb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement131-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement131
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement131.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement131.js
new file mode 100644
index 0000000..205394d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement131.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement131";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the STRONG element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement131() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement131") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("strong");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","STRONG-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement131();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement131.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement131.xhtml
new file mode 100644
index 0000000..728944a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement131.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement131.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement132-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement132-expected.txt
new file mode 100644
index 0000000..a61a05c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement132-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement132
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement132.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement132.js
new file mode 100644
index 0000000..6aecb1b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement132.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement132";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the DFN element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement132() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement132") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dfn");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","DFN-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement132();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement132.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement132.xhtml
new file mode 100644
index 0000000..481adf2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement132.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement132.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement133-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement133-expected.txt
new file mode 100644
index 0000000..d588538
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement133-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement133
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement133.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement133.js
new file mode 100644
index 0000000..655386e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement133.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement133";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the CODE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement133() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement133") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("code");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","CODE-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement133();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement133.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement133.xhtml
new file mode 100644
index 0000000..2872cea
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement133.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement133.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement134-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement134-expected.txt
new file mode 100644
index 0000000..709d6fb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement134-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement134
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement134.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement134.js
new file mode 100644
index 0000000..3c015e9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement134.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement134";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the SAMP element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement134() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement134") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("samp");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","SAMP-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement134();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement134.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement134.xhtml
new file mode 100644
index 0000000..40ee3c2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement134.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement134.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement135-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement135-expected.txt
new file mode 100644
index 0000000..bb067c8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement135-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement135
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement135.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement135.js
new file mode 100644
index 0000000..7e4c039
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement135.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement135";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the KBD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement135() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement135") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("kbd");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","KBD-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement135();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement135.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement135.xhtml
new file mode 100644
index 0000000..3b5de7a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement135.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement135.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement136-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement136-expected.txt
new file mode 100644
index 0000000..95097b6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement136-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement136
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement136.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement136.js
new file mode 100644
index 0000000..b51d94d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement136.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement136";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the VAR element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement136() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement136") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("var");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","VAR-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement136();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement136.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement136.xhtml
new file mode 100644
index 0000000..a3668bf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement136.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement136.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement137-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement137-expected.txt
new file mode 100644
index 0000000..9b61ffa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement137-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement137
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement137.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement137.js
new file mode 100644
index 0000000..dfa7d51
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement137.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement137";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the CITE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement137() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement137") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("cite");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","CITE-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement137();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement137.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement137.xhtml
new file mode 100644
index 0000000..1f90160
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement137.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement137.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement138-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement138-expected.txt
new file mode 100644
index 0000000..bddf261
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement138-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement138
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement138.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement138.js
new file mode 100644
index 0000000..8cfe527
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement138.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement138";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the ACRONYM element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement138() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement138") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("acronym");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","ACRONYM-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement138();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement138.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement138.xhtml
new file mode 100644
index 0000000..a547b31
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement138.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement138.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement139-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement139-expected.txt
new file mode 100644
index 0000000..31cd59a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement139-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement139
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement139.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement139.js
new file mode 100644
index 0000000..87c7b75
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement139.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement139";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the ABBR element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement139() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement139") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("abbr");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","ABBR-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement139();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement139.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement139.xhtml
new file mode 100644
index 0000000..62fd0a7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement139.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement139.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement14-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement14-expected.txt
new file mode 100644
index 0000000..b5ac4b0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement14-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement14
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement14.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement14.js
new file mode 100644
index 0000000..570cbb3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement14.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement14";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the EM element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement14() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement14") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("em");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-EM",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement14();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement14.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement14.xhtml
new file mode 100644
index 0000000..9b6ef08
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement14.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement14.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement140-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement140-expected.txt
new file mode 100644
index 0000000..3eb820b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement140-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement140
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement140.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement140.js
new file mode 100644
index 0000000..5a27d3b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement140.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement140";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the DD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement140() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement140") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dd");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","DD-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement140();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement140.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement140.xhtml
new file mode 100644
index 0000000..7c9b99a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement140.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement140.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement141-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement141-expected.txt
new file mode 100644
index 0000000..0d7aba0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement141-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement141
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement141.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement141.js
new file mode 100644
index 0000000..d180ddc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement141.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement141";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the DT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement141() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement141") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dt");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","DT-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement141();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement141.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement141.xhtml
new file mode 100644
index 0000000..3e51d88
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement141.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement141.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement142-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement142-expected.txt
new file mode 100644
index 0000000..5a7e5b7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement142-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement142
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement142.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement142.js
new file mode 100644
index 0000000..1590b95
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement142.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement142";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the NOFRAMES element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement142() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement142") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("noframes");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","NOFRAMES-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement142();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement142.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement142.xhtml
new file mode 100644
index 0000000..fb87d47
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement142.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement142.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement143-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement143-expected.txt
new file mode 100644
index 0000000..0e82857
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement143-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement143
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement143.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement143.js
new file mode 100644
index 0000000..87d709d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement143.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement143";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the NOSCRIPT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement143() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement143") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("noscript");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","NOSCRIPT-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement143();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement143.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement143.xhtml
new file mode 100644
index 0000000..c043868
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement143.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement143.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement144-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement144-expected.txt
new file mode 100644
index 0000000..a16e862
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement144-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement144
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement144.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement144.js
new file mode 100644
index 0000000..e9e9b12
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement144.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement144";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the ADDRESS element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement144() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement144") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("address");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","ADDRESS-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement144();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement144.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement144.xhtml
new file mode 100644
index 0000000..63cc9d2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement144.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement144.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement145-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement145-expected.txt
new file mode 100644
index 0000000..13de7ae
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement145-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement145
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement145.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement145.js
new file mode 100644
index 0000000..e0d8ed1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement145.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement145";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The className attribute specifies the class attribute of the element.
+
+ Retrieve the class attribute of the CENTER element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95362176
+*/
+function HTMLElement145() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement145") != null) return;
+ var nodeList;
+ var testNode;
+ var vclassname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("center");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vclassname = testNode.className;
+
+ assertEquals("classNameLink","CENTER-class",vclassname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement145();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement145.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement145.xhtml
new file mode 100644
index 0000000..3909940
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement145.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement145.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement15-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement15-expected.txt
new file mode 100644
index 0000000..6bb6e8e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement15-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement15
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement15.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement15.js
new file mode 100644
index 0000000..8136e77
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement15.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement15";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the STRONG element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement15() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement15") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("strong");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-STRONG",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement15();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement15.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement15.xhtml
new file mode 100644
index 0000000..bd70d19
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement15.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement15.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement16-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement16-expected.txt
new file mode 100644
index 0000000..0630b09
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement16-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement16
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement16.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement16.js
new file mode 100644
index 0000000..6307477
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement16.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement16";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the DFN element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement16() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement16") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dfn");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-DFN",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement16();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement16.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement16.xhtml
new file mode 100644
index 0000000..53ffe37
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement16.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement16.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement17-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement17-expected.txt
new file mode 100644
index 0000000..95890ab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement17-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement17
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement17.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement17.js
new file mode 100644
index 0000000..2c0313d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement17.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement17";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the CODE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement17() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement17") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("code");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-CODE",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement17();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement17.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement17.xhtml
new file mode 100644
index 0000000..340fff8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement17.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement17.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement18-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement18-expected.txt
new file mode 100644
index 0000000..6025058
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement18-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement18
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement18.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement18.js
new file mode 100644
index 0000000..729fd37
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement18.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement18";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the SAMP element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement18() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement18") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("samp");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-SAMP",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement18();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement18.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement18.xhtml
new file mode 100644
index 0000000..9b8893b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement18.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement18.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement19-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement19-expected.txt
new file mode 100644
index 0000000..cce4df6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement19-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement19
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement19.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement19.js
new file mode 100644
index 0000000..60e1716
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement19.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement19";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the KBD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement19() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement19") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("kbd");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-KBD",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement19();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement19.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement19.xhtml
new file mode 100644
index 0000000..cb866fd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement19.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement19.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement20-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement20-expected.txt
new file mode 100644
index 0000000..9b31e27
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement20-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement20
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement20.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement20.js
new file mode 100644
index 0000000..ab5a998
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement20.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement20";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the VAR element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement20() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement20") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("var");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-VAR",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement20();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement20.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement20.xhtml
new file mode 100644
index 0000000..3a9d247
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement20.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement20.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement21-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement21-expected.txt
new file mode 100644
index 0000000..40172ac
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement21-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement21
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement21.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement21.js
new file mode 100644
index 0000000..17a859d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement21.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement21";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the CITE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement21() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement21") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("cite");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-CITE",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement21();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement21.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement21.xhtml
new file mode 100644
index 0000000..84d56c4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement21.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement21.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement22-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement22-expected.txt
new file mode 100644
index 0000000..ccec7d2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement22-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement22
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement22.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement22.js
new file mode 100644
index 0000000..aec5437
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement22.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement22";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the ACRONYM element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement22() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement22") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("acronym");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-ACRONYM",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement22();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement22.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement22.xhtml
new file mode 100644
index 0000000..3f38d9f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement22.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement22.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement23-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement23-expected.txt
new file mode 100644
index 0000000..0864f11
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement23-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement23
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement23.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement23.js
new file mode 100644
index 0000000..960f157
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement23.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement23";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the ABBR element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement23() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement23") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("abbr");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-ABBR",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement23();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement23.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement23.xhtml
new file mode 100644
index 0000000..c19759b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement23.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement23.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement24-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement24-expected.txt
new file mode 100644
index 0000000..95d7720
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement24-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement24
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement24.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement24.js
new file mode 100644
index 0000000..4f86c3b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement24.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement24";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the DD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement24() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement24") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dd");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-DD",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement24();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement24.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement24.xhtml
new file mode 100644
index 0000000..6c5e2bf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement24.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement24.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement25-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement25-expected.txt
new file mode 100644
index 0000000..a904533
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement25-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement25
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement25.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement25.js
new file mode 100644
index 0000000..b17679b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement25.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement25";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the DT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement25() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement25") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dt");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-DT",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement25();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement25.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement25.xhtml
new file mode 100644
index 0000000..00aafaf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement25.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement25.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement26-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement26-expected.txt
new file mode 100644
index 0000000..83aa3b6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement26-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement26
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement26.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement26.js
new file mode 100644
index 0000000..6ccd1f5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement26.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement26";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the NOFRAMES element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement26() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement26") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("noframes");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-NOFRAMES",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement26();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement26.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement26.xhtml
new file mode 100644
index 0000000..79d7188
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement26.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement26.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement27-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement27-expected.txt
new file mode 100644
index 0000000..b0fcc00
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement27-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement27
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement27.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement27.js
new file mode 100644
index 0000000..17ecc42
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement27.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement27";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the NOSCRIPT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement27() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement27") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("noscript");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-NOSCRIPT",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement27();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement27.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement27.xhtml
new file mode 100644
index 0000000..ec1705a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement27.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement27.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement28-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement28-expected.txt
new file mode 100644
index 0000000..8dcc5da
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement28-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement28
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement28.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement28.js
new file mode 100644
index 0000000..5862997
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement28.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement28";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the ADDRESS element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement28() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement28") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("address");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-ADDRESS",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement28();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement28.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement28.xhtml
new file mode 100644
index 0000000..fc082d4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement28.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement28.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement29-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement29-expected.txt
new file mode 100644
index 0000000..fe1611e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement29-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement29
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement29.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement29.js
new file mode 100644
index 0000000..3447216
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement29.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement29";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id specifies the elements identifier.
+
+ Retrieve the id attribute of the CENTER element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function HTMLElement29() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement29") != null) return;
+ var nodeList;
+ var testNode;
+ var vid;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("center");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vid = testNode.id;
+
+ assertEquals("idLink","Test-CENTER",vid);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement29();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement29.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement29.xhtml
new file mode 100644
index 0000000..4822f86
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement29.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement29.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement30-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement30-expected.txt
new file mode 100644
index 0000000..c5f6433
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement30-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement30
+Status failure
+Message titleLink: assertEquals failed, actual , expected HEAD Element.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement30.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement30.js
new file mode 100644
index 0000000..13e959b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement30.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement30";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the HEAD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement30() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement30") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("head");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","HEAD Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement30();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement30.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement30.xhtml
new file mode 100644
index 0000000..ead6a27
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement30.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement30.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement31-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement31-expected.txt
new file mode 100644
index 0000000..05635ed
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement31-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement31
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement31.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement31.js
new file mode 100644
index 0000000..5f088d5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement31.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement31";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the SUB element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement31() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement31") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("sub");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","SUB Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement31();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement31.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement31.xhtml
new file mode 100644
index 0000000..a90c1ef
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement31.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement31.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement32-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement32-expected.txt
new file mode 100644
index 0000000..6eb81f1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement32-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement32
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement32.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement32.js
new file mode 100644
index 0000000..8220177
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement32.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement32";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the SUP element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement32() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement32") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("sup");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","SUP Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement32();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement32.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement32.xhtml
new file mode 100644
index 0000000..0595286
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement32.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement32.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement33-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement33-expected.txt
new file mode 100644
index 0000000..9e91dd7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement33-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement33
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement33.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement33.js
new file mode 100644
index 0000000..c777fc6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement33.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement33";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the SPAN element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement33() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement33") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("span");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","SPAN Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement33();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement33.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement33.xhtml
new file mode 100644
index 0000000..b3805f2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement33.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement33.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement34-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement34-expected.txt
new file mode 100644
index 0000000..75c3cbd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement34-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement34
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement34.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement34.js
new file mode 100644
index 0000000..4a198ce
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement34.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement34";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the BDO element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement34() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement34") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("bdo");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","BDO Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement34();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement34.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement34.xhtml
new file mode 100644
index 0000000..2907a5c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement34.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement34.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement35-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement35-expected.txt
new file mode 100644
index 0000000..2c9531b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement35-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement35
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement35.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement35.js
new file mode 100644
index 0000000..0a038a3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement35.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement35";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the TT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement35() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement35") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("tt");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","TT Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement35();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement35.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement35.xhtml
new file mode 100644
index 0000000..5bede5e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement35.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement35.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement36-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement36-expected.txt
new file mode 100644
index 0000000..92b523b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement36-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement36
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement36.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement36.js
new file mode 100644
index 0000000..b842e06
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement36.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement36";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the I element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement36() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement36") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("i");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","I Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement36();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement36.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement36.xhtml
new file mode 100644
index 0000000..3b883ab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement36.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement36.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement37-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement37-expected.txt
new file mode 100644
index 0000000..f5296e7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement37-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement37
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement37.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement37.js
new file mode 100644
index 0000000..2afaa8c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement37.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement37";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the B element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement37() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement37") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("b");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","B Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement37();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement37.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement37.xhtml
new file mode 100644
index 0000000..7c9b967
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement37.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement37.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement38-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement38-expected.txt
new file mode 100644
index 0000000..9102720
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement38-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement38
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement38.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement38.js
new file mode 100644
index 0000000..193cf60
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement38.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement38";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the U element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement38() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement38") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("u");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","U Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement38();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement38.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement38.xhtml
new file mode 100644
index 0000000..e205cfc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement38.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement38.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement39-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement39-expected.txt
new file mode 100644
index 0000000..7effc17
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement39-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement39
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement39.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement39.js
new file mode 100644
index 0000000..3de565b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement39.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement39";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the S element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement39() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement39") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("s");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","S Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement39();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement39.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement39.xhtml
new file mode 100644
index 0000000..72c2c4b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement39.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement39.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement40-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement40-expected.txt
new file mode 100644
index 0000000..75ecb40
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement40-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement40
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement40.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement40.js
new file mode 100644
index 0000000..e6420af
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement40.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement40";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the STRIKE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement40() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement40") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("strike");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","STRIKE Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement40();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement40.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement40.xhtml
new file mode 100644
index 0000000..afc2652
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement40.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement40.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement41-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement41-expected.txt
new file mode 100644
index 0000000..c7442ce
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement41-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement41
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement41.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement41.js
new file mode 100644
index 0000000..4e2c3f7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement41.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement41";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the BIG element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement41() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement41") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("big");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","BIG Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement41();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement41.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement41.xhtml
new file mode 100644
index 0000000..5378675
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement41.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement41.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement42-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement42-expected.txt
new file mode 100644
index 0000000..dce07ce
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement42-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement42
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement42.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement42.js
new file mode 100644
index 0000000..7aa6967
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement42.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement42";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the SMALL element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement42() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement42") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("small");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","SMALL Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement42();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement42.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement42.xhtml
new file mode 100644
index 0000000..206a10d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement42.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement42.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement43-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement43-expected.txt
new file mode 100644
index 0000000..58987ad
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement43-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement43
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement43.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement43.js
new file mode 100644
index 0000000..e247244
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement43.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement43";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the EM element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement43() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement43") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("em");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","EM Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement43();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement43.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement43.xhtml
new file mode 100644
index 0000000..d51e5c9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement43.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement43.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement44-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement44-expected.txt
new file mode 100644
index 0000000..a530b4a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement44-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement44
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement44.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement44.js
new file mode 100644
index 0000000..4a7a7db
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement44.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement44";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the STRONG element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement44() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement44") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("strong");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","STRONG Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement44();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement44.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement44.xhtml
new file mode 100644
index 0000000..39102ac
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement44.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement44.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement45-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement45-expected.txt
new file mode 100644
index 0000000..2b4386b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement45-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement45
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement45.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement45.js
new file mode 100644
index 0000000..175646e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement45.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement45";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the DFN element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement45() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement45") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dfn");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","DFN Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement45();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement45.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement45.xhtml
new file mode 100644
index 0000000..77a41b2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement45.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement45.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement46-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement46-expected.txt
new file mode 100644
index 0000000..1518dfc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement46-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement46
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement46.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement46.js
new file mode 100644
index 0000000..02d1e51
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement46.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement46";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the CODE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement46() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement46") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("code");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","CODE Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement46();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement46.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement46.xhtml
new file mode 100644
index 0000000..7c313ef
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement46.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement46.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement47-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement47-expected.txt
new file mode 100644
index 0000000..2226833
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement47-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement47
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement47.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement47.js
new file mode 100644
index 0000000..d1a9f8c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement47.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement47";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the SAMP element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement47() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement47") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("samp");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","SAMP Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement47();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement47.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement47.xhtml
new file mode 100644
index 0000000..173122b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement47.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement47.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement48-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement48-expected.txt
new file mode 100644
index 0000000..ce6e6aa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement48-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement48
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement48.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement48.js
new file mode 100644
index 0000000..de59559
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement48.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement48";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the KBD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement48() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement48") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("kbd");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","KBD Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement48();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement48.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement48.xhtml
new file mode 100644
index 0000000..c72ea35
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement48.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement48.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement49-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement49-expected.txt
new file mode 100644
index 0000000..78054b6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement49-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement49
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement49.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement49.js
new file mode 100644
index 0000000..3748d53
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement49.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement49";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the VAR element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement49() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement49") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("var");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","VAR Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement49();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement49.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement49.xhtml
new file mode 100644
index 0000000..918c43c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement49.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement49.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement50-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement50-expected.txt
new file mode 100644
index 0000000..c37674c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement50-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement50
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement50.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement50.js
new file mode 100644
index 0000000..0cf3eba
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement50.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement50";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the CITE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement50() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement50") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("cite");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","CITE Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement50();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement50.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement50.xhtml
new file mode 100644
index 0000000..edb3a92
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement50.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement50.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement51-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement51-expected.txt
new file mode 100644
index 0000000..9142e9e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement51-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement51
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement51.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement51.js
new file mode 100644
index 0000000..7c4b909
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement51.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement51";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the ACRONYM element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement51() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement51") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("acronym");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","ACRONYM Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement51();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement51.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement51.xhtml
new file mode 100644
index 0000000..6e232b3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement51.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement51.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement52-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement52-expected.txt
new file mode 100644
index 0000000..9f2a854
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement52-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement52
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement52.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement52.js
new file mode 100644
index 0000000..96def49
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement52.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement52";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the ABBR element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement52() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement52") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("abbr");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","ABBR Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement52();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement52.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement52.xhtml
new file mode 100644
index 0000000..bb070b2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement52.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement52.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement53-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement53-expected.txt
new file mode 100644
index 0000000..ddf77e5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement53-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement53
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement53.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement53.js
new file mode 100644
index 0000000..7cb7e86
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement53.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement53";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the DD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement53() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement53") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dd");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","DD Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement53();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement53.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement53.xhtml
new file mode 100644
index 0000000..30ab2a8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement53.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement53.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement54-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement54-expected.txt
new file mode 100644
index 0000000..25eb95d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement54-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement54
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement54.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement54.js
new file mode 100644
index 0000000..269ef68
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement54.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement54";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the DT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement54() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement54") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dt");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","DT Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement54();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement54.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement54.xhtml
new file mode 100644
index 0000000..5d383a3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement54.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement54.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement55-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement55-expected.txt
new file mode 100644
index 0000000..e4fcaa0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement55-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement55
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement55.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement55.js
new file mode 100644
index 0000000..db0bff7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement55.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement55";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the NOFRAMES element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement55() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement55") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("noframes");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","NOFRAMES Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement55();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement55.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement55.xhtml
new file mode 100644
index 0000000..ba7d565
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement55.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement55.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement56-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement56-expected.txt
new file mode 100644
index 0000000..c51e7a2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement56-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement56
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement56.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement56.js
new file mode 100644
index 0000000..c7cc587
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement56.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement56";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the NOSCRIPT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement56() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement56") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("noscript");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","NOSCRIPT Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement56();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement56.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement56.xhtml
new file mode 100644
index 0000000..cbcd74d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement56.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement56.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement57-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement57-expected.txt
new file mode 100644
index 0000000..5be4665
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement57-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement57
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement57.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement57.js
new file mode 100644
index 0000000..28a2171
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement57.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement57";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the ADDRESS element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement57() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement57") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("address");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","ADDRESS Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement57();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement57.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement57.xhtml
new file mode 100644
index 0000000..4eabfb7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement57.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement57.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement58-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement58-expected.txt
new file mode 100644
index 0000000..ab5b6ee
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement58-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement58
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement58.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement58.js
new file mode 100644
index 0000000..191ccc0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement58.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement58";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The title attribute specifies the elements advisory title.
+
+ Retrieve the title attribute of the CENTER element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78276800
+*/
+function HTMLElement58() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement58") != null) return;
+ var nodeList;
+ var testNode;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("center");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtitle = testNode.title;
+
+ assertEquals("titleLink","CENTER Element",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement58();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement58.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement58.xhtml
new file mode 100644
index 0000000..75e11dd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement58.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement58.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement59-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement59-expected.txt
new file mode 100644
index 0000000..d2dcb73
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement59-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement59
+Status failure
+Message langLink: assertEquals failed, actual , expected en.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement59.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement59.js
new file mode 100644
index 0000000..987c283
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement59.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement59";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the HEAD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement59() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement59") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("head");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement59();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement59.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement59.xhtml
new file mode 100644
index 0000000..94a42bd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement59.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement59.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement60-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement60-expected.txt
new file mode 100644
index 0000000..4ce73e9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement60-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement60
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement60.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement60.js
new file mode 100644
index 0000000..6a8665b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement60.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement60";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the SUB element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement60() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement60") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("sub");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement60();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement60.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement60.xhtml
new file mode 100644
index 0000000..068d585
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement60.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement60.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement61-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement61-expected.txt
new file mode 100644
index 0000000..861b613
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement61-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement61
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement61.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement61.js
new file mode 100644
index 0000000..efc2fe5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement61.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement61";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the SUP element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement61() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement61") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("sup");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement61();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement61.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement61.xhtml
new file mode 100644
index 0000000..9a5787b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement61.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement61.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement62-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement62-expected.txt
new file mode 100644
index 0000000..edd3579
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement62-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement62
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement62.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement62.js
new file mode 100644
index 0000000..88f61b5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement62.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement62";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the SPAN element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement62() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement62") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("span");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement62();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement62.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement62.xhtml
new file mode 100644
index 0000000..0956d4e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement62.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement62.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement63-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement63-expected.txt
new file mode 100644
index 0000000..085e4c2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement63-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement63
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement63.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement63.js
new file mode 100644
index 0000000..44b55b6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement63.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement63";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the BDO element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement63() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement63") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("bdo");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement63();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement63.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement63.xhtml
new file mode 100644
index 0000000..4639ec2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement63.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement63.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement64-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement64-expected.txt
new file mode 100644
index 0000000..97ed97c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement64-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement64
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement64.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement64.js
new file mode 100644
index 0000000..61d7f58
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement64.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement64";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the TT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement64() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement64") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("tt");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement64();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement64.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement64.xhtml
new file mode 100644
index 0000000..4c1bc71
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement64.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement64.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement65-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement65-expected.txt
new file mode 100644
index 0000000..4a38db5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement65-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement65
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement65.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement65.js
new file mode 100644
index 0000000..20f7cb6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement65.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement65";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the I element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement65() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement65") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("i");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement65();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement65.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement65.xhtml
new file mode 100644
index 0000000..6686311
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement65.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement65.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement66-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement66-expected.txt
new file mode 100644
index 0000000..4780919
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement66-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement66
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement66.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement66.js
new file mode 100644
index 0000000..7f0f349
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement66.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement66";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the B element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement66() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement66") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("b");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement66();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement66.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement66.xhtml
new file mode 100644
index 0000000..3329cca
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement66.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement66.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement67-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement67-expected.txt
new file mode 100644
index 0000000..87d71e3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement67-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement67
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement67.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement67.js
new file mode 100644
index 0000000..820c698
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement67.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement67";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the U element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement67() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement67") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("u");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement67();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement67.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement67.xhtml
new file mode 100644
index 0000000..db388e4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement67.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement67.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement68-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement68-expected.txt
new file mode 100644
index 0000000..e8314c7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement68-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement68
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement68.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement68.js
new file mode 100644
index 0000000..162d5bd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement68.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement68";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the S element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement68() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement68") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("s");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement68();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement68.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement68.xhtml
new file mode 100644
index 0000000..e891c11
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement68.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement68.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement69-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement69-expected.txt
new file mode 100644
index 0000000..0328b21
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement69-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement69
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement69.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement69.js
new file mode 100644
index 0000000..75d7589
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement69.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement69";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the STRIKE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement69() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement69") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("strike");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement69();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement69.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement69.xhtml
new file mode 100644
index 0000000..f3bca39
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement69.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement69.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement70-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement70-expected.txt
new file mode 100644
index 0000000..0090aa2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement70-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement70
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement70.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement70.js
new file mode 100644
index 0000000..6a9336d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement70.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement70";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the BIG element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement70() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement70") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("big");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement70();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement70.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement70.xhtml
new file mode 100644
index 0000000..0d34571
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement70.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement70.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement71-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement71-expected.txt
new file mode 100644
index 0000000..d0ca71d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement71-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement71
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement71.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement71.js
new file mode 100644
index 0000000..c2f61ab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement71.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement71";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the SMALL element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement71() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement71") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("small");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement71();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement71.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement71.xhtml
new file mode 100644
index 0000000..680baa6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement71.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement71.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement72-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement72-expected.txt
new file mode 100644
index 0000000..6b9a07f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement72-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement72
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement72.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement72.js
new file mode 100644
index 0000000..7a94a4e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement72.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement72";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the EM element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement72() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement72") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("em");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement72();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement72.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement72.xhtml
new file mode 100644
index 0000000..5d28627
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement72.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement72.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement73-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement73-expected.txt
new file mode 100644
index 0000000..81dcba7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement73-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement73
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement73.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement73.js
new file mode 100644
index 0000000..5186b3f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement73.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement73";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the STRONG element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement73() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement73") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("strong");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement73();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement73.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement73.xhtml
new file mode 100644
index 0000000..6743d2d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement73.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement73.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement74-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement74-expected.txt
new file mode 100644
index 0000000..6bd1fff
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement74-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement74
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement74.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement74.js
new file mode 100644
index 0000000..bc4ccb5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement74.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement74";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the DFN element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement74() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement74") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dfn");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement74();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement74.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement74.xhtml
new file mode 100644
index 0000000..ecba643
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement74.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement74.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement75-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement75-expected.txt
new file mode 100644
index 0000000..54196b7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement75-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement75
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement75.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement75.js
new file mode 100644
index 0000000..277e170
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement75.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement75";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the CODE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement75() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement75") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("code");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement75();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement75.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement75.xhtml
new file mode 100644
index 0000000..c26d541
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement75.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement75.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement76-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement76-expected.txt
new file mode 100644
index 0000000..c647096
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement76-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement76
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement76.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement76.js
new file mode 100644
index 0000000..7c74084
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement76.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement76";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the SAMP element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement76() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement76") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("samp");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement76();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement76.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement76.xhtml
new file mode 100644
index 0000000..aeda888
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement76.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement76.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement77-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement77-expected.txt
new file mode 100644
index 0000000..95e500f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement77-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement77
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement77.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement77.js
new file mode 100644
index 0000000..5e53bb2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement77.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement77";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the KBD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement77() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement77") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("kbd");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement77();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement77.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement77.xhtml
new file mode 100644
index 0000000..b585935
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement77.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement77.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement78-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement78-expected.txt
new file mode 100644
index 0000000..3998973
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement78-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement78
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement78.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement78.js
new file mode 100644
index 0000000..4a812cb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement78.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement78";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the VAR element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement78() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement78") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("var");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement78();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement78.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement78.xhtml
new file mode 100644
index 0000000..7f0e2f2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement78.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement78.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement79-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement79-expected.txt
new file mode 100644
index 0000000..1e0b4ba
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement79-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement79
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement79.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement79.js
new file mode 100644
index 0000000..0e018c0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement79.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement79";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the CITE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement79() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement79") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("cite");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement79();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement79.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement79.xhtml
new file mode 100644
index 0000000..3e6ec88
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement79.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement79.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement80-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement80-expected.txt
new file mode 100644
index 0000000..417a694
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement80-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement80
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement80.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement80.js
new file mode 100644
index 0000000..98312eb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement80.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement80";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the ACRONYM element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement80() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement80") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("acronym");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement80();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement80.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement80.xhtml
new file mode 100644
index 0000000..9cec900
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement80.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement80.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement81-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement81-expected.txt
new file mode 100644
index 0000000..051f74b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement81-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement81
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement81.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement81.js
new file mode 100644
index 0000000..9919028
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement81.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement81";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the ABBR element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement81() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement81") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("abbr");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement81();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement81.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement81.xhtml
new file mode 100644
index 0000000..446f2df
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement81.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement81.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement82-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement82-expected.txt
new file mode 100644
index 0000000..0901f2a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement82-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement82
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement82.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement82.js
new file mode 100644
index 0000000..8a42639
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement82.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement82";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the DD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement82() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement82") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dd");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement82();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement82.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement82.xhtml
new file mode 100644
index 0000000..efa1a33
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement82.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement82.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement83-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement83-expected.txt
new file mode 100644
index 0000000..4bad032
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement83-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement83
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement83.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement83.js
new file mode 100644
index 0000000..91a3d09
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement83.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement83";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the DT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement83() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement83") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("dt");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement83();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement83.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement83.xhtml
new file mode 100644
index 0000000..4afe41d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement83.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement83.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement84-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement84-expected.txt
new file mode 100644
index 0000000..8c266da
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement84-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement84
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement84.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement84.js
new file mode 100644
index 0000000..0f99c06
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement84.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement84";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the NOFRAMES element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement84() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement84") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("noframes");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement84();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement84.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement84.xhtml
new file mode 100644
index 0000000..17628e6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement84.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement84.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement85-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement85-expected.txt
new file mode 100644
index 0000000..91958fd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement85-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement85
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement85.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement85.js
new file mode 100644
index 0000000..8850a07
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement85.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement85";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the NOSCRIPT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement85() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement85") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("noscript");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement85();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement85.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement85.xhtml
new file mode 100644
index 0000000..18ccef9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement85.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement85.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement86-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement86-expected.txt
new file mode 100644
index 0000000..a3bb15d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement86-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement86
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement86.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement86.js
new file mode 100644
index 0000000..6e13bac
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement86.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement86";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the ADDRESS element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement86() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement86") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("address");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement86();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement86.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement86.xhtml
new file mode 100644
index 0000000..612109c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement86.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement86.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement87-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement87-expected.txt
new file mode 100644
index 0000000..3b8e298
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement87-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement87
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement87.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement87.js
new file mode 100644
index 0000000..a27d786
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement87.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement87";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The lang attribute specifies the language code defined in RFC 1766.
+
+ Retrieve the lang attribute of the CENTER element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59132807
+*/
+function HTMLElement87() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement87") != null) return;
+ var nodeList;
+ var testNode;
+ var vlang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("center");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vlang = testNode.lang;
+
+ assertEquals("langLink","en",vlang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement87();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement87.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement87.xhtml
new file mode 100644
index 0000000..47ec3c9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement87.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement87.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement88-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement88-expected.txt
new file mode 100644
index 0000000..6e59cfc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement88-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement88
+Status failure
+Message dirLink: assertEquals failed, actual , expected ltr.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement88.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement88.js
new file mode 100644
index 0000000..5bf6131
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement88.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement88";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the HEAD element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement88() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement88") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("head");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement88();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement88.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement88.xhtml
new file mode 100644
index 0000000..e5e21ad
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement88.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement88.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement89-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement89-expected.txt
new file mode 100644
index 0000000..21478a8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement89-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement89
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement89.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement89.js
new file mode 100644
index 0000000..6714cd2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement89.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement89";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the SUB element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement89() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement89") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("sub");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement89();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement89.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement89.xhtml
new file mode 100644
index 0000000..a81bce7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement89.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement89.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement90-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement90-expected.txt
new file mode 100644
index 0000000..5333196
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement90-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement90
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement90.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement90.js
new file mode 100644
index 0000000..f093155
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement90.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement90";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the SUP element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement90() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement90") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("sup");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement90();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement90.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement90.xhtml
new file mode 100644
index 0000000..49658d9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement90.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement90.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement91-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement91-expected.txt
new file mode 100644
index 0000000..4d7f08bf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement91-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement91
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement91.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement91.js
new file mode 100644
index 0000000..a83c527
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement91.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement91";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the SPAN element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement91() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement91") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("span");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement91();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement91.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement91.xhtml
new file mode 100644
index 0000000..be0692d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement91.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement91.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement92-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement92-expected.txt
new file mode 100644
index 0000000..8bc683f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement92-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement92
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement92.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement92.js
new file mode 100644
index 0000000..3c1bf35
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement92.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement92";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the BDO element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement92() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement92") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("bdo");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement92();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement92.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement92.xhtml
new file mode 100644
index 0000000..d0345cf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement92.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement92.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement93-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement93-expected.txt
new file mode 100644
index 0000000..c652e74
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement93-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement93
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement93.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement93.js
new file mode 100644
index 0000000..ae86a05
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement93.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement93";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the TT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement93() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement93") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("tt");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement93();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement93.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement93.xhtml
new file mode 100644
index 0000000..10303b8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement93.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement93.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement94-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement94-expected.txt
new file mode 100644
index 0000000..cfba91f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement94-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement94
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement94.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement94.js
new file mode 100644
index 0000000..67ba5c3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement94.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement94";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the I element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement94() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement94") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("i");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement94();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement94.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement94.xhtml
new file mode 100644
index 0000000..9f31084
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement94.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement94.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement95-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement95-expected.txt
new file mode 100644
index 0000000..f08ddb7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement95-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement95
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement95.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement95.js
new file mode 100644
index 0000000..be77082
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement95.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement95";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the B element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement95() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement95") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("b");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement95();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement95.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement95.xhtml
new file mode 100644
index 0000000..2be3987
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement95.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement95.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement96-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement96-expected.txt
new file mode 100644
index 0000000..a59dc6b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement96-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement96
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement96.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement96.js
new file mode 100644
index 0000000..41f7586
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement96.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement96";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the U element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement96() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement96") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("u");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement96();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement96.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement96.xhtml
new file mode 100644
index 0000000..3a1770f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement96.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement96.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement97-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement97-expected.txt
new file mode 100644
index 0000000..8ca7f89
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement97-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement97
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement97.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement97.js
new file mode 100644
index 0000000..adc9d1f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement97.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement97";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the S element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement97() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement97") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("s");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement97();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement97.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement97.xhtml
new file mode 100644
index 0000000..2ba0b64
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement97.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement97.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement98-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement98-expected.txt
new file mode 100644
index 0000000..24422a1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement98-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement98
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement98.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement98.js
new file mode 100644
index 0000000..d78b6aa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement98.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement98";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the STRIKE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement98() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement98") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("strike");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement98();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement98.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement98.xhtml
new file mode 100644
index 0000000..6038c64d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement98.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement98.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement99-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLElement99-expected.txt
new file mode 100644
index 0000000..24e9afb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement99-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement99
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement99.js b/LayoutTests/dom/xhtml/level2/html/HTMLElement99.js
new file mode 100644
index 0000000..8068362
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement99.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLElement99";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "element");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dir attribute specifies the base direction of directionally neutral text and the directionality of tables.
+
+ Retrieve the dir attribute of the BIG element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52460740
+*/
+function HTMLElement99() {
+ var success;
+ if(checkInitialization(builder, "HTMLElement99") != null) return;
+ var nodeList;
+ var testNode;
+ var vdir;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "element");
+ nodeList = doc.getElementsByTagName("big");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdir = testNode.dir;
+
+ assertEquals("dirLink","ltr",vdir);
+
+}
+
+
+
+
+function runTest() {
+ HTMLElement99();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLElement99.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLElement99.xhtml
new file mode 100644
index 0000000..834557a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLElement99.xhtml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html lang="en" dir="ltr" xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Element</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLElement99.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<center id="Test-CENTER" title="CENTER Element" lang="en" dir="ltr" class="CENTER-class">
+<object align="middle"></object>
+</center>
+<center>
+<p align="center">Test Lists</p>
+</center>
+<br />
+<ol compact="compact" start="1" type="1">
+ <li type="square" value="2">EMP0001
+ <ul compact="compact" type="disc">
+ <li>Margaret Martin
+ <dl>
+ <dd id="Test-DD" title="DD Element" lang="en" dir="ltr" class="DD-class">Accountant</dd>
+ <dd>56,000</dd>
+ <dd>Female</dd>
+ <dd>1230 North Ave. Dallas, Texas 98551</dd>
+ </dl>
+ </li>
+ </ul>
+ </li>
+</ol>
+<br />
+<b id="Test-B" title="B Element" lang="en" dir="ltr" class="B-class">Bold</b>
+<br />
+<dl>
+ <dt id="Test-DT" title="DT Element" lang="en" dir="ltr" class="DT-class">DT element</dt>
+</dl>
+<br />
+<bdo id="Test-BDO" title="BDO Element" lang="en" dir="ltr" class="BDO-class">Bidirectional algorithm overide
+</bdo>
+<br />
+<i id="Test-I" title="I Element" lang="en" dir="ltr" class="I-class">Italicized</i>
+<br />
+<span id="Test-SPAN" title="SPAN Element" lang="en" dir="ltr" class="SPAN-class"></span>
+<br />
+<tt id="Test-TT" title="TT Element" lang="en" dir="ltr" class="TT-class">Teletype</tt>
+<br />
+<sub id="Test-SUB" title="SUB Element" lang="en" dir="ltr" class="SUB-class">Subscript</sub>
+<br />
+<sup id="Test-SUP" title="SUP Element" lang="en" dir="ltr" class="SUP-class">SuperScript</sup>
+<br />
+<s id="Test-S" title="S Element" lang="en" dir="ltr" class="S-class">Strike Through (S)</s>
+<br />
+<strike id="Test-STRIKE" title="STRIKE Element" lang="en" dir="ltr" class="STRIKE-class">Strike Through (STRIKE)</strike>
+<br />
+<small id="Test-SMALL" title="SMALL Element" lang="en" dir="ltr" class="SMALL-class">Small</small>
+<br />
+<big id="Test-BIG" title="BIG Element" lang="en" dir="ltr" class="BIG-class">Big</big>
+<br />
+<em id="Test-EM" title="EM Element" lang="en" dir="ltr" class="EM-class">Emphasis</em>
+<br />
+<strong id="Test-STRONG" title="STRONG Element" lang="en" dir="ltr" class="STRONG-class">Strong</strong>
+<br />
+<dfn id="Test-DFN" title="DFN Element" lang="en" dir="ltr" class="DFN-class">
+ <code id="Test-CODE" title="CODE Element" lang="en" dir="ltr" class="CODE-class">10 Computer Code Fragment 20 Temp = 10</code>
+ <samp id="Test-SAMP" title="SAMP Element" lang="en" dir="ltr" class="SAMP-class">Temp = 20</samp>
+ <kbd id="Test-KBD" title="KBD Element" lang="en" dir="ltr" class="KBD-class">*2</kbd>
+ <var id="Test-VAR" title="VAR Element" lang="en" dir="ltr" class="VAR-class">Temp</var>
+ <cite id="Test-CITE" title="CITE Element" lang="en" dir="ltr" class="CITE-class">Citation</cite>
+</dfn>
+<br />
+<abbr id="Test-ABBR" title="ABBR Element" lang="en" dir="ltr" class="ABBR-class">Temp</abbr>
+<br />
+<acronym id="Test-ACRONYM" title="ACRONYM Element" lang="en" dir="ltr" class="ACRONYM-class">NIST</acronym>
+<br />
+<address id="Test-ADDRESS" title="ADDRESS Element" lang="en" dir="ltr" class="ADDRESS-class">Gaithersburg, MD 20899</address>
+<br />
+<noframes id="Test-NOFRAMES" title="NOFRAMES Element" lang="en" dir="ltr" class="NOFRAMES-class">Not</noframes>
+<br />
+<noscript id="Test-NOSCRIPT" title="NOSCRIPT Element" lang="en" dir="ltr" class="NOSCRIPT-class">Not</noscript>
+<br />
+<u id="Test-U" title="U Element" lang="en" dir="ltr" class="U-class">Underlined</u>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement01-expected.txt
new file mode 100644
index 0000000..f9f18c5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFieldSetElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement01.js
new file mode 100644
index 0000000..f7e114f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement01.js
@@ -0,0 +1,116 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFieldSetElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "fieldset");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns the FORM element containing this control.
+
+ Retrieve the form attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75392630
+*/
+function HTMLFieldSetElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLFieldSetElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var fNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "fieldset");
+ nodeList = doc.getElementsByTagName("fieldset");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ fNode = testNode.form;
+
+ vform = fNode.id;
+
+ assertEquals("formLink","form2",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFieldSetElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement01.xhtml
new file mode 100644
index 0000000..ecfee14
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement01.xhtml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FieldSet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFieldSetElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<fieldset>
+<legend>All data entered must be valid</legend>
+</fieldset>
+</form>
+<table summary="Table 1">
+<tr>
+<td>
+<fieldset>
+<legend>All data entered must be valid</legend>
+</fieldset>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement02-expected.txt
new file mode 100644
index 0000000..af79eaa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFieldSetElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement02.js
new file mode 100644
index 0000000..bfff386
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFieldSetElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "fieldset");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns null if control in not within the context of
+ form.
+
+ Retrieve the form attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75392630
+*/
+function HTMLFieldSetElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLFieldSetElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "fieldset");
+ nodeList = doc.getElementsByTagName("fieldset");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vform = testNode.form;
+
+ assertNull("formNullLink",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFieldSetElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement02.xhtml
new file mode 100644
index 0000000..5c478e6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFieldSetElement02.xhtml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FieldSet</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFieldSetElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<fieldset>
+<legend>All data entered must be valid</legend>
+</fieldset>
+</form>
+<table summary="Table 1">
+<tr>
+<td>
+<fieldset>
+<legend>All data entered must be valid</legend>
+</fieldset>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFontElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement01-expected.txt
new file mode 100644
index 0000000..14d6f95
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFontElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFontElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement01.js
new file mode 100644
index 0000000..acd58b3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFontElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "font");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The color attribute specifies the font's color.
+
+ Retrieve the color attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53532975
+*/
+function HTMLFontElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLFontElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcolor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "font");
+ nodeList = doc.getElementsByTagName("font");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcolor = testNode.color;
+
+ assertEquals("colorLink","#000000",vcolor);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFontElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFontElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement01.xhtml
new file mode 100644
index 0000000..b924d21
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement01.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BaseFont</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFontElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<font color="#000000" face="arial,helvitica" size="4">Test Tables</font>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFontElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement02-expected.txt
new file mode 100644
index 0000000..7e004c0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement02-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFontElement02
+Status failure
+Message faceLink: assertEquals failed, actual arial,helvitica, expected arial,helvetica.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFontElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement02.js
new file mode 100644
index 0000000..f194275
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFontElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "font");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The face attribute specifies the font's face identifier.
+
+ Retrieve the face attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-55715655
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLFormElement-length
+*/
+function HTMLFontElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLFontElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vface;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "font");
+ nodeList = doc.getElementsByTagName("font");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vface = testNode.face;
+
+ assertEquals("faceLink","arial,helvetica",vface);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFontElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFontElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement02.xhtml
new file mode 100644
index 0000000..e4df2b5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement02.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BaseFont</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFontElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<font color="#000000" face="arial,helvitica" size="4">Test Tables</font>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFontElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement03-expected.txt
new file mode 100644
index 0000000..01d7cdb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFontElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFontElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement03.js
new file mode 100644
index 0000000..21fd7b4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement03.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFontElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "font");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The size attribute specifies the font's size.
+
+ Retrieve the size attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90127284
+*/
+function HTMLFontElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLFontElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vsize;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "font");
+ nodeList = doc.getElementsByTagName("font");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vsize = testNode.size;
+
+ assertEquals("sizeLink","4",vsize);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFontElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFontElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement03.xhtml
new file mode 100644
index 0000000..8f06a06
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFontElement03.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BaseFont</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFontElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<font color="#000000" face="arial,helvitica" size="4">Test Tables</font>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement01-expected.txt
new file mode 100644
index 0000000..85004a2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement01.js
new file mode 100644
index 0000000..a7f8bf8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement01.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "form");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The elements attribute specifies a collection of all control element
+ in the form.
+
+ Retrieve the elements attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76728479
+*/
+function HTMLFormElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLFormElement01") != null) return;
+ var nodeList;
+ var elementnodeList;
+ var testNode;
+ var velements;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "form");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ elementnodeList = testNode.elements;
+
+ velements = elementnodeList.length;
+
+ assertEquals("elementsLink",3,velements);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFormElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement01.xhtml
new file mode 100644
index 0000000..16f38d1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement01.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FORM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFormElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea id="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement02-expected.txt
new file mode 100644
index 0000000..3601605
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement02.js
new file mode 100644
index 0000000..1b70a00
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "form");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The length attribute specifies the number of form controls
+ in the form.
+
+ Retrieve the length attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40002357
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLFormElement-length
+*/
+function HTMLFormElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLFormElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vlength;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "form");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlength = testNode.length;
+
+ assertEquals("lengthLink",3,vlength);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFormElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement02.xhtml
new file mode 100644
index 0000000..9e056de
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement02.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FORM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFormElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea id="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement03-expected.txt
new file mode 100644
index 0000000..0050523
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement03.js
new file mode 100644
index 0000000..915c5be
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement03.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "form");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The id(name) attribute specifies the name of the form.
+
+ Retrieve the id attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22051454
+*/
+function HTMLFormElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLFormElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "form");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.id;
+
+ assertEquals("nameLink","form1",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFormElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement03.xhtml
new file mode 100644
index 0000000..0d09460
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement03.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FORM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFormElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea id="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement04-expected.txt
new file mode 100644
index 0000000..897310a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement04.js
new file mode 100644
index 0000000..ca7fd77
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement04.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "form");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The acceptCharset attribute specifies the list of character sets
+ supported by the server.
+
+ Retrieve the acceptCharset attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19661795
+*/
+function HTMLFormElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLFormElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vacceptcharset;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "form");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vacceptcharset = testNode.acceptCharset;
+
+ assertEquals("acceptCharsetLink","US-ASCII",vacceptcharset);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFormElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement04.xhtml
new file mode 100644
index 0000000..9dbc15e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement04.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FORM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFormElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea id="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement05-expected.txt
new file mode 100644
index 0000000..3a459e0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement05.js
new file mode 100644
index 0000000..9a35e69
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement05.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "form");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The action attribute specifies the server-side form handler.
+
+ Retrieve the action attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74049184
+*/
+function HTMLFormElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLFormElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vaction;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "form");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vaction = testNode.action;
+
+ assertURIEquals("actionLink",null,null,null,"getData.pl",null,null,null,null,vaction);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFormElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement05.xhtml
new file mode 100644
index 0000000..49ea896
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement05.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FORM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFormElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea id="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement06-expected.txt
new file mode 100644
index 0000000..354ab90
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement06.js
new file mode 100644
index 0000000..0f3d228
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement06.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "form");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The enctype attribute specifies the content of the submitted form.
+
+ Retrieve the enctype attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84227810
+*/
+function HTMLFormElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLFormElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var venctype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "form");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ venctype = testNode.enctype;
+
+ assertEquals("enctypeLink","application/x-www-form-urlencoded",venctype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFormElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement06.xhtml
new file mode 100644
index 0000000..2e81100
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement06.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FORM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFormElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea id="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement07-expected.txt
new file mode 100644
index 0000000..54155b4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement07.js
new file mode 100644
index 0000000..b18bc8c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement07.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "form");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The method attribute specifies the HTTP method used to submit the form.
+
+ Retrieve the method attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82545539
+*/
+function HTMLFormElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLFormElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vmethod;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "form");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vmethod = testNode.method;
+
+ assertEquals("methodLink","post",vmethod);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFormElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement07.xhtml
new file mode 100644
index 0000000..9eb4001
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement07.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FORM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFormElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea id="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement08-expected.txt
new file mode 100644
index 0000000..1ab90e0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement08.js
new file mode 100644
index 0000000..a180b46
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement08.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "form2");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The target attribute specifies the frame to render the resource in.
+
+ Retrieve the target attribute and examine it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6512890
+*/
+function HTMLFormElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLFormElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vtarget;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "form2");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtarget = testNode.target;
+
+ assertEquals("targetLink","dynamic",vtarget);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFormElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement08.xhtml
new file mode 100644
index 0000000..e20a6e0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement08.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FORM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFormElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" target="dynamic" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea id="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement09-expected.txt
new file mode 100644
index 0000000..0447e9c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement09.js
new file mode 100644
index 0000000..bf92eb8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement09.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "form2");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+HTMLFormElement.reset restores the forms default values.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76767677
+*/
+function HTMLFormElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLFormElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "form2");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ testNode.reset();
+
+}
+
+
+
+
+function runTest() {
+ HTMLFormElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement09.xhtml
new file mode 100644
index 0000000..16f12a0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement09.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FORM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFormElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" target="dynamic" accept-charset="US-ASCII" action="./files/getData.pl" enctype="application/x-www-form-urlencoded" method="post">
+<p>
+<textarea id="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement10-expected.txt
new file mode 100644
index 0000000..18b65da
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement10.js
new file mode 100644
index 0000000..834740e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement10.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFormElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "form3");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+HTMLFormElement.submit submits the form.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76767676
+*/
+function HTMLFormElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLFormElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "form3");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ testNode.submit();
+
+}
+
+
+
+
+function runTest() {
+ HTMLFormElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFormElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement10.xhtml
new file mode 100644
index 0000000..f909bb5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFormElement10.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>FORM3</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFormElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="about:blank">
+<p>
+<textarea id="text1" cols="20" rows="7"></textarea>
+<input type="submit" name="submit1" value="Submit" />
+<input type="reset" name="submit2" value="Reset" />
+</p>
+</form>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement01-expected.txt
new file mode 100644
index 0000000..589cbd3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement01.js
new file mode 100644
index 0000000..d83bd0e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement01.js
@@ -0,0 +1,116 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "frame");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The frameBorder attribute specifies the request for frame borders.
+ (frameBorder=1 A border is drawn)
+ (FrameBorder=0 A border is not drawn)
+
+ Retrieve the frameBorder attribute of the first FRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11858633
+*/
+function HTMLFrameElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLFrameElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vframeborder;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "frame");
+ nodeList = doc.getElementsByTagName("frame");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vframeborder = testNode.frameBorder;
+
+ assertEquals("frameborderLink","1",vframeborder);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFrameElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement01.xhtml
new file mode 100644
index 0000000..aab4d44
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement01.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFrameElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<frameset cols="20, 80" onload="loadComplete()">
+<frameset rows="100, 200">
+<frame longdesc="about:blank" marginheight="10" marginwidth="5" noresize="noresize" name="Frame1" frameborder="1" scrolling="yes" src="right.png" />
+</frameset>
+<frame src="w3c_main.png" />
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement02-expected.txt
new file mode 100644
index 0000000..e2309f2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement02.js
new file mode 100644
index 0000000..0540a7c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "frame");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The longDesc attribute specifies a URI designating a long description
+ of this image or frame.
+
+ Retrieve the longDesc attribute of the first FRAME element and examine
+ its value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-7836998
+*/
+function HTMLFrameElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLFrameElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vlongdesc;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "frame");
+ nodeList = doc.getElementsByTagName("frame");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vlongdesc = testNode.longDesc;
+
+ assertEquals("longdescLink","about:blank",vlongdesc);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFrameElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement02.xhtml
new file mode 100644
index 0000000..762f5fe
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement02.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFrameElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<frameset cols="20, 80" onload="loadComplete()">
+<frameset rows="100, 200">
+<frame longdesc="about:blank" marginheight="10" marginwidth="5" noresize="noresize" name="Frame1" frameborder="1" scrolling="yes" src="right.png" />
+</frameset>
+<frame src="w3c_main.png" />
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement03-expected.txt
new file mode 100644
index 0000000..8bd8dbf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement03.js
new file mode 100644
index 0000000..23cbc62
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "frame");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The marginHeight attribute specifies the frame margin height, in pixels.
+
+ Retrieve the marginHeight attribute of the first FRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-55569778
+*/
+function HTMLFrameElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLFrameElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vmarginheight;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "frame");
+ nodeList = doc.getElementsByTagName("frame");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vmarginheight = testNode.marginHeight;
+
+ assertEquals("marginheightLink","10",vmarginheight);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFrameElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement03.xhtml
new file mode 100644
index 0000000..1641f15
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement03.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFrameElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<frameset cols="20, 80" onload="loadComplete()">
+<frameset rows="100, 200">
+<frame longdesc="about:blank" marginheight="10" marginwidth="5" noresize="noresize" name="Frame1" frameborder="1" scrolling="yes" src="right.png" />
+</frameset>
+<frame src="w3c_main.png" />
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement04-expected.txt
new file mode 100644
index 0000000..343651b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement04.js
new file mode 100644
index 0000000..5d84e93
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement04.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "frame");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The marginWidth attribute specifies the frame margin width, in pixels.
+
+ Retrieve the marginWidth attribute of the first FRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8369969
+*/
+function HTMLFrameElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLFrameElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vmarginwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "frame");
+ nodeList = doc.getElementsByTagName("frame");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vmarginwidth = testNode.marginWidth;
+
+ assertEquals("marginwidthLink","5",vmarginwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFrameElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement04.xhtml
new file mode 100644
index 0000000..83cfc8a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement04.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFrameElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<frameset cols="20, 80" onload="loadComplete()">
+<frameset rows="100, 200">
+<frame longdesc="about:blank" marginheight="10" marginwidth="5" noresize="noresize" name="Frame1" frameborder="1" scrolling="yes" src="right.png" />
+</frameset>
+<frame src="w3c_main.png" />
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement05-expected.txt
new file mode 100644
index 0000000..cee235d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement05.js
new file mode 100644
index 0000000..32cd2ee
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement05.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "frame");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute specifies the frame name(object of the target
+ attribute).
+
+ Retrieve the name attribute of the first FRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91128709
+*/
+function HTMLFrameElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLFrameElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "frame");
+ nodeList = doc.getElementsByTagName("frame");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.name;
+
+ assertEquals("nameLink","Frame1",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFrameElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement05.xhtml
new file mode 100644
index 0000000..8e41ecf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement05.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFrameElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<frameset cols="20, 80" onload="loadComplete()">
+<frameset rows="100, 200">
+<frame longdesc="about:blank" marginheight="10" marginwidth="5" noresize="noresize" name="Frame1" frameborder="1" scrolling="yes" src="right.png" />
+</frameset>
+<frame src="w3c_main.png" />
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement06-expected.txt
new file mode 100644
index 0000000..7ea84ec
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement06.js
new file mode 100644
index 0000000..4013b1e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement06.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "frame");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The noResize attribute specifies if the user can resize the frame. When
+ true, forbid user from resizing frame.
+
+ Retrieve the noResize attribute of the first FRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80766578
+*/
+function HTMLFrameElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLFrameElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vnoresize;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "frame");
+ nodeList = doc.getElementsByTagName("frame");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vnoresize = testNode.noResize;
+
+ assertTrue("noresizeLink",vnoresize);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFrameElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement06.xhtml
new file mode 100644
index 0000000..538a649
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement06.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFrameElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<frameset cols="20, 80" onload="loadComplete()">
+<frameset rows="100, 200">
+<frame longdesc="about:blank" marginheight="10" marginwidth="5" noresize="noresize" name="Frame1" frameborder="1" scrolling="yes" src="right.png" />
+</frameset>
+<frame src="w3c_main.png" />
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement07-expected.txt
new file mode 100644
index 0000000..d6b908d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement07.js
new file mode 100644
index 0000000..c46349b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement07.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "frame");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The scrolling attribute specifies whether or not the frame should have
+ scrollbars.
+
+ Retrieve the scrolling attribute of the first FRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-45411424
+*/
+function HTMLFrameElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLFrameElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vscrolling;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "frame");
+ nodeList = doc.getElementsByTagName("frame");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vscrolling = testNode.scrolling;
+
+ assertEquals("scrollingLink","yes",vscrolling);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFrameElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement07.xhtml
new file mode 100644
index 0000000..2f40cbf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement07.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFrameElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<frameset cols="20, 80" onload="loadComplete()">
+<frameset rows="100, 200">
+<frame longdesc="about:blank" marginheight="10" marginwidth="5" noresize="noresize" name="Frame1" frameborder="1" scrolling="yes" src="right.png" />
+</frameset>
+<frame src="w3c_main.png" />
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement08-expected.txt
new file mode 100644
index 0000000..e79ee16
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement08.js
new file mode 100644
index 0000000..ef73f8d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement08.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "frame");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The src attribute specifies a URI designating the initial frame contents.
+
+ Retrieve the src attribute of the first FRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78799535
+*/
+function HTMLFrameElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLFrameElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vsrc;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "frame");
+ nodeList = doc.getElementsByTagName("frame");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vsrc = testNode.src;
+
+ assertURIEquals("srcLink",null,null,null,null,"right",null,null,null,vsrc);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFrameElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement08.xhtml
new file mode 100644
index 0000000..a67be9a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement08.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFrameElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<frameset cols="20, 80" onload="loadComplete()">
+<frameset rows="100, 200">
+<frame longdesc="about:blank" marginheight="10" marginwidth="5" noresize="noresize" name="Frame1" frameborder="1" scrolling="yes" src="right.png" />
+</frameset>
+<frame src="w3c_main.png" />
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09-expected.txt
new file mode 100644
index 0000000..c666ad6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09-expected.txt
@@ -0,0 +1,4 @@
+CONSOLE MESSAGE: line 722: Value complete does not allow function calls.
+CONSOLE MESSAGE: line 722: Value complete does not allow function calls.
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09.js
new file mode 100644
index 0000000..cb7a057
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "frame2");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The contentDocument attribute specifies the document this frame contains,
+ if there is any and it is available, or null otherwise.
+
+ Retrieve the contentDocument attribute of the first FRAME element
+ and examine its TITLE value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-78799536
+*/
+function HTMLFrameElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLFrameElement09") != null) return;
+ var testNode;
+ var cd;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "frame2");
+ testNode = doc.getElementById("Frame1");
+ cd = testNode.contentDocument;
+
+ vtitle = cd.title;
+
+ assertEquals("titleLink","NIST DOM HTML Test - FRAMESET",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFrameElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09.xhtml-disabled b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09.xhtml-disabled
new file mode 100644
index 0000000..955b139
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameElement09.xhtml-disabled
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAME2</title>
+<!-- required by frame contents -->
+<script type="text/javascript">function loadComplete() { }</script>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFrameElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<frameset cols="20, 80" onload="loadComplete()">
+<frameset rows="100, 200">
+<frame id="Frame1" name="Frame1" src="resources/frame.xhtml"/>
+</frameset>
+<frame id="Frame2" name="Frame2" src="resources/iframe.xhtml"/>
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement01-expected.txt
new file mode 100644
index 0000000..cfe6b80
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameSetElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement01.js
new file mode 100644
index 0000000..7ab3af0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement01.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameSetElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "frameset");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The cols attribute specifies the number of columns of frames in the
+ frameset.
+
+ Retrieve the cols attribute of the first FRAMESET element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98869594
+*/
+function HTMLFrameSetElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLFrameSetElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcols;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "frameset");
+ nodeList = doc.getElementsByTagName("frameset");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vcols = testNode.cols;
+
+ assertEquals("colsLink","20, 80",vcols);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFrameSetElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement01.xhtml
new file mode 100644
index 0000000..31e21d6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement01.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAMESET</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFrameSetElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<frameset cols="20, 80" onload="loadComplete()">
+<frameset rows="100, 200">
+<frame src="right.png" />
+</frameset>
+<frame src="w3c_main.png" />
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement02-expected.txt
new file mode 100644
index 0000000..5befeaf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameSetElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement02.js
new file mode 100644
index 0000000..60e8563
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLFrameSetElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "frameset");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The rows attribute specifies the number of rows of frames in the
+ frameset.
+
+ Retrieve the rows attribute of the second FRAMESET element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19739247
+*/
+function HTMLFrameSetElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLFrameSetElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "frameset");
+ nodeList = doc.getElementsByTagName("frameset");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vrows = testNode.rows;
+
+ assertEquals("rowsLink","100, 200",vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLFrameSetElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement02.xhtml
new file mode 100644
index 0000000..7ed32de
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLFrameSetElement02.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAMESET</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLFrameSetElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<frameset cols="20, 80" onload="loadComplete()">
+<frameset rows="100, 200">
+<frame src="right.png" />
+</frameset>
+<frame src="w3c_main.png" />
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHRElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement01-expected.txt
new file mode 100644
index 0000000..1418abc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHRElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHRElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement01.js
new file mode 100644
index 0000000..a7a4bc8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHRElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hr");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the rule alignment on the page.
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15235012
+*/
+function HTMLHRElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLHRElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hr");
+ nodeList = doc.getElementsByTagName("hr");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLHRElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHRElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement01.xhtml
new file mode 100644
index 0000000..c1fb7fa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement01.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - HR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLHRElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<hr align="center" noshade="noshade" size="5" width="400"/>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHRElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement02-expected.txt
new file mode 100644
index 0000000..aa5b307
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHRElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHRElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement02.js
new file mode 100644
index 0000000..8c35b75
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHRElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hr");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The noShade attribute specifies that the rule should be drawn as
+ a solid color.
+
+ Retrieve the noShade attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79813978
+*/
+function HTMLHRElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLHRElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vnoshade;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hr");
+ nodeList = doc.getElementsByTagName("hr");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vnoshade = testNode.noShade;
+
+ assertTrue("noShadeLink",vnoshade);
+
+}
+
+
+
+
+function runTest() {
+ HTMLHRElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHRElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement02.xhtml
new file mode 100644
index 0000000..a9821ec
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement02.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - HR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLHRElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<hr align="center" noshade="noshade" size="5" width="400"/>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHRElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement03-expected.txt
new file mode 100644
index 0000000..7c8dd88
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHRElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHRElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement03.js
new file mode 100644
index 0000000..50a3ed2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement03.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHRElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hr");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The size attribute specifies the height of the rule.
+
+ Retrieve the size attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77612587
+*/
+function HTMLHRElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLHRElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vsize;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hr");
+ nodeList = doc.getElementsByTagName("hr");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vsize = testNode.size;
+
+ assertEquals("sizeLink","5",vsize);
+
+}
+
+
+
+
+function runTest() {
+ HTMLHRElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHRElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement03.xhtml
new file mode 100644
index 0000000..cda5fd7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement03.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - HR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLHRElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<hr align="center" noshade="noshade" size="5" width="400"/>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHRElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement04-expected.txt
new file mode 100644
index 0000000..740a69b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHRElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHRElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement04.js
new file mode 100644
index 0000000..4dcd715
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement04.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHRElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "hr");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The width attribute specifies the width of the rule.
+
+ Retrieve the width attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87744198
+*/
+function HTMLHRElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLHRElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "hr");
+ nodeList = doc.getElementsByTagName("hr");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink","400",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLHRElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHRElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement04.xhtml
new file mode 100644
index 0000000..26e0275
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHRElement04.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - HR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLHRElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<hr align="center" noshade="noshade" size="5" width="400"/>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLHeadElement01-expected.txt
new file mode 100644
index 0000000..a50a5b9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLHeadElement01.js
new file mode 100644
index 0000000..459de49
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "head");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The profile attribute specifies a URI designating a metadata profile.
+
+ Retrieve the profile attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96921909
+*/
+function HTMLHeadElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLHeadElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vprofile;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "head");
+ nodeList = doc.getElementsByTagName("head");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vprofile = testNode.profile;
+
+ assertURIEquals("profileLink",null,null,null,"profile",null,null,null,null,vprofile);
+
+}
+
+
+
+
+function runTest() {
+ HTMLHeadElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLHeadElement01.xhtml
new file mode 100644
index 0000000..475dfe8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadElement01.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head profile="http://xw2k.sdct.itl.nist.gov/brady/dom/files/profile">
+<title>NIST DOM HTML Test - HEAD</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLHeadElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>Hello, World.</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement01-expected.txt
new file mode 100644
index 0000000..5af791e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadingElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement01.js
new file mode 100644
index 0000000..f3c8b9e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadingElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "heading");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal text alignment(H1).
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462
+*/
+function HTMLHeadingElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLHeadingElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "heading");
+ nodeList = doc.getElementsByTagName("h1");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLHeadingElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement01.xhtml
new file mode 100644
index 0000000..b40edf8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement01.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - HEADING</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLHeadingElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<h1 align="center">Head Element 1</h1>
+<h2 align="left">Head Element 2</h2>
+<h3 align="right">Head Element 3</h3>
+<h4 align="right">Head Element 4</h4>
+<h5 align="center">Head Element 5</h5>
+<h6 align="left">Head Element 6</h6>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement02-expected.txt
new file mode 100644
index 0000000..68e0dda
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadingElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement02.js
new file mode 100644
index 0000000..b8f775c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement02.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadingElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "heading");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal text alignment(H2).
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462
+*/
+function HTMLHeadingElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLHeadingElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "heading");
+ nodeList = doc.getElementsByTagName("h2");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","left",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLHeadingElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement02.xhtml
new file mode 100644
index 0000000..43c76e2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement02.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - HEADING</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLHeadingElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<h1 align="center">Head Element 1</h1>
+<h2 align="left">Head Element 2</h2>
+<h3 align="right">Head Element 3</h3>
+<h4 align="right">Head Element 4</h4>
+<h5 align="center">Head Element 5</h5>
+<h6 align="left">Head Element 6</h6>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement03-expected.txt
new file mode 100644
index 0000000..4cea599
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadingElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement03.js
new file mode 100644
index 0000000..9578fbd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement03.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadingElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "heading");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal text alignment(H3).
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462
+*/
+function HTMLHeadingElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLHeadingElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "heading");
+ nodeList = doc.getElementsByTagName("h3");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","right",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLHeadingElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement03.xhtml
new file mode 100644
index 0000000..defedbf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement03.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - HEADING</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLHeadingElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<h1 align="center">Head Element 1</h1>
+<h2 align="left">Head Element 2</h2>
+<h3 align="right">Head Element 3</h3>
+<h4 align="right">Head Element 4</h4>
+<h5 align="center">Head Element 5</h5>
+<h6 align="left">Head Element 6</h6>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement04-expected.txt
new file mode 100644
index 0000000..3fc99b3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement04-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadingElement04
+Status failure
+Message alignLink: assertEquals failed, actual right, expected justify.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement04.js
new file mode 100644
index 0000000..bd3739f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement04.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadingElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "heading");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal text alignment(H4).
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462
+*/
+function HTMLHeadingElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLHeadingElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "heading");
+ nodeList = doc.getElementsByTagName("h4");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","justify",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLHeadingElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement04.xhtml
new file mode 100644
index 0000000..87279f9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement04.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - HEADING</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLHeadingElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<h1 align="center">Head Element 1</h1>
+<h2 align="left">Head Element 2</h2>
+<h3 align="right">Head Element 3</h3>
+<h4 align="right">Head Element 4</h4>
+<h5 align="center">Head Element 5</h5>
+<h6 align="left">Head Element 6</h6>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement05-expected.txt
new file mode 100644
index 0000000..51eedf3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadingElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement05.js
new file mode 100644
index 0000000..930942e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement05.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadingElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "heading");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal text alignment(H5).
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462
+*/
+function HTMLHeadingElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLHeadingElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "heading");
+ nodeList = doc.getElementsByTagName("h5");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLHeadingElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement05.xhtml
new file mode 100644
index 0000000..14f77c4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement05.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - HEADING</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLHeadingElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<h1 align="center">Head Element 1</h1>
+<h2 align="left">Head Element 2</h2>
+<h3 align="right">Head Element 3</h3>
+<h4 align="right">Head Element 4</h4>
+<h5 align="center">Head Element 5</h5>
+<h6 align="left">Head Element 6</h6>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement06-expected.txt
new file mode 100644
index 0000000..e4da160
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadingElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement06.js
new file mode 100644
index 0000000..7e65e64
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement06.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHeadingElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "heading");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal text alignment(H6).
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6796462
+*/
+function HTMLHeadingElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLHeadingElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "heading");
+ nodeList = doc.getElementsByTagName("h6");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","left",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLHeadingElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement06.xhtml
new file mode 100644
index 0000000..e4cc092
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHeadingElement06.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - HEADING</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLHeadingElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<h1 align="center">Head Element 1</h1>
+<h2 align="left">Head Element 2</h2>
+<h3 align="right">Head Element 3</h3>
+<h4 align="right">Head Element 4</h4>
+<h5 align="center">Head Element 5</h5>
+<h6 align="left">Head Element 6</h6>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHtmlElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLHtmlElement01-expected.txt
new file mode 100644
index 0000000..c00ef54
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHtmlElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHtmlElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHtmlElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLHtmlElement01.js
new file mode 100644
index 0000000..fb7947d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHtmlElement01.js
@@ -0,0 +1,124 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLHtmlElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "html");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The version attribute specifies version information about the document's
+ DTD.
+
+ Retrieve the version attribute and examine its value.
+
+ Test is only applicable to HTML, version attribute is not supported in XHTML.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9383775
+*/
+function HTMLHtmlElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLHtmlElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vversion;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "html");
+ nodeList = doc.getElementsByTagName("html");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vversion = testNode.version;
+
+
+ if(
+
+ (builder.contentType == "text/html")
+
+ ) {
+ assertEquals("versionLink","-//W3C//DTD HTML 4.01 Transitional//EN",vversion);
+
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLHtmlElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLHtmlElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLHtmlElement01.xhtml
new file mode 100644
index 0000000..a4e9199
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLHtmlElement01.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Html</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLHtmlElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>Hello, World.</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement01-expected.txt
new file mode 100644
index 0000000..7f68f3d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement01.js
new file mode 100644
index 0000000..41bca6b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement01.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "iframe");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute aligns this object(vertically or horizontally with
+ respect to its surrounding text.
+
+ Retrieve the align attribute of the first IFRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11309947
+*/
+function HTMLIFrameElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLIFrameElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "iframe");
+ nodeList = doc.getElementsByTagName("iframe");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","top",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIFrameElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement01.xhtml
new file mode 100644
index 0000000..6a22f06
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement01.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIFrameElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<iframe longdesc="about:blank" marginheight="10" marginwidth="5" width="60" height="50" name="Iframe1" frameborder="1" scrolling="yes" src="right.png" align="top">IFRAME1</iframe>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement02-expected.txt
new file mode 100644
index 0000000..aa22568
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement02.js
new file mode 100644
index 0000000..dd5ce3a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement02.js
@@ -0,0 +1,116 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "iframe");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The frameBorder attribute specifies the request for frame borders.
+ (frameBorder=1 A border is drawn)
+ (FrameBorder=0 A border is not drawn)
+
+ Retrieve the frameBorder attribute of the first IFRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22463410
+*/
+function HTMLIFrameElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLIFrameElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vframeborder;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "iframe");
+ nodeList = doc.getElementsByTagName("iframe");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vframeborder = testNode.frameBorder;
+
+ assertEquals("frameborderLink","1",vframeborder);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIFrameElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement02.xhtml
new file mode 100644
index 0000000..e830cd7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement02.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIFrameElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<iframe longdesc="about:blank" marginheight="10" marginwidth="5" width="60" height="50" name="Iframe1" frameborder="1" scrolling="yes" src="right.png" align="top">IFRAME1</iframe>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement03-expected.txt
new file mode 100644
index 0000000..de1d4ec
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement03.js
new file mode 100644
index 0000000..705a463
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "iframe");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The height attribute specifies the frame height.
+
+ Retrieve the height attribute of the first IFRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-1678118
+*/
+function HTMLIFrameElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLIFrameElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vheight;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "iframe");
+ nodeList = doc.getElementsByTagName("iframe");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vheight = testNode.height;
+
+ assertEquals("heightLink","50",vheight);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIFrameElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement03.xhtml
new file mode 100644
index 0000000..69ca2c4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement03.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIFrameElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<iframe longdesc="about:blank" marginheight="10" marginwidth="5" width="60" height="50" name="Iframe1" frameborder="1" scrolling="yes" src="right.png" align="top">IFRAME1</iframe>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement04-expected.txt
new file mode 100644
index 0000000..57a06e3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement04.js
new file mode 100644
index 0000000..9782379
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement04.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "iframe");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The longDesc attribute specifies a URI designating a long description
+ of this image or frame.
+
+ Retrieve the longDesc attribute of the first IFRAME element and examine
+ its value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70472105
+*/
+function HTMLIFrameElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLIFrameElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vlongdesc;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "iframe");
+ nodeList = doc.getElementsByTagName("iframe");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlongdesc = testNode.longDesc;
+
+ assertEquals("longdescLink","about:blank",vlongdesc);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIFrameElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement04.xhtml
new file mode 100644
index 0000000..1086b82
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement04.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIFrameElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<iframe longdesc="about:blank" marginheight="10" marginwidth="5" width="60" height="50" name="Iframe1" frameborder="1" scrolling="yes" src="right.png" align="top">IFRAME1</iframe>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement05-expected.txt
new file mode 100644
index 0000000..c59830c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement05.js
new file mode 100644
index 0000000..4bf457c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement05.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "iframe");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The marginWidth attribute specifies the frame margin width, in pixels.
+
+ Retrieve the marginWidth attribute of the first FRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66486595
+*/
+function HTMLIFrameElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLIFrameElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vmarginwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "iframe");
+ nodeList = doc.getElementsByTagName("iframe");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vmarginwidth = testNode.marginWidth;
+
+ assertEquals("marginwidthLink","5",vmarginwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIFrameElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement05.xhtml
new file mode 100644
index 0000000..a73df4d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement05.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIFrameElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<iframe longdesc="about:blank" marginheight="10" marginwidth="5" width="60" height="50" name="Iframe1" frameborder="1" scrolling="yes" src="right.png" align="top">IFRAME1</iframe>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement06-expected.txt
new file mode 100644
index 0000000..b9782b7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement06.js
new file mode 100644
index 0000000..5f7320b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement06.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "iframe");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The marginHeight attribute specifies the frame margin height, in pixels.
+
+ Retrieve the marginHeight attribute of the first IFRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91371294
+*/
+function HTMLIFrameElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLIFrameElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vmarginheight;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "iframe");
+ nodeList = doc.getElementsByTagName("iframe");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vmarginheight = testNode.marginHeight;
+
+ assertEquals("marginheightLink","10",vmarginheight);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIFrameElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement06.xhtml
new file mode 100644
index 0000000..1d32bff
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement06.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIFrameElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<iframe longdesc="about:blank" marginheight="10" marginwidth="5" width="60" height="50" name="Iframe1" frameborder="1" scrolling="yes" src="right.png" align="top">IFRAME1</iframe>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement07-expected.txt
new file mode 100644
index 0000000..25a7231
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement07.js
new file mode 100644
index 0000000..67886db
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement07.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "iframe");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute specifies the frame name(object of the target
+ attribute).
+
+ Retrieve the name attribute of the first IFRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96819659
+*/
+function HTMLIFrameElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLIFrameElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "iframe");
+ nodeList = doc.getElementsByTagName("iframe");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.name;
+
+ assertEquals("nameLink","Iframe1",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIFrameElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement07.xhtml
new file mode 100644
index 0000000..170d7c1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement07.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIFrameElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<iframe longdesc="about:blank" marginheight="10" marginwidth="5" width="60" height="50" name="Iframe1" frameborder="1" scrolling="yes" src="right.png" align="top">IFRAME1</iframe>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement08-expected.txt
new file mode 100644
index 0000000..99f8725
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement08.js
new file mode 100644
index 0000000..05cda81
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement08.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "iframe");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The scrolling attribute specifies whether or not the frame should have
+ scrollbars.
+
+ Retrieve the scrolling attribute of the first FRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36369822
+*/
+function HTMLIFrameElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLIFrameElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vscrolling;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "iframe");
+ nodeList = doc.getElementsByTagName("iframe");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vscrolling = testNode.scrolling;
+
+ assertEquals("scrollingLink","yes",vscrolling);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIFrameElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement08.xhtml
new file mode 100644
index 0000000..03c772c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement08.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIFrameElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<iframe longdesc="about:blank" marginheight="10" marginwidth="5" width="60" height="50" name="Iframe1" frameborder="1" scrolling="yes" src="right.png" align="top">IFRAME1</iframe>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement09-expected.txt
new file mode 100644
index 0000000..32aefa5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement09.js
new file mode 100644
index 0000000..595f87f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement09.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "iframe");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The src attribute specifies a URI designating the initial frame contents.
+
+ Retrieve the src attribute of the first FRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-43933957
+*/
+function HTMLIFrameElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLIFrameElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vsrc;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "iframe");
+ nodeList = doc.getElementsByTagName("iframe");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vsrc = testNode.src;
+
+ assertURIEquals("srcLink",null,null,null,null,"right",null,null,null,vsrc);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIFrameElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement09.xhtml
new file mode 100644
index 0000000..b66a929
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement09.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIFrameElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<iframe longdesc="about:blank" marginheight="10" marginwidth="5" width="60" height="50" name="Iframe1" frameborder="1" scrolling="yes" src="right.png" align="top">IFRAME1</iframe>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement10-expected.txt
new file mode 100644
index 0000000..569d9ff
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement10.js
new file mode 100644
index 0000000..8cf06c3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement10.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "iframe");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The width attribute specifies the frame width.
+
+ Retrieve the width attribute of the first IFRAME element and examine
+ it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67133005
+*/
+function HTMLIFrameElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLIFrameElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "iframe");
+ nodeList = doc.getElementsByTagName("iframe");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink","60",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIFrameElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement10.xhtml
new file mode 100644
index 0000000..43e496b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement10.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIFrameElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<iframe longdesc="about:blank" marginheight="10" marginwidth="5" width="60" height="50" name="Iframe1" frameborder="1" scrolling="yes" src="right.png" align="top">IFRAME1</iframe>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement11-expected.txt
new file mode 100644
index 0000000..bca6e82
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement11-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement11
+Status failure
+Message titleLink: assertEquals failed, actual , expected NIST DOM HTML Test - FRAME.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement11.js
new file mode 100644
index 0000000..66a78ae
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement11.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIFrameElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "iframe2");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ Retrieve the contentDocument attribute of the second IFRAME element
+ and examine its title.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-67133006
+*/
+function HTMLIFrameElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLIFrameElement11") != null) return;
+ var testNode;
+ var cd;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "iframe2");
+ testNode = doc.getElementById("Iframe2");
+ cd = testNode.contentDocument;
+
+ vtitle = cd.title;
+
+ assertEquals("titleLink","NIST DOM HTML Test - FRAME",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIFrameElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement11.xhtml
new file mode 100644
index 0000000..b6523f0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIFrameElement11.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME2</title>
+<!-- required by frame contents -->
+<script type="text/javascript">function loadComplete() { }</script>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIFrameElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<iframe id="Iframe1" name="Iframe1" src="iframe.html">IFRAME1</iframe>
+<iframe id="Iframe2" src="frame.html" name="Iframe2">IFRAME2</iframe>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement01-expected.txt
new file mode 100644
index 0000000..4a2e070
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement01.js
new file mode 100644
index 0000000..079c901
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "img");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute specifies the name of the element.
+
+ Retrieve the name attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47534097
+*/
+function HTMLImageElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLImageElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "img");
+ nodeList = doc.getElementsByTagName("img");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.name;
+
+ assertEquals("nameLink","IMAGE-1",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLImageElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement01.xhtml
new file mode 100644
index 0000000..18dfbae
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement01.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IMG</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLImageElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement02-expected.txt
new file mode 100644
index 0000000..9956583
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement02.js
new file mode 100644
index 0000000..29df0b9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "img");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute aligns this object with respect to its surrounding
+ text.
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-3211094
+*/
+function HTMLImageElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLImageElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "img");
+ nodeList = doc.getElementsByTagName("img");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","middle",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLImageElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement02.xhtml
new file mode 100644
index 0000000..929df87
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement02.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IMG</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLImageElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement03-expected.txt
new file mode 100644
index 0000000..f919af2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement03.js
new file mode 100644
index 0000000..c6f6f50
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "img");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The alt attribute specifies an alternative text for user agenst not
+ rendering the normal content of this element.
+
+ Retrieve the alt attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95636861
+*/
+function HTMLImageElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLImageElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var valt;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "img");
+ nodeList = doc.getElementsByTagName("img");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valt = testNode.alt;
+
+ assertEquals("altLink","DTS IMAGE LOGO",valt);
+
+}
+
+
+
+
+function runTest() {
+ HTMLImageElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement03.xhtml
new file mode 100644
index 0000000..c093faf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement03.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IMG</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLImageElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement04-expected.txt
new file mode 100644
index 0000000..4d18c8c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement04.js
new file mode 100644
index 0000000..b6a9a3f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement04.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "img");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The border attribute specifies the width of the border around the image.
+
+ Retrieve the border attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-136671
+*/
+function HTMLImageElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLImageElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vborder;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "img");
+ nodeList = doc.getElementsByTagName("img");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vborder = testNode.border;
+
+ assertEquals("borderLink","0",vborder);
+
+}
+
+
+
+
+function runTest() {
+ HTMLImageElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement04.xhtml
new file mode 100644
index 0000000..2275c4a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement04.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IMG</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLImageElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement05-expected.txt
new file mode 100644
index 0000000..0c42c3a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement05.js
new file mode 100644
index 0000000..3114110
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement05.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "img");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The height attribute overrides the natural "height" of the image.
+
+ Retrieve the height attribute and examine it's value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-91561496
+*/
+function HTMLImageElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLImageElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vheight;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "img");
+ nodeList = doc.getElementsByTagName("img");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vheight = testNode.height;
+
+ assertEquals("heightLink",47,vheight);
+
+}
+
+
+
+
+function runTest() {
+ HTMLImageElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement05.xhtml
new file mode 100644
index 0000000..684fa1b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement05.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IMG</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLImageElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement06-expected.txt
new file mode 100644
index 0000000..cfd1c38
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement06.js
new file mode 100644
index 0000000..cb5ae85
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement06.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "img");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The hspace attribute specifies the horizontal space to the left and
+ right of this image.
+
+ Retrieve the hspace attribute and examine it's value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-53675471
+*/
+function HTMLImageElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLImageElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vhspace;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "img");
+ nodeList = doc.getElementsByTagName("img");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vhspace = testNode.hspace;
+
+ assertEquals("hspaceLink",4,vhspace);
+
+}
+
+
+
+
+function runTest() {
+ HTMLImageElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement06.xhtml
new file mode 100644
index 0000000..1e8619c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement06.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IMG</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLImageElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement07-expected.txt
new file mode 100644
index 0000000..0876927
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement07.js
new file mode 100644
index 0000000..fd200a1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement07.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "img");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The isMap attribute indicates the use of server-side image map.
+
+ Retrieve the isMap attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58983880
+*/
+function HTMLImageElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLImageElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vismap;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "img");
+ nodeList = doc.getElementsByTagName("img");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vismap = testNode.isMap;
+
+ assertFalse("isMapLink",vismap);
+
+}
+
+
+
+
+function runTest() {
+ HTMLImageElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement07.xhtml
new file mode 100644
index 0000000..f0f110b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement07.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IMG</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLImageElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement08-expected.txt
new file mode 100644
index 0000000..0051b76
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement08.js
new file mode 100644
index 0000000..ab37f44
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement08.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "img");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The longDesc attribute contains an URI designating a long description
+ of this image or frame.
+
+ Retrieve the longDesc attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77376969
+*/
+function HTMLImageElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLImageElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vlongdesc;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "img");
+ nodeList = doc.getElementsByTagName("img");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vlongdesc = testNode.longDesc;
+
+ assertURIEquals("longDescLink",null,null,null,"desc.html",null,null,null,null,vlongdesc);
+
+}
+
+
+
+
+function runTest() {
+ HTMLImageElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement08.xhtml
new file mode 100644
index 0000000..3caffb2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement08.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IMG</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLImageElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement09-expected.txt
new file mode 100644
index 0000000..c740310
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement09.js
new file mode 100644
index 0000000..2946f1a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement09.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "img");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The src attribute contains an URI designating the source of this image.
+
+ Retrieve the src attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87762984
+*/
+function HTMLImageElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLImageElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vsrc;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "img");
+ nodeList = doc.getElementsByTagName("img");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vsrc = testNode.src;
+
+ assertURIEquals("srcLink",null,null,null,"dts.gif",null,null,null,null,vsrc);
+
+}
+
+
+
+
+function runTest() {
+ HTMLImageElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement09.xhtml
new file mode 100644
index 0000000..1bb54ac
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement09.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IMG</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLImageElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement10-expected.txt
new file mode 100644
index 0000000..96cac25
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement10.js
new file mode 100644
index 0000000..d127aa7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement10.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "img");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The useMap attribute specifies to use the client-side image map.
+
+ Retrieve the useMap attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35981181
+*/
+function HTMLImageElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLImageElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vusemap;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "img");
+ nodeList = doc.getElementsByTagName("img");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vusemap = testNode.useMap;
+
+ assertEquals("useMapLink","#DTS-MAP",vusemap);
+
+}
+
+
+
+
+function runTest() {
+ HTMLImageElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement10.xhtml
new file mode 100644
index 0000000..4be2d8a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement10.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IMG</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLImageElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement11-expected.txt
new file mode 100644
index 0000000..9a7d372
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement11.js
new file mode 100644
index 0000000..37ec666
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement11.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "img");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The vspace attribute specifies the vertical space above and below this
+ image.
+
+ Retrieve the vspace attribute and examine it's value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-85374897
+*/
+function HTMLImageElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLImageElement11") != null) return;
+ var nodeList;
+ var testNode;
+ var vvspace;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "img");
+ nodeList = doc.getElementsByTagName("img");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vvspace = testNode.vspace;
+
+ assertEquals("vspaceLink",10,vvspace);
+
+}
+
+
+
+
+function runTest() {
+ HTMLImageElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement11.xhtml
new file mode 100644
index 0000000..42b4c42
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement11.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IMG</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLImageElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement12-expected.txt
new file mode 100644
index 0000000..9f66110
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement12.js
new file mode 100644
index 0000000..ef6dfad
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement12.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLImageElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "img");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The width attribute overrides the natural "width" of the image.
+
+ Retrieve the width attribute and examine it's value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-13839076
+*/
+function HTMLImageElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLImageElement12") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "img");
+ nodeList = doc.getElementsByTagName("img");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink",115,vwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLImageElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLImageElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement12.xhtml
new file mode 100644
index 0000000..7136096
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLImageElement12.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IMG</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLImageElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<img id="IMAGE-1" name="IMAGE-1" src="./pix/dts.gif" align="middle" alt="DTS IMAGE LOGO" border="0" height="47" hspace="4" longdesc="./files/desc.html" usemap="#DTS-MAP" vspace="10" width="115"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement01-expected.txt
new file mode 100644
index 0000000..ab51ba5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement01.js
new file mode 100644
index 0000000..2193d6b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement01.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The defaultValue attribute represents the HTML value of the attribute
+ when the type attribute has the value of "Text", "File" or "Password".
+
+ Retrieve the defaultValue attribute of the 1st INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26091157
+*/
+function HTMLInputElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vdefaultvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(0);
+ vdefaultvalue = testNode.defaultValue;
+
+ assertEquals("defaultValueLink","Password",vdefaultvalue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement01.xhtml
new file mode 100644
index 0000000..698086c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement01.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement02-expected.txt
new file mode 100644
index 0000000..fa734bd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement02.js
new file mode 100644
index 0000000..bbc23ea
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The defaultChecked attribute represents the HTML checked attribute of
+ the element when the type attribute has the value checkbox or radio.
+
+ Retrieve the defaultValue attribute of the 4th INPUT element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20509171
+*/
+function HTMLInputElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vdefaultchecked;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(3);
+ vdefaultchecked = testNode.defaultChecked;
+
+ assertTrue("defaultCheckedLink",vdefaultchecked);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement02.xhtml
new file mode 100644
index 0000000..64a350d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement02.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement03-expected.txt
new file mode 100644
index 0000000..fb04ce7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement03.js
new file mode 100644
index 0000000..fd306b4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement03.js
@@ -0,0 +1,116 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns the FORM element containing this control.
+
+ Retrieve the form attribute of the 1st INPUT element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63239895
+*/
+function HTMLInputElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var fNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(0);
+ fNode = testNode.form;
+
+ vform = fNode.id;
+
+ assertEquals("formLink","form1",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement03.xhtml
new file mode 100644
index 0000000..84b9c95
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement03.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement04-expected.txt
new file mode 100644
index 0000000..f17095b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement04.js
new file mode 100644
index 0000000..17568da
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement04.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The accept attribute is a comma-seperated list of content types that
+ a server processing this form will handle correctly.
+
+ Retrieve the accept attribute of the 9th INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15328520
+*/
+function HTMLInputElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vaccept;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(8);
+ vaccept = testNode.accept;
+
+ assertEquals("acceptLink","GIF,JPEG",vaccept);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement04.xhtml
new file mode 100644
index 0000000..c0c3e87
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement04.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement05-expected.txt
new file mode 100644
index 0000000..81b3fa7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement05.js
new file mode 100644
index 0000000..eed2b75
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement05.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The accessKey attribute is a single character access key to give access
+ to the form control.
+
+ Retrieve the accessKey attribute of the 2nd INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59914154
+*/
+function HTMLInputElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vaccesskey;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(1);
+ vaccesskey = testNode.accessKey;
+
+ assertEquals("accesskeyLink","c",vaccesskey);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement05.xhtml
new file mode 100644
index 0000000..b65f59c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement05.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement06-expected.txt
new file mode 100644
index 0000000..46d75db
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement06.js
new file mode 100644
index 0000000..23ca243
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement06.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute aligns this object(vertically or horizontally)
+ with respect to the surrounding text.
+
+ Retrieve the align attribute of the 4th INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96991182
+*/
+function HTMLInputElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(3);
+ valign = testNode.align;
+
+ assertEquals("alignLink","bottom".toLowerCase(),valign.toLowerCase());
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement06.xhtml
new file mode 100644
index 0000000..8a44401
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement06.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement07-expected.txt
new file mode 100644
index 0000000..e66250c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement07.js
new file mode 100644
index 0000000..19a77f4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement07.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The alt attribute alternates text for user agents not rendering the
+ normal content of this element.
+
+ Retrieve the alt attribute of the 1st INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92701314
+*/
+function HTMLInputElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var valt;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(0);
+ valt = testNode.alt;
+
+ assertEquals("altLink","Password entry",valt);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement07.xhtml
new file mode 100644
index 0000000..a546298
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement07.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement08-expected.txt
new file mode 100644
index 0000000..40171f6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement08.js
new file mode 100644
index 0000000..3df1bf3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement08.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The checked attribute represents the current state of the corresponding
+ form control when type has the value Radio or Checkbox.
+
+ Retrieve the accept attribute of the 3rd INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30233917
+*/
+function HTMLInputElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vchecked;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(2);
+ vchecked = testNode.checked;
+
+ assertTrue("checkedLink",vchecked);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement08.xhtml
new file mode 100644
index 0000000..e881020
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement08.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement09-expected.txt
new file mode 100644
index 0000000..2efe302
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement09.js
new file mode 100644
index 0000000..c926a5b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement09.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The disabled attribute has a TRUE value if it is explicitly set.
+
+ Retrieve the disabled attribute of the 7th INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50886781
+*/
+function HTMLInputElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vdisabled;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(6);
+ vdisabled = testNode.disabled;
+
+ assertTrue("disabledLink",vdisabled);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement09.xhtml
new file mode 100644
index 0000000..03a8cb6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement09.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement10-expected.txt
new file mode 100644
index 0000000..df9bf9d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement10.js
new file mode 100644
index 0000000..b722339
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement10.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The maxLength attribute is the maximum number of text characters for text
+ fields, when type has the value of Text or Password.
+
+ Retrieve the maxLenght attribute of the 1st INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-54719353
+*/
+function HTMLInputElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vmaxlength;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(0);
+ vmaxlength = testNode.maxLength;
+
+ assertEquals("maxlengthLink",5,vmaxlength);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement10.xhtml
new file mode 100644
index 0000000..87f2937
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement10.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement11-expected.txt
new file mode 100644
index 0000000..be98fd4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement11.js
new file mode 100644
index 0000000..09325fe
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement11.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute is the form control or object name when submitted with
+ a form.
+
+ Retrieve the name attribute of the 1st INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89658498
+*/
+function HTMLInputElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement11") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.name;
+
+ assertEquals("nameLink","Password",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement11.xhtml
new file mode 100644
index 0000000..ae771f8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement11.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement12-expected.txt
new file mode 100644
index 0000000..f4e02b6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement12.js
new file mode 100644
index 0000000..4467334
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement12.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The readOnly attribute indicates that this control is read-only when
+ type has a value of text or password only.
+
+ Retrieve the readOnly attribute of the 1st INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88461592
+*/
+function HTMLInputElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement12") != null) return;
+ var nodeList;
+ var testNode;
+ var vreadonly;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(0);
+ vreadonly = testNode.readOnly;
+
+ assertTrue("readonlyLink",vreadonly);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement12.xhtml
new file mode 100644
index 0000000..e944cd7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement12.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement13-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement13-expected.txt
new file mode 100644
index 0000000..622a0f9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement13.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement13.js
new file mode 100644
index 0000000..b28e814
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement13.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The size attribute contains the size information. Its precise meaning
+ is specific to each type of field.
+
+ Retrieve the size attribute of the 1st INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-79659438
+*/
+function HTMLInputElement13() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement13") != null) return;
+ var nodeList;
+ var testNode;
+ var vsize;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(0);
+ vsize = testNode.size;
+
+ assertEquals("size",25,vsize);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement13.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement13.xhtml
new file mode 100644
index 0000000..1365bb4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement13.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement13.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement14-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement14-expected.txt
new file mode 100644
index 0000000..581344d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement14-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement14
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement14.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement14.js
new file mode 100644
index 0000000..91276ca
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement14.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement14";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The src attribute specifies the location of the image to decorate the
+ graphical submit button when the type has the value Image.
+
+ Retrieve the src attribute of the 8th INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-97320704
+*/
+function HTMLInputElement14() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement14") != null) return;
+ var nodeList;
+ var testNode;
+ var vsrc;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(7);
+ vsrc = testNode.src;
+
+ assertURIEquals("srcLink",null,null,null,"submit.gif",null,null,null,null,vsrc);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement14();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement14.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement14.xhtml
new file mode 100644
index 0000000..3c698e9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement14.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement14.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement15-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement15-expected.txt
new file mode 100644
index 0000000..1edeaa6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement15-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement15
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement15.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement15.js
new file mode 100644
index 0000000..5b3cd67
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement15.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement15";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The tabIndex attribute is an index that represents the elements position
+ in the tabbing order.
+
+ Retrieve the tabIndex attribute of the 3rd INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62176355
+*/
+function HTMLInputElement15() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement15") != null) return;
+ var nodeList;
+ var testNode;
+ var vtabindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(2);
+ vtabindex = testNode.tabIndex;
+
+ assertEquals("tabindexLink",9,vtabindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement15();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement15.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement15.xhtml
new file mode 100644
index 0000000..de2ebc3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement15.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement15.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement16-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement16-expected.txt
new file mode 100644
index 0000000..51a85bb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement16-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement16
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement16.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement16.js
new file mode 100644
index 0000000..1aed284
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement16.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement16";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute is the type of control created.
+
+ Retrieve the type attribute of the 1st INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62883744
+*/
+function HTMLInputElement16() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement16") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","password",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement16();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement16.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement16.xhtml
new file mode 100644
index 0000000..28d7ed9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement16.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement16.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement17-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement17-expected.txt
new file mode 100644
index 0000000..e1419e6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement17-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement17
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement17.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement17.js
new file mode 100644
index 0000000..248f3cc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement17.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement17";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The useMap attribute specifies the use of the client-side image map.
+
+ Retrieve the useMap attribute of the 8th INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32463706
+*/
+function HTMLInputElement17() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement17") != null) return;
+ var nodeList;
+ var testNode;
+ var vusemap;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(7);
+ vusemap = testNode.useMap;
+
+ assertEquals("usemapLink","#submit-map",vusemap);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement17();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement17.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement17.xhtml
new file mode 100644
index 0000000..d9632c0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement17.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement17.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement18-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement18-expected.txt
new file mode 100644
index 0000000..d664b6c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement18-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement18
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement18.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement18.js
new file mode 100644
index 0000000..f339ef6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement18.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement18";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The value attribute is the current content of the corresponding form
+ control when the type attribute has the value Text, File or Password.
+
+ Retrieve the value attribute of the 2nd INPUT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49531485
+*/
+function HTMLInputElement18() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement18") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(1);
+ vvalue = testNode.value;
+
+ assertEquals("valueLink","ReHire",vvalue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement18();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement18.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement18.xhtml
new file mode 100644
index 0000000..0d613a7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement18.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement18.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement19-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement19-expected.txt
new file mode 100644
index 0000000..7942ab6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement19-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement19
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement19.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement19.js
new file mode 100644
index 0000000..ab815af
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement19.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement19";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+HTMLInputElement.blur should surrender input focus.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26838235
+*/
+function HTMLInputElement19() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement19") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(1);
+ testNode.blur();
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement19();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement19.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement19.xhtml
new file mode 100644
index 0000000..b9f81ba
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement19.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement19.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement20-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement20-expected.txt
new file mode 100644
index 0000000..62ceef8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement20-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement20
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement20.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement20.js
new file mode 100644
index 0000000..4054743
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement20.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement20";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+HTMLInputElement.focus should capture input focus.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-65996295
+*/
+function HTMLInputElement20() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement20") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(1);
+ testNode.focus();
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement20();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement20.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement20.xhtml
new file mode 100644
index 0000000..da2f47e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement20.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement20.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement21-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement21-expected.txt
new file mode 100644
index 0000000..0122288
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement21-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement21
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement21.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement21.js
new file mode 100644
index 0000000..5c75f53
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement21.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement21";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+HTMLInputElement.click should change the state of checked on a radio button.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-2651361
+*/
+function HTMLInputElement21() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement21") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+ var checked;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(1);
+ checked = testNode.checked;
+
+ assertFalse("notCheckedBeforeClick",checked);
+testNode.click();
+ checked = testNode.checked;
+
+ assertTrue("checkedAfterClick",checked);
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement21();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement21.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement21.xhtml
new file mode 100644
index 0000000..27fc70b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement21.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement21.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement22-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement22-expected.txt
new file mode 100644
index 0000000..c6ad359
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement22-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement22
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement22.js b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement22.js
new file mode 100644
index 0000000..44702c9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement22.js
@@ -0,0 +1,108 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLInputElement22";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "input");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+HTMLInputElement.select should select the contents of a text area.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-34677168
+*/
+function HTMLInputElement22() {
+ var success;
+ if(checkInitialization(builder, "HTMLInputElement22") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+ var checked;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "input");
+ nodeList = doc.getElementsByTagName("input");
+ assertSize("Asize",9,nodeList);
+testNode = nodeList.item(0);
+ testNode.select();
+
+}
+
+
+
+
+function runTest() {
+ HTMLInputElement22();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLInputElement22.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement22.xhtml
new file mode 100644
index 0000000..af4dc76
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLInputElement22.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - INPUT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLInputElement22.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table cellpadding="15" border="border" summary="Table 1">
+<tr align="center">
+<td valign="top">Under a FORM control
+<form id="form1" action="./files/getData.pl" method="post">
+<table border="15" summary="Table 2">
+<tr>
+<td>
+<label accesskey="b" for="input1">Enter Your Password:</label>
+</td>
+<td>
+<input dir="ltr" id="input1" tabindex="8" value="Password" type="password" name="Password" size="25" maxlength="5" alt="Password entry" readonly="readonly"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio1" accesskey="c" value="ReHire"/>
+</td>
+</tr>
+<tr>
+<td>
+<input type="radio" name="Radio2" value="NewHire" tabindex="9" checked="checked"/>
+</td>
+</tr>
+<tr>
+<td>Hours available to work</td>
+<td>
+<input type="checkbox" name="Check1" align="bottom" tabindex="10" value="EarlyMornings" checked="checked"/>
+<br/>
+<input id="input5" type="checkbox" name="Check2" tabindex="11" value="AfterNoon" onclick="newId(this)"/>
+<br/>
+<input type="checkbox" name="Check3" tabindex="12" value="Evenings"/>
+<br/>
+<input type="checkbox" name="Check4" tabindex="13" value="Closing" disabled="disabled"/>
+<br/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input type="image" tabindex="14" name="SubmitImage" usemap="#submit-map" src="./pix/submit.gif"/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<input title="old_title" type="file" name="FileControl" tabindex="15" accept="GIF,JPEG" onselect="newTitle(this)"/>
+</td>
+</tr>
+</table>
+</form>
+</td>
+</tr>
+</table>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement01-expected.txt
new file mode 100644
index 0000000..f9bea32
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIsIndexElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement01.js
new file mode 100644
index 0000000..1e05171
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement01.js
@@ -0,0 +1,122 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIsIndexElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "isindex");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns the FORM element containing this control.
+
+ Retrieve the form attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87069980
+*/
+function HTMLIsIndexElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLIsIndexElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var fNode;
+ var doc;
+ var prompt;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "isindex");
+ nodeList = doc.getElementsByTagName("isindex");
+ testNode = nodeList.item(0);
+ assertNotNull("notnull",testNode);
+prompt = testNode.prompt;
+
+ assertEquals("IsIndex.Prompt","New Employee: ",prompt);
+ fNode = testNode.form;
+
+ assertNotNull("formNotNull",fNode);
+vform = fNode.id;
+
+ assertEquals("formLink","form1",vform);
+ assertSize("Asize",2,nodeList);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIsIndexElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement01.xhtml
new file mode 100644
index 0000000..f76f9da
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement01.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - ISINDEX</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIsIndexElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<isindex prompt="New Employee: "/>
+</form>
+<isindex prompt="Old Employee: "/>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement02-expected.txt
new file mode 100644
index 0000000..60cdaca
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIsIndexElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement02.js
new file mode 100644
index 0000000..b7c2854
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement02.js
@@ -0,0 +1,119 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIsIndexElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "isindex");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns null if control in not within the context of
+ form.
+
+ Retrieve the form attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87069980
+*/
+function HTMLIsIndexElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLIsIndexElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var doc;
+ var prompt;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "isindex");
+ nodeList = doc.getElementsByTagName("isindex");
+ testNode = nodeList.item(1);
+ assertNotNull("notnull",testNode);
+prompt = testNode.prompt;
+
+ assertEquals("IsIndex.Prompt","Old Employee: ",prompt);
+ vform = testNode.form;
+
+ assertNull("formNullLink",vform);
+ assertSize("Asize",2,nodeList);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIsIndexElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement02.xhtml
new file mode 100644
index 0000000..0f38d43
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement02.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - ISINDEX</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIsIndexElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<isindex prompt="New Employee: "/>
+</form>
+<isindex prompt="Old Employee: "/>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement03-expected.txt
new file mode 100644
index 0000000..7d86a4f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIsIndexElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement03.js
new file mode 100644
index 0000000..9421855
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLIsIndexElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "isindex");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The prompt attribute specifies the prompt message.
+
+ Retrieve the prompt attribute of the 1st isindex element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33589862
+*/
+function HTMLIsIndexElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLIsIndexElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vprompt;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "isindex");
+ nodeList = doc.getElementsByTagName("isindex");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vprompt = testNode.prompt;
+
+ assertEquals("promptLink","New Employee: ",vprompt);
+
+}
+
+
+
+
+function runTest() {
+ HTMLIsIndexElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement03.xhtml
new file mode 100644
index 0000000..aa9bf49
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLIsIndexElement03.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - ISINDEX</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLIsIndexElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<isindex prompt="New Employee: "/>
+</form>
+<isindex prompt="Old Employee: "/>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLIElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLIElement01-expected.txt
new file mode 100644
index 0000000..8786a41
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLIElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLIElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLIElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLLIElement01.js
new file mode 100644
index 0000000..797b444
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLIElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLIElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "li");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute is a list item bullet style.
+
+ Retrieve the type attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52387668
+*/
+function HTMLLIElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLLIElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "li");
+ nodeList = doc.getElementsByTagName("li");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","square",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLIElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLIElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLIElement01.xhtml
new file mode 100644
index 0000000..81b794a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLIElement01.xhtml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LI</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLIElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<ol>
+<li type="square" value="2">EMP0001
+<ul>
+<li>Margaret Martin
+<dl>
+<dd>Accountant</dd>
+<dd>56,000</dd>
+<dd>Female</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ol>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLIElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLIElement02-expected.txt
new file mode 100644
index 0000000..5c76202
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLIElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLIElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLIElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLLIElement02.js
new file mode 100644
index 0000000..4e19d2c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLIElement02.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLIElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "li");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The value attribute is a reset sequence number when used in OL.
+
+ Retrieve the value attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-45496263
+*/
+function HTMLLIElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLLIElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "li");
+ nodeList = doc.getElementsByTagName("li");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vvalue = testNode.value;
+
+ assertEquals("valueLink",2,vvalue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLIElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLIElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLIElement02.xhtml
new file mode 100644
index 0000000..b0e2b56
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLIElement02.xhtml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LI</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLIElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<ol>
+<li type="square" value="2">EMP0001
+<ul>
+<li>Margaret Martin
+<dl>
+<dd>Accountant</dd>
+<dd>56,000</dd>
+<dd>Female</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ol>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement01-expected.txt
new file mode 100644
index 0000000..ea1e21b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLabelElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement01.js
new file mode 100644
index 0000000..00973ec
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement01.js
@@ -0,0 +1,116 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLabelElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "label");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns the FORM element containing this control.
+
+ Retrieve the form attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32480901
+*/
+function HTMLLabelElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLLabelElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var fNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "label");
+ nodeList = doc.getElementsByTagName("label");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ fNode = testNode.form;
+
+ vform = fNode.id;
+
+ assertEquals("formLink","form1",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLabelElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement01.xhtml
new file mode 100644
index 0000000..52d0765
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement01.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LABEL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLabelElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<label accesskey="b" for="input1">Enter Your First Password:</label>
+<input id="input1" type="password" name="Password1"/>
+</p>
+</form>
+<p>
+<label accesskey="c" for="input2">Enter Your Second Password:</label>
+<input id="input2" type="password" name="Password2"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement02-expected.txt
new file mode 100644
index 0000000..1ee2c5c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLabelElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement02.js
new file mode 100644
index 0000000..322b888
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLabelElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "label");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns null if control in not within the context of
+ form.
+
+ Retrieve the form attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32480901
+*/
+function HTMLLabelElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLLabelElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "label");
+ nodeList = doc.getElementsByTagName("label");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vform = testNode.form;
+
+ assertNull("formNullLink",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLabelElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement02.xhtml
new file mode 100644
index 0000000..0212a27
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement02.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LABEL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLabelElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<label accesskey="b" for="input1">Enter Your First Password:</label>
+<input id="input1" type="password" name="Password1"/>
+</p>
+</form>
+<p>
+<label accesskey="c" for="input2">Enter Your Second Password:</label>
+<input id="input2" type="password" name="Password2"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement03-expected.txt
new file mode 100644
index 0000000..a182e7e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLabelElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement03.js
new file mode 100644
index 0000000..140d808
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLabelElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "label");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The accessKey attribute is a single character access key to give access
+ to the form control.
+
+ Retrieve the accessKey attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-43589892
+*/
+function HTMLLabelElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLLabelElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vaccesskey;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "label");
+ nodeList = doc.getElementsByTagName("label");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vaccesskey = testNode.accessKey;
+
+ assertEquals("accesskeyLink","b",vaccesskey);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLabelElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement03.xhtml
new file mode 100644
index 0000000..31520b6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement03.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LABEL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLabelElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<label accesskey="b" for="input1">Enter Your First Password:</label>
+<input id="input1" type="password" name="Password1"/>
+</p>
+</form>
+<p>
+<label accesskey="c" for="input2">Enter Your Second Password:</label>
+<input id="input2" type="password" name="Password2"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement04-expected.txt
new file mode 100644
index 0000000..12bdc3f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLabelElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement04.js
new file mode 100644
index 0000000..98ec15f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement04.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLabelElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "label");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The htmlFor attribute links this label with another form control by
+ id attribute.
+
+ Retrieve the htmlFor attribute of the first LABEL element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96509813
+*/
+function HTMLLabelElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLLabelElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vhtmlfor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "label");
+ nodeList = doc.getElementsByTagName("label");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vhtmlfor = testNode.htmlFor;
+
+ assertEquals("htmlForLink","input1",vhtmlfor);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLabelElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement04.xhtml
new file mode 100644
index 0000000..3635931
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLabelElement04.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LABEL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLabelElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<label accesskey="b" for="input1">Enter Your First Password:</label>
+<input id="input1" type="password" name="Password1"/>
+</p>
+</form>
+<p>
+<label accesskey="c" for="input2">Enter Your Second Password:</label>
+<input id="input2" type="password" name="Password2"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement01-expected.txt
new file mode 100644
index 0000000..171cc55
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLegendElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement01.js
new file mode 100644
index 0000000..bc3206e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement01.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLegendElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "legend");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns the FORM element containing this control.
+
+ Retrieve the form attribute from the first LEGEND element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-29594519
+*/
+function HTMLLegendElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLLegendElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var fNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "legend");
+ nodeList = doc.getElementsByTagName("legend");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ fNode = testNode.form;
+
+ vform = fNode.id;
+
+ assertEquals("formLink","form1",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLegendElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement01.xhtml
new file mode 100644
index 0000000..05746b7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement01.xhtml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LEGEND</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLegendElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<fieldset>
+<legend accesskey="b" align="top">Enter Password1:</legend>
+<input id="input1" type="password" name="Password1"/>
+</fieldset>
+</form>
+<fieldset>
+<legend accesskey="c" align="bottom">Enter Password2:</legend>
+<input id="input2" type="password" name="Password2"/>
+</fieldset>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement02-expected.txt
new file mode 100644
index 0000000..24ee241
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLegendElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement02.js
new file mode 100644
index 0000000..dc51f8c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLegendElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "legend");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns null if control in not within the context of
+ form.
+
+ Retrieve the second ELEMENT and examine its form element.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-29594519
+*/
+function HTMLLegendElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLLegendElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "legend");
+ nodeList = doc.getElementsByTagName("legend");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vform = testNode.form;
+
+ assertNull("formNullLink",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLegendElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement02.xhtml
new file mode 100644
index 0000000..3a8c607
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement02.xhtml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LEGEND</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLegendElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<fieldset>
+<legend accesskey="b" align="top">Enter Password1:</legend>
+<input id="input1" type="password" name="Password1"/>
+</fieldset>
+</form>
+<fieldset>
+<legend accesskey="c" align="bottom">Enter Password2:</legend>
+<input id="input2" type="password" name="Password2"/>
+</fieldset>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement03-expected.txt
new file mode 100644
index 0000000..70023bd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLegendElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement03.js
new file mode 100644
index 0000000..43ae5c4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLegendElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "legend");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The accessKey attribute is a single character access key to give access
+ to the form control.
+
+ Retrieve the accessKey attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11297832
+*/
+function HTMLLegendElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLLegendElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vaccesskey;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "legend");
+ nodeList = doc.getElementsByTagName("legend");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vaccesskey = testNode.accessKey;
+
+ assertEquals("accesskeyLink","b",vaccesskey);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLegendElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement03.xhtml
new file mode 100644
index 0000000..7d3b9d8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement03.xhtml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LEGEND</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLegendElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<fieldset>
+<legend accesskey="b" align="top">Enter Password1:</legend>
+<input id="input1" type="password" name="Password1"/>
+</fieldset>
+</form>
+<fieldset>
+<legend accesskey="c" align="bottom">Enter Password2:</legend>
+<input id="input2" type="password" name="Password2"/>
+</fieldset>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement04-expected.txt
new file mode 100644
index 0000000..09750af
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLegendElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement04.js
new file mode 100644
index 0000000..15b85c3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement04.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLegendElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "legend");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the text alignment relative to FIELDSET.
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79538067
+*/
+function HTMLLegendElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLLegendElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "legend");
+ nodeList = doc.getElementsByTagName("legend");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","top",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLegendElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement04.xhtml
new file mode 100644
index 0000000..ab581a4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLegendElement04.xhtml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LEGEND</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLegendElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<fieldset>
+<legend accesskey="b" align="top">Enter Password1:</legend>
+<input id="input1" type="password" name="Password1"/>
+</fieldset>
+</form>
+<fieldset>
+<legend accesskey="c" align="bottom">Enter Password2:</legend>
+<input id="input2" type="password" name="Password2"/>
+</fieldset>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement01-expected.txt
new file mode 100644
index 0000000..688aee6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement01.js
new file mode 100644
index 0000000..222240b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "link");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The disabled attribute enables/disables the link.
+
+ Retrieve the disabled attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87355129
+*/
+function HTMLLinkElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLLinkElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vdisabled;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "link");
+ nodeList = doc.getElementsByTagName("link");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vdisabled = testNode.disabled;
+
+ assertFalse("disabled",vdisabled);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLinkElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement01.xhtml
new file mode 100644
index 0000000..31feb9c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement01.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LINK</title>
+<link charset="Latin-1" href="./files/glossary.html" hreflang="en" media="screen" rel="Glossary" type="text/html"/>
+<link charset="Latin-1" href="./files/style1.css" hreflang="en" media="screen" rev="stylesheet" type="text/css"/>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLinkElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement02-expected.txt
new file mode 100644
index 0000000..828e564
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement02.js
new file mode 100644
index 0000000..c6149cb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "link");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The charset attribute indicates the character encoding of the linked
+ resource.
+
+ Retrieve the charset attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63954491
+*/
+function HTMLLinkElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLLinkElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vcharset;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "link");
+ nodeList = doc.getElementsByTagName("link");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vcharset = testNode.charset;
+
+ assertEquals("charsetLink","Latin-1",vcharset);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLinkElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement02.xhtml
new file mode 100644
index 0000000..29bcb95
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement02.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LINK</title>
+<link charset="Latin-1" href="./files/glossary.html" hreflang="en" media="screen" rel="Glossary" type="text/html"/>
+<link charset="Latin-1" href="./files/style1.css" hreflang="en" media="screen" rev="stylesheet" type="text/css"/>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLinkElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement03-expected.txt
new file mode 100644
index 0000000..dcfdb54
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement03.js
new file mode 100644
index 0000000..2a0a356
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement03.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "link");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The href attribute specifies the URI of the linked resource.
+
+ Retrieve the href attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33532588
+*/
+function HTMLLinkElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLLinkElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vhref;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "link");
+ nodeList = doc.getElementsByTagName("link");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vhref = testNode.href;
+
+ assertURIEquals("hrefLink",null,null,null,"glossary.html",null,null,null,null,vhref);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLinkElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement03.xhtml
new file mode 100644
index 0000000..9a9a282
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement03.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LINK</title>
+<link charset="Latin-1" href="./files/glossary.html" hreflang="en" media="screen" rel="Glossary" type="text/html"/>
+<link charset="Latin-1" href="./files/style1.css" hreflang="en" media="screen" rev="stylesheet" type="text/css"/>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLinkElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement04-expected.txt
new file mode 100644
index 0000000..1ad2b18
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement04.js
new file mode 100644
index 0000000..15a1862
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement04.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "link");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The hreflang attribute specifies the language code of the linked resource.
+
+ Retrieve the hreflang attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85145682
+*/
+function HTMLLinkElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLLinkElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vhreflang;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "link");
+ nodeList = doc.getElementsByTagName("link");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vhreflang = testNode.hreflang;
+
+ assertEquals("hreflangLink","en",vhreflang);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLinkElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement04.xhtml
new file mode 100644
index 0000000..cf38e78
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement04.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LINK</title>
+<link charset="Latin-1" href="./files/glossary.html" hreflang="en" media="screen" rel="Glossary" type="text/html"/>
+<link charset="Latin-1" href="./files/style1.css" hreflang="en" media="screen" rev="stylesheet" type="text/css"/>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLinkElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement05-expected.txt
new file mode 100644
index 0000000..c19343a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement05.js
new file mode 100644
index 0000000..e807d75
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement05.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "link");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The media attribute specifies the targeted media.
+
+ Retrieve the media attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75813125
+*/
+function HTMLLinkElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLLinkElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vmedia;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "link");
+ nodeList = doc.getElementsByTagName("link");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vmedia = testNode.media;
+
+ assertEquals("mediaLink","screen",vmedia);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLinkElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement05.xhtml
new file mode 100644
index 0000000..0e7952a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement05.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LINK</title>
+<link charset="Latin-1" href="./files/glossary.html" hreflang="en" media="screen" rel="Glossary" type="text/html"/>
+<link charset="Latin-1" href="./files/style1.css" hreflang="en" media="screen" rev="stylesheet" type="text/css"/>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLinkElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement06-expected.txt
new file mode 100644
index 0000000..9d35df7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement06.js
new file mode 100644
index 0000000..d5f6c1e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement06.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "link");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The rel attribute specifies the forward link type.
+
+ Retrieve the rel attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41369587
+*/
+function HTMLLinkElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLLinkElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vrel;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "link");
+ nodeList = doc.getElementsByTagName("link");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vrel = testNode.rel;
+
+ assertEquals("relLink","Glossary",vrel);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLinkElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement06.xhtml
new file mode 100644
index 0000000..e0d7303
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement06.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LINK</title>
+<link charset="Latin-1" href="./files/glossary.html" hreflang="en" media="screen" rel="Glossary" type="text/html"/>
+<link charset="Latin-1" href="./files/style1.css" hreflang="en" media="screen" rev="stylesheet" type="text/css"/>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLinkElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement07-expected.txt
new file mode 100644
index 0000000..410ca2d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement07.js
new file mode 100644
index 0000000..71ae1f9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement07.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "link");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The rev attribute specifies the reverse link type.
+
+ Retrieve the rev attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40715461
+*/
+function HTMLLinkElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLLinkElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vrev;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "link");
+ nodeList = doc.getElementsByTagName("link");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vrev = testNode.rev;
+
+ assertEquals("revLink","stylesheet",vrev);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLinkElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement07.xhtml
new file mode 100644
index 0000000..19f3430
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement07.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LINK</title>
+<link charset="Latin-1" href="./files/glossary.html" hreflang="en" media="screen" rel="Glossary" type="text/html"/>
+<link charset="Latin-1" href="./files/style1.css" hreflang="en" media="screen" rev="stylesheet" type="text/css"/>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLinkElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement08-expected.txt
new file mode 100644
index 0000000..3455c08
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement08.js
new file mode 100644
index 0000000..d44fd39
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement08.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "link");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute specifies the advisory content type.
+
+ Retrieve the type attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32498296
+*/
+function HTMLLinkElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLLinkElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "link");
+ nodeList = doc.getElementsByTagName("link");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","text/html",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLinkElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement08.xhtml
new file mode 100644
index 0000000..a527efa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement08.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LINK</title>
+<link charset="Latin-1" href="./files/glossary.html" hreflang="en" media="screen" rel="Glossary" type="text/html"/>
+<link charset="Latin-1" href="./files/style1.css" hreflang="en" media="screen" rev="stylesheet" type="text/css"/>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLinkElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement09-expected.txt
new file mode 100644
index 0000000..2dbfcda
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement09.js
new file mode 100644
index 0000000..c6d191b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement09.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLLinkElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "link2");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The target attribute specifies the frame to render the resource in.
+
+ Retrieve the target attribute and examine it's value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84183095
+*/
+function HTMLLinkElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLLinkElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vtarget;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "link2");
+ nodeList = doc.getElementsByTagName("link");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtarget = testNode.target;
+
+ assertEquals("targetLink","dynamic",vtarget);
+
+}
+
+
+
+
+function runTest() {
+ HTMLLinkElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement09.xhtml
new file mode 100644
index 0000000..14c488e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLLinkElement09.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - LINK</title>
+<link charset="Latin-1" target="dynamic" href="./files/glossary.html" hreflang="en" media="screen" rel="Glossary" type="text/html"/>
+<link charset="Latin-1" href="./files/style1.css" hreflang="en" media="screen" rev="stylesheet" type="text/css"/>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLLinkElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMapElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLMapElement01-expected.txt
new file mode 100644
index 0000000..0dac71a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMapElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMapElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMapElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLMapElement01.js
new file mode 100644
index 0000000..0cc9203
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMapElement01.js
@@ -0,0 +1,116 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMapElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "map");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The areas attribute is a list of areas defined for the image map.
+
+ Retrieve the areas attribute and find the number of areas defined.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71838730
+*/
+function HTMLMapElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLMapElement01") != null) return;
+ var nodeList;
+ var areasnodeList;
+ var testNode;
+ var vareas;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "map");
+ nodeList = doc.getElementsByTagName("map");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ areasnodeList = testNode.areas;
+
+ vareas = areasnodeList.length;
+
+ assertEquals("areasLink",3,vareas);
+
+}
+
+
+
+
+function runTest() {
+ HTMLMapElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMapElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLMapElement01.xhtml
new file mode 100644
index 0000000..dc3e2ca
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMapElement01.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - MAP</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLMapElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area href="./files/dletter1.html" title="Domain1" alt="Domain1"/>
+<area href="./files/dletter2.html" title="Domain2" alt="Domain2"/>
+<area href="./files/dletter3.html" title="Domain3" alt="Domain3"/>
+</map>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMapElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLMapElement02-expected.txt
new file mode 100644
index 0000000..10c6865
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMapElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMapElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMapElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLMapElement02.js
new file mode 100644
index 0000000..055b9d9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMapElement02.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMapElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "map");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute names the map(for use with usemap).
+
+ Retrieve the name attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52696514
+*/
+function HTMLMapElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLMapElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "map");
+ nodeList = doc.getElementsByTagName("map");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.name;
+
+ assertEquals("mapLink","mapid",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLMapElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMapElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLMapElement02.xhtml
new file mode 100644
index 0000000..8f54eae
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMapElement02.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - MAP</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLMapElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area href="./files/dletter1.html" title="Domain1" alt="Domain1"/>
+<area href="./files/dletter2.html" title="Domain2" alt="Domain2"/>
+<area href="./files/dletter3.html" title="Domain3" alt="Domain3"/>
+</map>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMenuElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLMenuElement01-expected.txt
new file mode 100644
index 0000000..696444a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMenuElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMenuElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMenuElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLMenuElement01.js
new file mode 100644
index 0000000..11ff1dc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMenuElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMenuElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "menu");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The compact attribute specifies a boolean value on whether to display
+ the list more compactly.
+
+ Retrieve the compact attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68436464
+*/
+function HTMLMenuElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLMenuElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcompact;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "menu");
+ nodeList = doc.getElementsByTagName("menu");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcompact = testNode.compact;
+
+ assertTrue("compactLink",vcompact);
+
+}
+
+
+
+
+function runTest() {
+ HTMLMenuElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMenuElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLMenuElement01.xhtml
new file mode 100644
index 0000000..c63211c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMenuElement01.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - MENU</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLMenuElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<menu compact="compact">
+<li>Interview</li>
+<li>Paperwork</li>
+<li>Give start date</li>
+</menu>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement01-expected.txt
new file mode 100644
index 0000000..5efed9a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMetaElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement01.js
new file mode 100644
index 0000000..a5dd526
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMetaElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "meta");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The content attribute specifies associated information.
+
+ Retrieve the content attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87670826
+*/
+function HTMLMetaElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLMetaElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcontent;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "meta");
+ nodeList = doc.getElementsByTagName("meta");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcontent = testNode.content;
+
+ assertEquals("contentLink","text/html; CHARSET=utf-8",vcontent);
+
+}
+
+
+
+
+function runTest() {
+ HTMLMetaElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement01.xhtml
new file mode 100644
index 0000000..335fa30
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement01.xhtml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<meta name="Meta-Name" http-equiv="Content-Type" content="text/html; CHARSET=utf-8" scheme="NIST"/>
+<title>NIST DOM HTML Test - META</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLMetaElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement02-expected.txt
new file mode 100644
index 0000000..0e40a2c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMetaElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement02.js
new file mode 100644
index 0000000..0427be2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement02.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMetaElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "meta");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The httpEquiv attribute specifies an HTTP respnse header name.
+
+ Retrieve the httpEquiv attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77289449
+*/
+function HTMLMetaElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLMetaElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vhttpequiv;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "meta");
+ nodeList = doc.getElementsByTagName("meta");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vhttpequiv = testNode.httpEquiv;
+
+ assertEquals("httpEquivLink","Content-Type",vhttpequiv);
+
+}
+
+
+
+
+function runTest() {
+ HTMLMetaElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement02.xhtml
new file mode 100644
index 0000000..882b8fb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement02.xhtml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<meta name="Meta-Name" http-equiv="Content-Type" content="text/html; CHARSET=utf-8" scheme="NIST"/>
+<title>NIST DOM HTML Test - META</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLMetaElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement03-expected.txt
new file mode 100644
index 0000000..af871c2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMetaElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement03.js
new file mode 100644
index 0000000..25a9e7d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement03.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMetaElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "meta");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute specifies the meta information name.
+
+ Retrieve the name attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31037081
+*/
+function HTMLMetaElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLMetaElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "meta");
+ nodeList = doc.getElementsByTagName("meta");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.name;
+
+ assertEquals("nameLink","Meta-Name",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLMetaElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement03.xhtml
new file mode 100644
index 0000000..61cb8b6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement03.xhtml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<meta name="Meta-Name" http-equiv="Content-Type" content="text/html; CHARSET=utf-8" scheme="NIST"/>
+<title>NIST DOM HTML Test - META</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLMetaElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement04-expected.txt
new file mode 100644
index 0000000..c9ee43f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMetaElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement04.js
new file mode 100644
index 0000000..ab46388
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement04.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLMetaElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "meta");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The scheme attribute specifies a select form of content.
+
+ Retrieve the scheme attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35993789
+*/
+function HTMLMetaElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLMetaElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vscheme;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "meta");
+ nodeList = doc.getElementsByTagName("meta");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vscheme = testNode.scheme;
+
+ assertEquals("schemeLink","NIST",vscheme);
+
+}
+
+
+
+
+function runTest() {
+ HTMLMetaElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement04.xhtml
new file mode 100644
index 0000000..6b9fb5e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLMetaElement04.xhtml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<meta name="Meta-Name" http-equiv="Content-Type" content="text/html; CHARSET=utf-8" scheme="NIST"/>
+<title>NIST DOM HTML Test - META</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLMetaElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLModElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLModElement01-expected.txt
new file mode 100644
index 0000000..d7ddad3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLModElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLModElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLModElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLModElement01.js
new file mode 100644
index 0000000..a16373c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLModElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLModElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "mod");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The cite attribute specifies an URI designating a document that describes
+ the reason for the change.
+
+ Retrieve the cite attribute of the INS element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75101708
+*/
+function HTMLModElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLModElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcite;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "mod");
+ nodeList = doc.getElementsByTagName("ins");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcite = testNode.cite;
+
+ assertURIEquals("citeLink",null,null,null,"ins-reasons.html",null,null,null,null,vcite);
+
+}
+
+
+
+
+function runTest() {
+ HTMLModElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLModElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLModElement01.xhtml
new file mode 100644
index 0000000..1cba6d6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLModElement01.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - MOD</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLModElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<ins cite="./files/ins-reasons.html" datetime="January 1, 2002">The INS element is used to indicate that a section of a document had been inserted.</ins>
+<br/>
+<del cite="./files/del-reasons.html" datetime="January 2, 2002">The DEL element is used to indicate that a section of a document had been removed.</del>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLModElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLModElement02-expected.txt
new file mode 100644
index 0000000..1fc6849
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLModElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLModElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLModElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLModElement02.js
new file mode 100644
index 0000000..b655cbf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLModElement02.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLModElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "mod");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dateTime attribute specifies the date and time of the change.
+
+ Retrieve the dateTime attribute of the INS element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88432678
+*/
+function HTMLModElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLModElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vdatetime;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "mod");
+ nodeList = doc.getElementsByTagName("ins");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdatetime = testNode.dateTime;
+
+ assertEquals("dateTimeLink","January 1, 2002",vdatetime);
+
+}
+
+
+
+
+function runTest() {
+ HTMLModElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLModElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLModElement02.xhtml
new file mode 100644
index 0000000..88089d0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLModElement02.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - MOD</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLModElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<ins cite="./files/ins-reasons.html" datetime="January 1, 2002">The INS element is used to indicate that a section of a document had been inserted.</ins>
+<br/>
+<del cite="./files/del-reasons.html" datetime="January 2, 2002">The DEL element is used to indicate that a section of a document had been removed.</del>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLModElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLModElement03-expected.txt
new file mode 100644
index 0000000..4de3dd2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLModElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLModElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLModElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLModElement03.js
new file mode 100644
index 0000000..55a020a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLModElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLModElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "mod");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The cite attribute specifies an URI designating a document that describes
+ the reason for the change.
+
+ Retrieve the cite attribute of the DEL element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75101708
+*/
+function HTMLModElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLModElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vcite;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "mod");
+ nodeList = doc.getElementsByTagName("del");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcite = testNode.cite;
+
+ assertURIEquals("citeLink",null,null,null,"del-reasons.html",null,null,null,null,vcite);
+
+}
+
+
+
+
+function runTest() {
+ HTMLModElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLModElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLModElement03.xhtml
new file mode 100644
index 0000000..0175146
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLModElement03.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - MOD</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLModElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<ins cite="./files/ins-reasons.html" datetime="January 1, 2002">The INS element is used to indicate that a section of a document had been inserted.</ins>
+<br/>
+<del cite="./files/del-reasons.html" datetime="January 2, 2002">The DEL element is used to indicate that a section of a document had been removed.</del>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLModElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLModElement04-expected.txt
new file mode 100644
index 0000000..692902e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLModElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLModElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLModElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLModElement04.js
new file mode 100644
index 0000000..0837e30
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLModElement04.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLModElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "mod");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The dateTime attribute specifies the date and time of the change.
+
+ Retrieve the dateTime attribute of the DEL element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88432678
+*/
+function HTMLModElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLModElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vdatetime;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "mod");
+ nodeList = doc.getElementsByTagName("del");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdatetime = testNode.dateTime;
+
+ assertEquals("dateTimeLink","January 2, 2002",vdatetime);
+
+}
+
+
+
+
+function runTest() {
+ HTMLModElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLModElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLModElement04.xhtml
new file mode 100644
index 0000000..cefc2d1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLModElement04.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - MOD</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLModElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<ins cite="./files/ins-reasons.html" datetime="January 1, 2002">The INS element is used to indicate that a section of a document had been inserted.</ins>
+<br/>
+<del cite="./files/del-reasons.html" datetime="January 2, 2002">The DEL element is used to indicate that a section of a document had been removed.</del>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOListElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement01-expected.txt
new file mode 100644
index 0000000..0aca973
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOListElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOListElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement01.js
new file mode 100644
index 0000000..be43d86
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOListElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "olist");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The compact attribute specifies a boolean value on whether to display
+ the list more compactly.
+
+ Retrieve the compact attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76448506
+*/
+function HTMLOListElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLOListElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcompact;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "olist");
+ nodeList = doc.getElementsByTagName("ol");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcompact = testNode.compact;
+
+ assertTrue("compactLink",vcompact);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOListElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOListElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement01.xhtml
new file mode 100644
index 0000000..a618bd7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement01.xhtml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OLIST</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOListElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<ol compact="compact" start="1" type="1">
+<li>EMP0001
+<ul>
+<li>Margaret Martin
+<dl>
+<dd>Accountant</dd>
+<dd>56,000</dd>
+</dl>
+</li>
+</ul>
+</li>
+<li>EMP0002
+<ul>
+<li>Martha Raynolds
+<dl>
+<dd>Secretary</dd>
+<dd>35,000</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ol>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOListElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement02-expected.txt
new file mode 100644
index 0000000..452b997
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOListElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOListElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement02.js
new file mode 100644
index 0000000..81b0fed
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement02.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOListElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "olist");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The start attribute specifies the starting sequence number.
+
+ Retrieve the start attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14793325
+*/
+function HTMLOListElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLOListElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vstart;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "olist");
+ nodeList = doc.getElementsByTagName("ol");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vstart = testNode.start;
+
+ assertEquals("startLink",1,vstart);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOListElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOListElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement02.xhtml
new file mode 100644
index 0000000..28c2463
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement02.xhtml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OLIST</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOListElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<ol compact="compact" start="1" type="1">
+<li>EMP0001
+<ul>
+<li>Margaret Martin
+<dl>
+<dd>Accountant</dd>
+<dd>56,000</dd>
+</dl>
+</li>
+</ul>
+</li>
+<li>EMP0002
+<ul>
+<li>Martha Raynolds
+<dl>
+<dd>Secretary</dd>
+<dd>35,000</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ol>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOListElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement03-expected.txt
new file mode 100644
index 0000000..30a0cec
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOListElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOListElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement03.js
new file mode 100644
index 0000000..05f918e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement03.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOListElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "olist");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute specifies the numbering style.
+
+ Retrieve the type attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40971103
+*/
+function HTMLOListElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLOListElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "olist");
+ nodeList = doc.getElementsByTagName("ol");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","1",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOListElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOListElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement03.xhtml
new file mode 100644
index 0000000..c463b1d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOListElement03.xhtml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OLIST</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOListElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<ol compact="compact" start="1" type="1">
+<li>EMP0001
+<ul>
+<li>Margaret Martin
+<dl>
+<dd>Accountant</dd>
+<dd>56,000</dd>
+</dl>
+</li>
+</ul>
+</li>
+<li>EMP0002
+<ul>
+<li>Martha Raynolds
+<dl>
+<dd>Secretary</dd>
+<dd>35,000</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ol>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement01-expected.txt
new file mode 100644
index 0000000..5a7bbfb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement01.js
new file mode 100644
index 0000000..d60bcad
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement01.js
@@ -0,0 +1,116 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object2");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns the FORM element containing this control.
+
+ Retrieve the form attribute and examine its value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773
+*/
+function HTMLObjectElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var fNode;
+ var vform;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object2");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ fNode = testNode.form;
+
+ vform = fNode.id;
+
+ assertEquals("idLink","object2",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement01.xhtml
new file mode 100644
index 0000000..be45554
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement01.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form id="object2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement02-expected.txt
new file mode 100644
index 0000000..3c6c236
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement02.js
new file mode 100644
index 0000000..700e611
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The code attribute specifies an Applet class file.
+
+Retrieve the code attribute of the second OBJECT element and examine
+its value. Should be "" since CODE is not a valid attribute for OBJECT.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75241146
+*/
+function HTMLObjectElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vcode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vcode = testNode.code;
+
+ assertEquals("codeLink","",vcode);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement02.xhtml
new file mode 100644
index 0000000..ddd3cd1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement02.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement03-expected.txt
new file mode 100644
index 0000000..cb1d421
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement03.js
new file mode 100644
index 0000000..e3c596d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement03.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the alignment of this object with respect
+ to its surrounding text.
+
+ Retrieve the align attribute of the first OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16962097
+*/
+function HTMLObjectElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","middle",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement03.xhtml
new file mode 100644
index 0000000..0ba0a8e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement03.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement04-expected.txt
new file mode 100644
index 0000000..cdb1eaa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement04.js
new file mode 100644
index 0000000..09ed47f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement04.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The archive attribute specifies a space-separated list of archives.
+
+ Retrieve the archive attribute of the first OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47783837
+*/
+function HTMLObjectElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var varchive;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ varchive = testNode.archive;
+
+ assertEquals("archiveLink","",varchive);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement04.xhtml
new file mode 100644
index 0000000..fcfd9f3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement04.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement05-expected.txt
new file mode 100644
index 0000000..091eb30
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement05.js
new file mode 100644
index 0000000..423efa3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement05.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The border attribute specifies the widht of the border around the object.
+
+ Retrieve the border attribute of the first OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82818419
+*/
+function HTMLObjectElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vborder;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vborder = testNode.border;
+
+ assertEquals("borderLink","0",vborder);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement05.xhtml
new file mode 100644
index 0000000..1e71ac4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement05.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement06-expected.txt
new file mode 100644
index 0000000..686ceb8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement06.js
new file mode 100644
index 0000000..8519100
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement06.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The codeBase attribute specifies the base URI for the classid, data and
+ archive attributes.
+
+ Retrieve the codeBase attribute of the first OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25709136
+*/
+function HTMLObjectElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vcodebase;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vcodebase = testNode.codeBase;
+
+ assertURIEquals("codebaseLink",null,"//xw2k.sdct.itl.nist.gov/brady/dom/",null,null,null,null,null,null,vcodebase);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement06.xhtml
new file mode 100644
index 0000000..8559ae9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement06.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement07-expected.txt
new file mode 100644
index 0000000..069661a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement07.js
new file mode 100644
index 0000000..88c6f29
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement07.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The codeType attribute specifies the data downloaded via the classid
+ attribute.
+
+ Retrieve the codeType attribute of the second OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19945008
+*/
+function HTMLObjectElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vcodetype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vcodetype = testNode.codeType;
+
+ assertEquals("codetypeLink","image/gif",vcodetype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement07.xhtml
new file mode 100644
index 0000000..be717bc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement07.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement08-expected.txt
new file mode 100644
index 0000000..ac7b1e6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement08.js
new file mode 100644
index 0000000..e8fa44c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement08.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The data attribute specifies the URI of the location of the objects data.
+
+ Retrieve the data attribute of the first OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-81766986
+*/
+function HTMLObjectElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vdata;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vdata = testNode.data;
+
+ assertURIEquals("dataLink",null,null,null,"logo.gif",null,null,null,null,vdata);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement08.xhtml
new file mode 100644
index 0000000..623406b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement08.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement09-expected.txt
new file mode 100644
index 0000000..ad6b742
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement09.js
new file mode 100644
index 0000000..6df1ec4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement09.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The declare attribute specifies this object should be declared only and
+ no instance of it should be created.
+
+ Retrieve the declare attribute of the second OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-942770
+*/
+function HTMLObjectElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vdeclare;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vdeclare = testNode.declare;
+
+ assertTrue("declareLink",vdeclare);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement09.xhtml
new file mode 100644
index 0000000..2fca225
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement09.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement10-expected.txt
new file mode 100644
index 0000000..db9f808
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement10.js
new file mode 100644
index 0000000..27799a4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement10.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The height attribute overrides the value of the actual height of the
+ object.
+
+ Retrieve the height attribute of the first OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88925838
+*/
+function HTMLObjectElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vheight;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vheight = testNode.height;
+
+ assertEquals("heightLink","60",vheight);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement10.xhtml
new file mode 100644
index 0000000..c59fb37
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement10.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement11-expected.txt
new file mode 100644
index 0000000..ff78547
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement11.js
new file mode 100644
index 0000000..1a9b193
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement11.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The hspace attribute specifies the horizontal space to the left and right
+ of this image, applet or object.
+
+ Retrieve the hspace attribute of the first OBJECT element and examine
+ it's value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-17085376
+*/
+function HTMLObjectElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement11") != null) return;
+ var nodeList;
+ var testNode;
+ var vhspace;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vhspace = testNode.hspace;
+
+ assertEquals("hspaceLink",0,vhspace);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement11.xhtml
new file mode 100644
index 0000000..6417f3c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement11.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement12-expected.txt
new file mode 100644
index 0000000..f11bad5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement12.js
new file mode 100644
index 0000000..65e40f6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement12.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The standby attribute specifies a message to render while loading the
+ object.
+
+ Retrieve the standby attribute of the first OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25039673
+*/
+function HTMLObjectElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement12") != null) return;
+ var nodeList;
+ var testNode;
+ var vstandby;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vstandby = testNode.standby;
+
+ assertEquals("alignLink","Loading Image ...",vstandby);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement12.xhtml
new file mode 100644
index 0000000..5886270
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement12.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement13-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement13-expected.txt
new file mode 100644
index 0000000..5359c37
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement13.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement13.js
new file mode 100644
index 0000000..71d37cb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement13.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The tabIndex attribute specifies the elements position in the tabbing
+ order.
+
+ Retrieve the tabIndex attribute of the first OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27083787
+*/
+function HTMLObjectElement13() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement13") != null) return;
+ var nodeList;
+ var testNode;
+ var vtabindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtabindex = testNode.tabIndex;
+
+ assertEquals("tabIndexLink",0,vtabindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement13.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement13.xhtml
new file mode 100644
index 0000000..d0a9620
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement13.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement13.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement14-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement14-expected.txt
new file mode 100644
index 0000000..7259bd4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement14-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement14
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement14.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement14.js
new file mode 100644
index 0000000..42960f6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement14.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement14";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute specifies the content type for data downloaded via
+ the data attribute.
+
+ Retrieve the type attribute of the first OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91665621
+*/
+function HTMLObjectElement14() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement14") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","image/gif",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement14();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement14.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement14.xhtml
new file mode 100644
index 0000000..88a7c40
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement14.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement14.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement15-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement15-expected.txt
new file mode 100644
index 0000000..ffd33e8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement15-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement15
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement15.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement15.js
new file mode 100644
index 0000000..17a4211
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement15.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement15";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The useMap attribute specifies the used client-side image map.
+
+ Retrieve the useMap attribute of the first OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6649772
+*/
+function HTMLObjectElement15() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement15") != null) return;
+ var nodeList;
+ var testNode;
+ var vusemap;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vusemap = testNode.useMap;
+
+ assertEquals("useMapLink","#DivLogo-map",vusemap);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement15();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement15.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement15.xhtml
new file mode 100644
index 0000000..e22f70d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement15.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement15.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement16-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement16-expected.txt
new file mode 100644
index 0000000..7b69a2f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement16-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement16
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement16.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement16.js
new file mode 100644
index 0000000..afc7d3f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement16.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement16";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The vspace attribute specifies the vertical space above or below this
+ image, applet or object.
+
+ Retrieve the vspace attribute of the first OBJECT element and examine
+ it's value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-8682483
+*/
+function HTMLObjectElement16() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement16") != null) return;
+ var nodeList;
+ var testNode;
+ var vvspace;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vvspace = testNode.vspace;
+
+ assertEquals("vspaceLink",0,vvspace);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement16();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement16.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement16.xhtml
new file mode 100644
index 0000000..1bf92a4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement16.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement16.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement17-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement17-expected.txt
new file mode 100644
index 0000000..d64a5f7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement17-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement17
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement17.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement17.js
new file mode 100644
index 0000000..f409567
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement17.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement17";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The width attribute overrides the original width value.
+
+ Retrieve the width attribute of the first OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38538620
+*/
+function HTMLObjectElement17() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement17") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink","550",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement17();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement17.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement17.xhtml
new file mode 100644
index 0000000..275f6b9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement17.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement17.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement18-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement18-expected.txt
new file mode 100644
index 0000000..9bea547
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement18-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement18
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement18.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement18.js
new file mode 100644
index 0000000..a07f251
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement18.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement18";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute specifies form control or object name when submitted
+ with a form.
+
+ Retrieve the name attribute of the second OBJECT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20110362
+*/
+function HTMLObjectElement18() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement18") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vname = testNode.name;
+
+ assertEquals("vspaceLink","OBJECT2",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement18();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement18.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement18.xhtml
new file mode 100644
index 0000000..67ea3a6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement18.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement18.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement19-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement19-expected.txt
new file mode 100644
index 0000000..ede3669
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement19-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement19
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement19.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement19.js
new file mode 100644
index 0000000..809f4f8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement19.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement19";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object2");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns null if control in not within the context of
+ form.
+
+ Retrieve the form attribute and examine its value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773
+*/
+function HTMLObjectElement19() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement19") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object2");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vform = testNode.form;
+
+ assertNull("formNullLink",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement19();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement19.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement19.xhtml
new file mode 100644
index 0000000..5ba41d4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement19.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement19.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form id="object2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement20-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement20-expected.txt
new file mode 100644
index 0000000..19d484f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement20-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement20
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement20.js b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement20.js
new file mode 100644
index 0000000..d4bd057
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement20.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLObjectElement20";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object2");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The contentDocument attribute specifies the document this object contains,
+ if there is any and it is available, or null otherwise.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-38538621
+*/
+function HTMLObjectElement20() {
+ var success;
+ if(checkInitialization(builder, "HTMLObjectElement20") != null) return;
+ var testNode;
+ var cd;
+ var vtitle;
+ var doc;
+ var nodeList;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object2");
+ nodeList = doc.getElementsByTagName("object");
+ testNode = nodeList.item(1);
+ cd = testNode.contentDocument;
+
+ assertNull("noContentDocument",cd);
+
+}
+
+
+
+
+function runTest() {
+ HTMLObjectElement20();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement20.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement20.xhtml
new file mode 100644
index 0000000..2c39374
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLObjectElement20.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLObjectElement20.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form id="object2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement01-expected.txt
new file mode 100644
index 0000000..902aaef
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptGroupElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement01.js
new file mode 100644
index 0000000..a9a7518
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptGroupElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "optgroup");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The disabled attribute indicates that the control is unavailable in
+ this context.
+
+ Retrieve the disabled attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-15518803
+*/
+function HTMLOptGroupElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptGroupElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vdisabled;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "optgroup");
+ nodeList = doc.getElementsByTagName("optgroup");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vdisabled = testNode.disabled;
+
+ assertTrue("disabledLink",vdisabled);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptGroupElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement01.xhtml
new file mode 100644
index 0000000..03b34b7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement01.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTGROUP</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptGroupElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="Form1" action="test.pl" method="post">
+<p>
+<select name="select2">
+<optgroup label="Regular Employees">
+<option>EMP0001</option>
+<option>EMP0002</option>
+<option>EMP0003A</option>
+</optgroup>
+<optgroup disabled="disabled" label="Temporary Employees">
+<option>EMP0004</option>
+<option>EMP0005</option>
+</optgroup>
+</select>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement02-expected.txt
new file mode 100644
index 0000000..e74daab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptGroupElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement02.js
new file mode 100644
index 0000000..3f22ca7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement02.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptGroupElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "optgroup");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The label attribute specifies the label assigned to this option group.
+
+ Retrieve the label attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-95806054
+*/
+function HTMLOptGroupElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptGroupElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vlabel;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "optgroup");
+ nodeList = doc.getElementsByTagName("optgroup");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vlabel = testNode.label;
+
+ assertEquals("labelLink","Regular Employees",vlabel);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptGroupElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement02.xhtml
new file mode 100644
index 0000000..3bb7e8c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptGroupElement02.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTGROUP</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptGroupElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="Form1" action="test.pl" method="post">
+<p>
+<select name="select2">
+<optgroup label="Regular Employees">
+<option>EMP0001</option>
+<option>EMP0002</option>
+<option>EMP0003A</option>
+</optgroup>
+<optgroup disabled="disabled" label="Temporary Employees">
+<option>EMP0004</option>
+<option>EMP0005</option>
+</optgroup>
+</select>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement01-expected.txt
new file mode 100644
index 0000000..cc6ee87
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement01.js
new file mode 100644
index 0000000..691e277
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement01.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "option");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns the FORM element containing this control.
+
+ Retrieve the form attribute from the first SELECT element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17116503
+*/
+function HTMLOptionElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var fNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "option");
+ nodeList = doc.getElementsByTagName("option");
+ assertSize("Asize",10,nodeList);
+testNode = nodeList.item(0);
+ fNode = testNode.form;
+
+ vform = fNode.id;
+
+ assertEquals("formLink","form1",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement01.xhtml
new file mode 100644
index 0000000..23ae629
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement01.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement02-expected.txt
new file mode 100644
index 0000000..827c7cb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement02.js
new file mode 100644
index 0000000..d4ed9c5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "option");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns null if control in not within the context of
+ a form.
+
+ Retrieve the first OPTION attribute from the second select element and
+ examine its form element.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-17116503
+*/
+function HTMLOptionElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "option");
+ nodeList = doc.getElementsByTagName("option");
+ assertSize("Asize",10,nodeList);
+testNode = nodeList.item(6);
+ vform = testNode.form;
+
+ assertNull("formNullLink",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement02.xhtml
new file mode 100644
index 0000000..7ea6886
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement02.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement03-expected.txt
new file mode 100644
index 0000000..1e9272b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement03.js
new file mode 100644
index 0000000..734ca2c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement03.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "option");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The defaultSelected attribute contains the value of the selected
+ attribute.
+
+ Retrieve the defaultSelected attribute from the first OPTION element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-37770574
+*/
+function HTMLOptionElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vdefaultselected;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "option");
+ nodeList = doc.getElementsByTagName("option");
+ assertSize("Asize",10,nodeList);
+testNode = nodeList.item(0);
+ vdefaultselected = testNode.defaultSelected;
+
+ assertTrue("defaultSelectedLink",vdefaultselected);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement03.xhtml
new file mode 100644
index 0000000..e52e099
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement03.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement04-expected.txt
new file mode 100644
index 0000000..a95014a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement04-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement04
+Status failure
+Message textLink: assertEquals failed, actual l1, expected EMP10002.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement04.js
new file mode 100644
index 0000000..2bc4cd1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement04.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "option");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The text attribute contains the text contained within the option element.
+
+ Retrieve the text attribute from the second OPTION element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48154426
+*/
+function HTMLOptionElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vtext;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "option");
+ nodeList = doc.getElementsByTagName("option");
+ assertSize("Asize",10,nodeList);
+testNode = nodeList.item(1);
+ vtext = testNode.text;
+
+ assertEquals("textLink","EMP10002",vtext);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement04.xhtml
new file mode 100644
index 0000000..4e664b1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement04.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement05-expected.txt
new file mode 100644
index 0000000..9d4de4b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement05.js
new file mode 100644
index 0000000..58c1c2c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement05.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "option");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The index attribute indicates th index of this OPTION in ints parent
+ SELECT.
+
+ Retrieve the index attribute from the seventh OPTION element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14038413
+*/
+function HTMLOptionElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "option");
+ nodeList = doc.getElementsByTagName("option");
+ assertSize("Asize",10,nodeList);
+testNode = nodeList.item(6);
+ vindex = testNode.index;
+
+ assertEquals("indexLink",1,vindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement05.xhtml
new file mode 100644
index 0000000..8e8c108
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement05.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement06-expected.txt
new file mode 100644
index 0000000..781e740
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement06.js
new file mode 100644
index 0000000..12a9f0f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement06.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "option");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The disabled attribute indicates that this control is not available
+ within this context.
+
+ Retrieve the disabled attribute from the last OPTION element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23482473
+*/
+function HTMLOptionElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vdisabled;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "option");
+ nodeList = doc.getElementsByTagName("option");
+ assertSize("Asize",10,nodeList);
+testNode = nodeList.item(9);
+ vdisabled = testNode.disabled;
+
+ assertTrue("disabledLink",vdisabled);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement06.xhtml
new file mode 100644
index 0000000..4e73a8d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement06.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement07-expected.txt
new file mode 100644
index 0000000..1f42c19
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement07.js
new file mode 100644
index 0000000..fea75fa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement07.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "option");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The label attribute is used in hierarchical menus. It specifies
+ a shorter label for an option that the content of the OPTION element.
+
+ Retrieve the label attribute from the second OPTION element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40736115
+*/
+function HTMLOptionElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vlabel;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "option");
+ nodeList = doc.getElementsByTagName("option");
+ assertSize("Asize",10,nodeList);
+testNode = nodeList.item(1);
+ vlabel = testNode.label;
+
+ assertEquals("labelLink","l1",vlabel);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement07.xhtml
new file mode 100644
index 0000000..db17db2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement07.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement08-expected.txt
new file mode 100644
index 0000000..f00fbcf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement08.js
new file mode 100644
index 0000000..94816d8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement08.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "option");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The selected attribute indicates the current state of the corresponding
+ form control in an interactive user-agent.
+
+ Retrieve the selected attribute from the first OPTION element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70874476
+*/
+function HTMLOptionElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vselected;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "option");
+ nodeList = doc.getElementsByTagName("option");
+ assertSize("Asize",10,nodeList);
+testNode = nodeList.item(0);
+ vselected = testNode.defaultSelected;
+
+ assertTrue("selectedLink",vselected);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement08.xhtml
new file mode 100644
index 0000000..79255d2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement08.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement09-expected.txt
new file mode 100644
index 0000000..304cd00
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement09.js
new file mode 100644
index 0000000..3282505
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement09.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "option");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The value attribute contains the current form control value.
+
+ Retrieve the value attribute from the first OPTION element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6185554
+*/
+function HTMLOptionElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "option");
+ nodeList = doc.getElementsByTagName("option");
+ assertSize("Asize",10,nodeList);
+testNode = nodeList.item(0);
+ vvalue = testNode.value;
+
+ assertEquals("valueLink","10001",vvalue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement09.xhtml
new file mode 100644
index 0000000..53c9b4d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionElement09.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection01-expected.txt
new file mode 100644
index 0000000..1d6fe17
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection01.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection01.js
new file mode 100644
index 0000000..3fd9caf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection01.js
@@ -0,0 +1,119 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "optionscollection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ The length attribute specifies the length or size of the list.
+
+ Retrieve the first SELECT element and create a HTMLOptionsCollection
+ of the OPTION elements. Check the size of the length of OPTION elements.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-length
+*/
+function HTMLOptionsCollection01() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionsCollection01") != null) return;
+ var nodeList;
+ var testNode;
+ var optionsList;
+ var vlength;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "optionscollection");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ optionsList = testNode.options;
+
+ vlength = optionsList.length;
+
+ assertEquals("lengthLink",5,vlength);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionsCollection01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection01.xhtml
new file mode 100644
index 0000000..392c093
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection01.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTIONSCOLLECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionsCollection01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection02-expected.txt
new file mode 100644
index 0000000..bc868ee
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection02.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection02.js
new file mode 100644
index 0000000..574f73d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection02.js
@@ -0,0 +1,128 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "optionscollection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ An individual node may be accessed by either ordinal index, the node's
+ name or id attributes. (Test ordinal index=3).
+ The item() method retrieves a node specified by ordinal index.
+ Nodes are numbered in tree order. The index origin is 0.
+
+ Retrieve the first SELECT element. Create a HTMLOptionsCollection.
+ Retrieve the fourth item in the list and examine its firstChild's
+ nodeValue.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-item
+*/
+function HTMLOptionsCollection02() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionsCollection02") != null) return;
+ var nodeList;
+ var testNode;
+ var optionsNode;
+ var optionsValueNode;
+ var optionsList;
+ var vvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "optionscollection");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ optionsList = testNode.options;
+
+ optionsNode = optionsList.item(3);
+ optionsValueNode = optionsNode.firstChild;
+
+ vvalue = optionsValueNode.nodeValue;
+
+ assertEquals("valueIndexLink","EMP10004",vvalue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionsCollection02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection02.xhtml
new file mode 100644
index 0000000..7374db5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection02.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTIONSCOLLECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionsCollection02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection03-expected.txt
new file mode 100644
index 0000000..cc74e80
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection03.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection03.js
new file mode 100644
index 0000000..03c80c0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection03.js
@@ -0,0 +1,127 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "optionscollection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ An individual node may be accessed by either ordinal index, the node's
+ name or id attributes. (Test node name).
+ The namedItem 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
+ those elements that are allowed a name attribute.
+
+ Retrieve the first FORM element. Create a HTMLCollection of the elements.
+ Search for an element that has select1 as the value for the name attribute.
+ Get the nodeName of that element.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-namedItem
+*/
+function HTMLOptionsCollection03() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionsCollection03") != null) return;
+ var nodeList;
+ var testNode;
+ var optionsNode;
+ var formsnodeList;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "optionscollection");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ formsnodeList = testNode.elements;
+
+ optionsNode = formsnodeList.namedItem("select1");
+ vname = optionsNode.nodeName;
+
+ assertEqualsAutoCase("element", "nameIndexLink","select",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionsCollection03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection03.xhtml
new file mode 100644
index 0000000..0bb1a36
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection03.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTIONSCOLLECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionsCollection03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection04-expected.txt
new file mode 100644
index 0000000..8c47f72
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection04.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection04.js
new file mode 100644
index 0000000..3822eee
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection04.js
@@ -0,0 +1,127 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "optionscollection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ An individual node may be accessed by either ordinal index, the node's
+ name or id attributes. (Test node name).
+ The namedItem 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
+ those elements that are allowed a name attribute.
+
+ Retrieve the first FORM element. Create a HTMLCollection of the elements.
+ Search for an element that has selectId as the value for the id attribute.
+ Get the nodeName of that element.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-namedItem
+*/
+function HTMLOptionsCollection04() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionsCollection04") != null) return;
+ var nodeList;
+ var testNode;
+ var optionsNode;
+ var formsnodeList;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "optionscollection");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ formsnodeList = testNode.elements;
+
+ optionsNode = formsnodeList.namedItem("selectId");
+ vname = optionsNode.nodeName;
+
+ assertEqualsAutoCase("element", "nameIndexLink","select",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionsCollection04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection04.xhtml
new file mode 100644
index 0000000..499b94f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection04.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTIONSCOLLECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionsCollection04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection05-expected.txt
new file mode 100644
index 0000000..c1a3bba
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection05.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection05.js
new file mode 100644
index 0000000..9a0c4ff
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection05.js
@@ -0,0 +1,127 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "optionscollection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ An individual node may be accessed by either ordinal index, the node's
+ name or id attributes. (Test node name).
+ The namedItem 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
+ those elements that are allowed a name attribute. Upon failure(e.q., no
+ node with this name exists), returns null.
+
+ Retrieve the first FORM element. Create a HTMLCollection of the elements.
+ Search for an element that has select9 as the value for the name attribute.
+ Null should be returned since there is not any name or id attribute with
+ select9 as a value.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-namedItem
+*/
+function HTMLOptionsCollection05() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionsCollection05") != null) return;
+ var nodeList;
+ var testNode;
+ var optionsNode;
+ var formsnodeList;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "optionscollection");
+ nodeList = doc.getElementsByTagName("form");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ formsnodeList = testNode.elements;
+
+ optionsNode = formsnodeList.namedItem("select9");
+ assertNull("nameIndexLink",optionsNode);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionsCollection05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection05.xhtml
new file mode 100644
index 0000000..e2042fb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection05.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTIONSCOLLECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionsCollection05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection06-expected.txt
new file mode 100644
index 0000000..46c4b52
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection06.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection06.js
new file mode 100644
index 0000000..05fa32c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection06.js
@@ -0,0 +1,124 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "optionscollection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ An individual node may be accessed by either ordinal index, the node's
+ name or id attributes. (Test ordinal index).
+ The item() method retrieves a node specified by ordinal index.
+ A value of null is returned if the index is out of range.
+
+ Retrieve the first SELECT element. Create a HTMLOptionsCollection.
+ Retrieve the tenth item in the list - null should be returned since
+ there are not 10 items in the list.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-item
+*/
+function HTMLOptionsCollection06() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionsCollection06") != null) return;
+ var nodeList;
+ var testNode;
+ var optionsNode;
+ var optionsValueNode;
+ var optionsList;
+ var vvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "optionscollection");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ optionsList = testNode.options;
+
+ optionsNode = optionsList.item(10);
+ assertNull("optionsIndexLink",optionsNode);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionsCollection06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection06.xhtml
new file mode 100644
index 0000000..fbec53c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection06.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTIONSCOLLECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionsCollection06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection07-expected.txt
new file mode 100644
index 0000000..4011f05
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection07.js b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection07.js
new file mode 100644
index 0000000..fed3402
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection07.js
@@ -0,0 +1,128 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLOptionsCollection07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "optionscollection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ An HTMLOptionsCollection is a list of nodes representing HTML option
+ element.
+ An individual node may be accessed by either ordinal index, the node's
+ name or id attributes. (Test ordinal index=0).
+ The item() method retrieves a node specified by ordinal index. Nodes
+ are numbered in tree order. The index origin is 0.
+
+ Retrieve the first SELECT element. Create a HTMLOptionsCollection.
+ Retrieve the first item in the list and examine its firstChild's
+ nodeValue.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTMLOptionsCollection-item
+*/
+function HTMLOptionsCollection07() {
+ var success;
+ if(checkInitialization(builder, "HTMLOptionsCollection07") != null) return;
+ var nodeList;
+ var testNode;
+ var optionsNode;
+ var optionsValueNode;
+ var optionsList;
+ var vvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "optionscollection");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ optionsList = testNode.options;
+
+ optionsNode = optionsList.item(0);
+ optionsValueNode = optionsNode.firstChild;
+
+ vvalue = optionsValueNode.nodeValue;
+
+ assertEquals("valueIndexLink","EMP10001",vvalue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLOptionsCollection07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection07.xhtml
new file mode 100644
index 0000000..c72f027
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLOptionsCollection07.xhtml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OPTIONSCOLLECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLOptionsCollection07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="10001">EMP10001</option>
+<option label="l1">EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2" disabled="disabled">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option disabled="disabled">EMP20005</option>
+</select>
+</p>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParagraphElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLParagraphElement01-expected.txt
new file mode 100644
index 0000000..3f540db
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParagraphElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLParagraphElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParagraphElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLParagraphElement01.js
new file mode 100644
index 0000000..d0ada2a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParagraphElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLParagraphElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "paragraph");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal text alignment.
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53465507
+*/
+function HTMLParagraphElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLParagraphElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "paragraph");
+ nodeList = doc.getElementsByTagName("p");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLParagraphElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParagraphElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLParagraphElement01.xhtml
new file mode 100644
index 0000000..9451671
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParagraphElement01.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - PARAGRAPH</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLParagraphElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p align="center">
+TEXT
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParamElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement01-expected.txt
new file mode 100644
index 0000000..ba6f867
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLParamElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParamElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement01.js
new file mode 100644
index 0000000..13a0388
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLParamElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "param");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute specifies the name of the run-time parameter.
+
+ Retrieve the name attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59871447
+*/
+function HTMLParamElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLParamElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "param");
+ nodeList = doc.getElementsByTagName("param");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.name;
+
+ assertEquals("nameLink","image3",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLParamElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParamElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement01.xhtml
new file mode 100644
index 0000000..ef9d0e5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement01.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - PARAM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLParamElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object>
+<param name="image3" type="image/gif" value="image/file.gif" valuetype="ref"/>
+</object>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParamElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement02-expected.txt
new file mode 100644
index 0000000..c8027b9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLParamElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParamElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement02.js
new file mode 100644
index 0000000..c300178
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement02.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLParamElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "param");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The value attribute specifies the value of the run-time parameter.
+
+ Retrieve the value attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77971357
+*/
+function HTMLParamElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLParamElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "param");
+ nodeList = doc.getElementsByTagName("param");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vvalue = testNode.value;
+
+ assertURIEquals("valueLink",null,null,null,"file.gif",null,null,null,null,vvalue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLParamElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParamElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement02.xhtml
new file mode 100644
index 0000000..bb235e3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement02.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - PARAM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLParamElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object>
+<param name="image3" type="image/gif" value="image/file.gif" valuetype="ref"/>
+</object>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParamElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement03-expected.txt
new file mode 100644
index 0000000..82415e4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLParamElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParamElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement03.js
new file mode 100644
index 0000000..55aecbd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLParamElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "param");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The valueType attribute specifies information about the meaning of the
+ value specified by the value attribute.
+
+ Retrieve the valueType attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23931872
+*/
+function HTMLParamElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLParamElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vvaluetype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "param");
+ nodeList = doc.getElementsByTagName("param");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vvaluetype = testNode.valueType;
+
+ assertEquals("valueTypeLink","ref",vvaluetype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLParamElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParamElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement03.xhtml
new file mode 100644
index 0000000..7d9cc61
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement03.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - PARAM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLParamElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object>
+<param name="image3" type="image/gif" value="image/file.gif" valuetype="ref"/>
+</object>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParamElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement04-expected.txt
new file mode 100644
index 0000000..759fdd7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLParamElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParamElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement04.js
new file mode 100644
index 0000000..2298d5b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement04.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLParamElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "param");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute specifies the content type for the value attribute
+ when valuetype has the value ref.
+
+ Retrieve the type attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18179888
+*/
+function HTMLParamElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLParamElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "param");
+ nodeList = doc.getElementsByTagName("param");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","image/gif",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLParamElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLParamElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement04.xhtml
new file mode 100644
index 0000000..fc61069
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLParamElement04.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - PARAM</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLParamElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object>
+<param name="image3" type="image/gif" value="image/file.gif" valuetype="ref"/>
+</object>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLPreElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLPreElement01-expected.txt
new file mode 100644
index 0000000..0fad512
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLPreElement01-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLPreElement01
+Status failure
+Message widthLink: assertEquals failed, actual 0, expected 277.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLPreElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLPreElement01.js
new file mode 100644
index 0000000..4930c57
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLPreElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLPreElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "pre");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The width attribute specifies the fixed width for content.
+
+ Retrieve the width attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13894083
+*/
+function HTMLPreElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLPreElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "pre");
+ nodeList = doc.getElementsByTagName("pre");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink",277,vwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLPreElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLPreElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLPreElement01.xhtml
new file mode 100644
index 0000000..a613bfc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLPreElement01.xhtml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - PRE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLPreElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<pre>The PRE is used to indicate pre-formatted text. Visual agents may:
+
+ leave white space intact.
+ May render text with a fixed-pitch font.
+ May disable automatic word wrap.
+ Must not disable bidirectional processing.
+</pre>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement01-expected.txt
new file mode 100644
index 0000000..d5e872c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLQuoteElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement01.js
new file mode 100644
index 0000000..1488b78
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLQuoteElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "quote");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The cite attribute specifies a URI designating a source document
+ or message.
+
+ Retrieve the cite attribute from the Q element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53895598
+*/
+function HTMLQuoteElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLQuoteElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcite;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "quote");
+ nodeList = doc.getElementsByTagName("q");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcite = testNode.cite;
+
+ assertURIEquals("citeLink",null,null,null,"Q.html",null,null,null,null,vcite);
+
+}
+
+
+
+
+function runTest() {
+ HTMLQuoteElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement01.xhtml
new file mode 100644
index 0000000..24edb46
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement01.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - QUOTE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLQuoteElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<q cite="./files/Q.html">The Q element is intended for short quotations</q>
+</p>
+<blockquote cite="./files/BLOCKQUOTE.html">
+<p>The BLOCKQUOTE element is used for long quotations.</p>
+</blockquote>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement02-expected.txt
new file mode 100644
index 0000000..2dd2855
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLQuoteElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement02.js
new file mode 100644
index 0000000..bad574a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLQuoteElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "quote");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The cite attribute specifies a URI designating a source document
+ or message.
+
+ Retrieve the cite attribute from the BLOCKQUOTE element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53895598
+*/
+function HTMLQuoteElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLQuoteElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vcite;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "quote");
+ nodeList = doc.getElementsByTagName("blockquote");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcite = testNode.cite;
+
+ assertURIEquals("citeLink",null,null,null,"BLOCKQUOTE.html",null,null,null,null,vcite);
+
+}
+
+
+
+
+function runTest() {
+ HTMLQuoteElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement02.xhtml
new file mode 100644
index 0000000..0f325b7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLQuoteElement02.xhtml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - QUOTE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLQuoteElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<q cite="./files/Q.html">The Q element is intended for short quotations</q>
+</p>
+<blockquote cite="./files/BLOCKQUOTE.html">
+<p>The BLOCKQUOTE element is used for long quotations.</p>
+</blockquote>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement01-expected.txt
new file mode 100644
index 0000000..bf6bac3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement01.js
new file mode 100644
index 0000000..36b4633
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "script");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The text attribute specifies the script content of the element.
+
+ Retrieve the text attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46872999
+*/
+function HTMLScriptElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLScriptElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vtext;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "script");
+ nodeList = doc.getElementsByTagName("script");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(3);
+ vtext = testNode.text;
+
+ assertEquals("textLink","var a=2;",vtext);
+
+}
+
+
+
+
+function runTest() {
+ HTMLScriptElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement01.xhtml
new file mode 100644
index 0000000..e965f91
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement01.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SCRIPT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLScriptElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<script charset="US-ASCII" type="text/javaScript" defer="defer" src="./files/script1.js">var a=2;</script>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement02-expected.txt
new file mode 100644
index 0000000..687cda8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement02.js
new file mode 100644
index 0000000..27bccb3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "script");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The charset attribute specifies the character encoding of the linked
+ resource.
+
+ Retrieve the charset attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-35305677
+*/
+function HTMLScriptElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLScriptElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vcharset;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "script");
+ nodeList = doc.getElementsByTagName("script");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(3);
+ vcharset = testNode.charset;
+
+ assertEquals("charsetLink","US-ASCII",vcharset);
+
+}
+
+
+
+
+function runTest() {
+ HTMLScriptElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement02.xhtml
new file mode 100644
index 0000000..555dfe6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement02.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SCRIPT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLScriptElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<script charset="US-ASCII" type="text/javaScript" defer="defer" src="./files/script1.js">var a=2;</script>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement03-expected.txt
new file mode 100644
index 0000000..373cba8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement03.js
new file mode 100644
index 0000000..b7646d7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "script");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The defer attribute specifies the user agent can defer processing of
+ the script.
+
+ Retrieve the defer attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93788534
+*/
+function HTMLScriptElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLScriptElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vdefer;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "script");
+ nodeList = doc.getElementsByTagName("script");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(3);
+ vdefer = testNode.defer;
+
+ assertTrue("deferLink",vdefer);
+
+}
+
+
+
+
+function runTest() {
+ HTMLScriptElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement03.xhtml
new file mode 100644
index 0000000..3e92b9c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement03.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SCRIPT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLScriptElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<script charset="US-ASCII" type="text/javaScript" defer="defer" src="./files/script1.js">var a=2;</script>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement04-expected.txt
new file mode 100644
index 0000000..c9ff1f8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement04.js
new file mode 100644
index 0000000..0b06889
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement04.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "script");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The src attribute specifies a URI designating an external script.
+
+ Retrieve the src attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-75147231
+*/
+function HTMLScriptElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLScriptElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vsrc;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "script");
+ nodeList = doc.getElementsByTagName("script");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(3);
+ vsrc = testNode.src;
+
+ assertURIEquals("srcLink",null,null,null,"script1.js",null,null,null,null,vsrc);
+
+}
+
+
+
+
+function runTest() {
+ HTMLScriptElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement04.xhtml
new file mode 100644
index 0000000..f8f5f78
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement04.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SCRIPT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLScriptElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<script charset="US-ASCII" type="text/javaScript" defer="defer" src="./files/script1.js">var a=2;</script>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement05-expected.txt
new file mode 100644
index 0000000..e20ca50
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement05.js
new file mode 100644
index 0000000..4228d26
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement05.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "script");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute specifies the content of the script language.
+
+ Retrieve the type attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30534818
+*/
+function HTMLScriptElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLScriptElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "script");
+ nodeList = doc.getElementsByTagName("script");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(3);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","text/javaScript",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLScriptElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement05.xhtml
new file mode 100644
index 0000000..86f15ec
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement05.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SCRIPT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLScriptElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<script charset="US-ASCII" type="text/javaScript" defer="defer" src="./files/script1.js">var a=2;</script>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement06-expected.txt
new file mode 100644
index 0000000..59bf533
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement06.js
new file mode 100644
index 0000000..5944f5a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement06.js
@@ -0,0 +1,109 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "script");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+htmlFor is described as for future use. Test accesses the value, but makes no assertions about its value.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66979266
+*/
+function HTMLScriptElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLScriptElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var htmlFor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "script");
+ nodeList = doc.getElementsByTagName("script");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(3);
+ htmlFor = testNode.htmlFor;
+
+
+}
+
+
+
+
+function runTest() {
+ HTMLScriptElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement06.xhtml
new file mode 100644
index 0000000..bbbdb87
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement06.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SCRIPT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLScriptElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<script charset="US-ASCII" type="text/javaScript" defer="defer" src="./files/script1.js">var a=2;</script>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement07-expected.txt
new file mode 100644
index 0000000..f8def5d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement07.js
new file mode 100644
index 0000000..96e6a12
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement07.js
@@ -0,0 +1,109 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLScriptElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "script");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+event is described as for future use. Test accesses the value, but makes no assertions about its value.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-56700403
+*/
+function HTMLScriptElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLScriptElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var event;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "script");
+ nodeList = doc.getElementsByTagName("script");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(3);
+ event = testNode.event;
+
+
+}
+
+
+
+
+function runTest() {
+ HTMLScriptElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement07.xhtml
new file mode 100644
index 0000000..2da139d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLScriptElement07.xhtml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SCRIPT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLScriptElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<script charset="US-ASCII" type="text/javaScript" defer="defer" src="./files/script1.js">var a=2;</script>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement01-expected.txt
new file mode 100644
index 0000000..b122cba
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement01.js
new file mode 100644
index 0000000..0dcb91a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement01.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute is the string "select-multiple" when multiple
+ attribute is true.
+
+ Retrieve the type attribute from the first SELECT element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58783172
+*/
+function HTMLSelectElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","select-multiple",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement01.xhtml
new file mode 100644
index 0000000..4a1ae9b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement01.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement02-expected.txt
new file mode 100644
index 0000000..0f0415e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement02.js
new file mode 100644
index 0000000..112940f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The selectedIndex attribute specifies the ordinal index of the selected
+ option.
+
+ Retrieve the selectedIndex attribute from the first SELECT element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760
+*/
+function HTMLSelectElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vselectedindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vselectedindex = testNode.selectedIndex;
+
+ assertEquals("selectedIndexLink",0,vselectedindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement02.xhtml
new file mode 100644
index 0000000..c0b4a0e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement02.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement03-expected.txt
new file mode 100644
index 0000000..f84347f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement03.js
new file mode 100644
index 0000000..0ac4c13
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement03.js
@@ -0,0 +1,118 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The selectedIndex attribute specifies the ordinal index of the selected
+ option. If no element is selected -1 is returned.
+
+ Retrieve the selectedIndex attribute from the second SELECT element and
+ examine its value.
+
+ Per http://www.w3.org/TR/html401/interact/forms.html#h-17.6.1,
+ without an explicit selected attribute, user agent behavior is
+ undefined. There is no way to coerce no option to be selected.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-85676760
+*/
+function HTMLSelectElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vselectedindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vselectedindex = testNode.selectedIndex;
+
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement03.xhtml
new file mode 100644
index 0000000..3c580d7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement03.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement04-expected.txt
new file mode 100644
index 0000000..b81c46b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement04.js
new file mode 100644
index 0000000..c9cf5f9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement04.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The value attribute specifies the current form control value.
+
+ Retrieve the value attribute from the first SELECT element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59351919
+*/
+function HTMLSelectElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vvalue = testNode.value;
+
+ assertEquals("valueLink","EMP1",vvalue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement04.xhtml
new file mode 100644
index 0000000..74c4825
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement04.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement05-expected.txt
new file mode 100644
index 0000000..f35faab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement05.js
new file mode 100644
index 0000000..ae5bff6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement05.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The length attribute specifies the number of options in this select.
+
+ Retrieve the length attribute from the first SELECT element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5933486
+*/
+function HTMLSelectElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vlength;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vlength = testNode.length;
+
+ assertEquals("lengthLink",5,vlength);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement05.xhtml
new file mode 100644
index 0000000..42935b5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement05.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement06-expected.txt
new file mode 100644
index 0000000..d8d8073
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement06.js
new file mode 100644
index 0000000..555b518
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement06.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns the FORM element containing this control.
+
+ Retrieve the form attribute from the first SELECT element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20489458
+*/
+function HTMLSelectElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var fNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ fNode = testNode.form;
+
+ vform = fNode.id;
+
+ assertEquals("formLink","form1",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement06.xhtml
new file mode 100644
index 0000000..034fec4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement06.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement07-expected.txt
new file mode 100644
index 0000000..52460b6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement07.js
new file mode 100644
index 0000000..edd93e4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement07.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns null if control in not within the context of
+ a form.
+
+ Retrieve the second SELECT element and
+ examine its form element.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20489458
+*/
+function HTMLSelectElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vform = testNode.form;
+
+ assertNull("formNullLink",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement07.xhtml
new file mode 100644
index 0000000..b926065
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement07.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement08-expected.txt
new file mode 100644
index 0000000..6e481c8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement08.js
new file mode 100644
index 0000000..e4dd33b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement08.js
@@ -0,0 +1,134 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The options attribute returns a collection of OPTION elements contained
+ by this element.
+
+ Retrieve the options attribute from the first SELECT element and
+ examine the items of the returned collection.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30606413
+*/
+function HTMLSelectElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement08") != null) return;
+ var nodeList;
+ var optionsnodeList;
+ var testNode;
+ var vareas;
+ var doc;
+ var optionName;
+ var voption;
+ var result = new Array();
+
+ expectedOptions = new Array();
+ expectedOptions[0] = "option";
+ expectedOptions[1] = "option";
+ expectedOptions[2] = "option";
+ expectedOptions[3] = "option";
+ expectedOptions[4] = "option";
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ optionsnodeList = testNode.options;
+
+ for(var indexN10070 = 0;indexN10070 < optionsnodeList.length; indexN10070++) {
+ voption = optionsnodeList.item(indexN10070);
+ optionName = voption.nodeName;
+
+ result[result.length] = optionName;
+
+ }
+ assertEqualsListAutoCase("element", "optionsLink",expectedOptions,result);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement08.xhtml
new file mode 100644
index 0000000..dc0e986
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement08.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement09-expected.txt
new file mode 100644
index 0000000..4b4cc3b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement09.js
new file mode 100644
index 0000000..ac9baac
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement09.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The disabled attribute indicates that this control is not available
+ within this context.
+
+ Retrieve the disabled attribute from the third SELECT element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79102918
+*/
+function HTMLSelectElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vdisabled;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(2);
+ vdisabled = testNode.disabled;
+
+ assertTrue("disabledLink",vdisabled);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement09.xhtml
new file mode 100644
index 0000000..77fc891
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement09.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement10-expected.txt
new file mode 100644
index 0000000..487f6bd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement10.js
new file mode 100644
index 0000000..00082f1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement10.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The multiple attribute(if true) indicates that multiple OPTION elements
+ may be selected
+
+ Retrieve the multiple attribute from the first SELECT element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13246613
+*/
+function HTMLSelectElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vmultiple;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vmultiple = testNode.multiple;
+
+ assertTrue("multipleLink",vmultiple);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement10.xhtml
new file mode 100644
index 0000000..991c88d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement10.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement11-expected.txt
new file mode 100644
index 0000000..d9866c4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement11.js
new file mode 100644
index 0000000..f42acaa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement11.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute specifies the form control or object name when
+ submitted with a form.
+
+ Retrieve the name attribute from the first SELECT element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-41636323
+*/
+function HTMLSelectElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement11") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.name;
+
+ assertEquals("nameLink","select1",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement11.xhtml
new file mode 100644
index 0000000..c12affc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement11.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement12-expected.txt
new file mode 100644
index 0000000..1153df9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement12.js
new file mode 100644
index 0000000..a412f8a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement12.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The size attribute specifies the number of visible rows.
+
+ Retrieve the size attribute from the first SELECT element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18293826
+*/
+function HTMLSelectElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement12") != null) return;
+ var nodeList;
+ var testNode;
+ var vsize;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vsize = testNode.size;
+
+ assertEquals("sizeLink",1,vsize);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement12.xhtml
new file mode 100644
index 0000000..1e384c6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement12.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement13-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement13-expected.txt
new file mode 100644
index 0000000..8e13650
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement13.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement13.js
new file mode 100644
index 0000000..b1e6599
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement13.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The tabIndex attribute specifies an index that represents the elements
+ position in the tabbing order.
+
+ Retrieve the tabIndex attribute from the first SELECT element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40676705
+*/
+function HTMLSelectElement13() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement13") != null) return;
+ var nodeList;
+ var testNode;
+ var vtabindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vtabindex = testNode.tabIndex;
+
+ assertEquals("tabIndexLink",7,vtabindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement13.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement13.xhtml
new file mode 100644
index 0000000..7b5828a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement13.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement13.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement14-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement14-expected.txt
new file mode 100644
index 0000000..63973d8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement14-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement14
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement14.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement14.js
new file mode 100644
index 0000000..52d3812
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement14.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement14";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+focus should give the select element input focus.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-32130014
+*/
+function HTMLSelectElement14() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement14") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ testNode.focus();
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement14();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement14.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement14.xhtml
new file mode 100644
index 0000000..9076ffc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement14.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement14.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement15-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement15-expected.txt
new file mode 100644
index 0000000..3814d3a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement15-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement15
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement15.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement15.js
new file mode 100644
index 0000000..d8a5b0c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement15.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement15";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+blur should surrender input focus.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-28216144
+*/
+function HTMLSelectElement15() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement15") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ testNode.blur();
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement15();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement15.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement15.xhtml
new file mode 100644
index 0000000..694bc2a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement15.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement15.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement16-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement16-expected.txt
new file mode 100644
index 0000000..2defa07
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement16-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement16
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement16.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement16.js
new file mode 100644
index 0000000..e0e6c11
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement16.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement16";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Removes an option using HTMLSelectElement.remove.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33404570
+*/
+function HTMLSelectElement16() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement16") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+ var optLength;
+ var selected;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ testNode.remove(0);
+ optLength = testNode.length;
+
+ assertEquals("optLength",4,optLength);
+ selected = testNode.selectedIndex;
+
+ assertEquals("selected",-1,selected);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement16();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement16.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement16.xhtml
new file mode 100644
index 0000000..105c52f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement16.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement16.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement17-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement17-expected.txt
new file mode 100644
index 0000000..5e8e847
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement17-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement17
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement17.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement17.js
new file mode 100644
index 0000000..e7a4ef8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement17.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement17";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Removes a non-existant option using HTMLSelectElement.remove.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-33404570
+*/
+function HTMLSelectElement17() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement17") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+ var optLength;
+ var selected;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ testNode.remove(6);
+ optLength = testNode.length;
+
+ assertEquals("optLength",5,optLength);
+ selected = testNode.selectedIndex;
+
+ assertEquals("selected",0,selected);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement17();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement17.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement17.xhtml
new file mode 100644
index 0000000..4b5f617
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement17.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement17.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement18-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement18-expected.txt
new file mode 100644
index 0000000..225a24a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement18-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement18
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement18.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement18.js
new file mode 100644
index 0000000..0a05d2a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement18.js
@@ -0,0 +1,133 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement18";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Add a new option at the end of an select using HTMLSelectElement.add.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14493106
+*/
+function HTMLSelectElement18() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement18") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+ var optLength;
+ var selected;
+ var newOpt;
+ var newOptText;
+ var opt;
+ var optText;
+ var optValue;
+ var retNode;
+ var nullNode = null;
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ newOpt = doc.createElement("option");
+ newOptText = doc.createTextNode("EMP31415");
+ retNode = newOpt.appendChild(newOptText);
+ testNode.add(newOpt,nullNode);
+ optLength = testNode.length;
+
+ assertEquals("optLength",6,optLength);
+ selected = testNode.selectedIndex;
+
+ assertEquals("selected",0,selected);
+ opt = testNode.lastChild;
+
+ optText = opt.firstChild;
+
+ optValue = optText.nodeValue;
+
+ assertEquals("lastValue","EMP31415",optValue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement18();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement18.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement18.xhtml
new file mode 100644
index 0000000..ac0b7e1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement18.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement18.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement19-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement19-expected.txt
new file mode 100644
index 0000000..f3f715d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement19-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement19
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement19.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement19.js
new file mode 100644
index 0000000..5261474
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement19.js
@@ -0,0 +1,137 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement19";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Add a new option before the selected node using HTMLSelectElement.add.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14493106
+*/
+function HTMLSelectElement19() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement19") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+ var optLength;
+ var selected;
+ var newOpt;
+ var newOptText;
+ var opt;
+ var optText;
+ var optValue;
+ var retNode;
+ var options;
+ var selectedNode;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ newOpt = doc.createElement("option");
+ newOptText = doc.createTextNode("EMP31415");
+ retNode = newOpt.appendChild(newOptText);
+ options = testNode.options;
+
+ selectedNode = options.item(0);
+ testNode.add(newOpt,selectedNode);
+ optLength = testNode.length;
+
+ assertEquals("optLength",6,optLength);
+ selected = testNode.selectedIndex;
+
+ assertEquals("selected",1,selected);
+ options = testNode.options;
+
+ opt = options.item(0);
+ optText = opt.firstChild;
+
+ optValue = optText.nodeValue;
+
+ assertEquals("lastValue","EMP31415",optValue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement19();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement19.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement19.xhtml
new file mode 100644
index 0000000..dd31716
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement19.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement19.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement20-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement20-expected.txt
new file mode 100644
index 0000000..2d70846
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement20-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement20
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement20.js b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement20.js
new file mode 100644
index 0000000..9482e23
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement20.js
@@ -0,0 +1,133 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLSelectElement20";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "select");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Attempting to add an new option using HTMLSelectElement.add before a node that is not a child of the select
+element should raise a NOT_FOUND_ERR.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-14493106
+*/
+function HTMLSelectElement20() {
+ var success;
+ if(checkInitialization(builder, "HTMLSelectElement20") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+ var optLength;
+ var selected;
+ var newOpt;
+ var newOptText;
+ var retNode;
+ var options;
+ var otherSelect;
+ var selectedNode;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "select");
+ nodeList = doc.getElementsByTagName("select");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ otherSelect = nodeList.item(1);
+ newOpt = doc.createElement("option");
+ newOptText = doc.createTextNode("EMP31415");
+ retNode = newOpt.appendChild(newOptText);
+ options = otherSelect.options;
+
+ selectedNode = options.item(0);
+
+ {
+ success = false;
+ try {
+ testNode.add(newOpt,selectedNode);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 8);
+ }
+ assertTrue("throw_NOT_FOUND_ERR",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLSelectElement20();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement20.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement20.xhtml
new file mode 100644
index 0000000..602651e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLSelectElement20.xhtml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - SELECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLSelectElement20.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<select id="selectId" dir="ltr" tabindex="7" name="select1" multiple="multiple" size="1">
+<option selected="selected" value="EMP1">EMP10001</option>
+<option>EMP10002</option>
+<option>EMP10003</option>
+<option>EMP10004</option>
+<option>EMP10005</option>
+</select>
+</p>
+</form>
+<p>
+<select name="select2">
+<option>EMP20001</option>
+<option>EMP20002</option>
+<option>EMP20003</option>
+<option>EMP20004</option>
+<option>EMP20005</option>
+</select>
+</p>
+<p>
+<select name="select3" disabled="disabled" tabindex="1">
+<option>EMP30001</option>
+<option>EMP30002</option>
+<option>EMP30003</option>
+<option>EMP30004</option>
+<option>EMP30005</option>
+</select>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement01-expected.txt
new file mode 100644
index 0000000..e71d7f8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLStyleElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement01.js
new file mode 100644
index 0000000..8095428
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLStyleElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "style");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The disabled attribute enables/disables the stylesheet.
+
+ Retrieve the disabled attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-51162010
+*/
+function HTMLStyleElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLStyleElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vdisabled;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "style");
+ nodeList = doc.getElementsByTagName("style");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vdisabled = testNode.disabled;
+
+ assertFalse("disabledLink",vdisabled);
+
+}
+
+
+
+
+function runTest() {
+ HTMLStyleElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement01.xhtml
new file mode 100644
index 0000000..ab99d4b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement01.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<style media="screen" type="text/css"></style>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLStyleElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>Hello, World.</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement02-expected.txt
new file mode 100644
index 0000000..34b7cd6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLStyleElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement02.js
new file mode 100644
index 0000000..69fb869
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement02.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLStyleElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "style");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The media attribute identifies the intended medium of the style info.
+
+ Retrieve the media attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76412738
+*/
+function HTMLStyleElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLStyleElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vmedia;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "style");
+ nodeList = doc.getElementsByTagName("style");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vmedia = testNode.media;
+
+ assertEquals("mediaLink","screen",vmedia);
+
+}
+
+
+
+
+function runTest() {
+ HTMLStyleElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement02.xhtml
new file mode 100644
index 0000000..1bbaf67
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement02.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<style media="screen" type="text/css"></style>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLStyleElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>Hello, World.</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement03-expected.txt
new file mode 100644
index 0000000..cf63f60
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLStyleElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement03.js
new file mode 100644
index 0000000..15ec797
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement03.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLStyleElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "style");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute specifies the style sheet language(Internet media type).
+
+ Retrieve the type attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22472002
+*/
+function HTMLStyleElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLStyleElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "style");
+ nodeList = doc.getElementsByTagName("style");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","text/css",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLStyleElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement03.xhtml
new file mode 100644
index 0000000..7d59d0d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLStyleElement03.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<style media="screen" type="text/css"></style>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLStyleElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>Hello, World.</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCaptionElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCaptionElement01-expected.txt
new file mode 100644
index 0000000..27df444
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCaptionElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCaptionElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCaptionElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCaptionElement01.js
new file mode 100644
index 0000000..3231c17
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCaptionElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCaptionElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecaption");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the caption alignment with respect to
+ the table.
+
+ Retrieve the align attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79875068
+*/
+function HTMLTableCaptionElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCaptionElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecaption");
+ nodeList = doc.getElementsByTagName("caption");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","top",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCaptionElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCaptionElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCaptionElement01.xhtml
new file mode 100644
index 0000000..3e34cf5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCaptionElement01.xhtml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BR</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCaptionElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<caption align="top">CAPTION 1</caption>
+<tr>
+<th>Employee Id</th>
+<th>Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement01-expected.txt
new file mode 100644
index 0000000..acfb756
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement01.js
new file mode 100644
index 0000000..c9bde4a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The cellIndex attribute specifies the index of this cell in the row(TH).
+
+ Retrieve the cellIndex attribute of the first TH element and examine its
+ value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363
+*/
+function HTMLTableCellElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcellindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(0);
+ vcellindex = testNode.cellIndex;
+
+ assertEquals("cellIndexLink",0,vcellindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement01.xhtml
new file mode 100644
index 0000000..0d628fd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement01.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement02-expected.txt
new file mode 100644
index 0000000..88b3b32
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement02.js
new file mode 100644
index 0000000..e62b169
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement02.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The cellIndex attribute specifies the index of this cell in the row(TD).
+
+ Retrieve the cellIndex attribute of the first TD element and examine its
+ value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363
+*/
+function HTMLTableCellElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vcellindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(0);
+ vcellindex = testNode.cellIndex;
+
+ assertEquals("cellIndexLink",0,vcellindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement02.xhtml
new file mode 100644
index 0000000..aaae23d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement02.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement03-expected.txt
new file mode 100644
index 0000000..7feb04f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement03.js
new file mode 100644
index 0000000..97c990c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement03.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The abbr attribute specifies the abbreviation for table header cells(TH).
+
+ Retrieve the abbr attribute from the second TH element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037
+*/
+function HTMLTableCellElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vabbr;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vabbr = testNode.abbr;
+
+ assertEquals("abbrLink","hd1",vabbr);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement03.xhtml
new file mode 100644
index 0000000..633d22c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement03.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement04-expected.txt
new file mode 100644
index 0000000..14e3fcc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement04.js
new file mode 100644
index 0000000..4f444b0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement04.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The abbr attribute specifies the abbreviation for table data cells(TD).
+
+ Retrieve the abbr attribute from the second TD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037
+*/
+function HTMLTableCellElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vabbr;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vabbr = testNode.abbr;
+
+ assertEquals("abbrLink","hd2",vabbr);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement04.xhtml
new file mode 100644
index 0000000..c63b90b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement04.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement05-expected.txt
new file mode 100644
index 0000000..527aeac
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement05.js
new file mode 100644
index 0000000..77e5153
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement05.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal alignment for table
+ header cells(TH).
+
+ Retrieve the align attribute from the second TH element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879
+*/
+function HTMLTableCellElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement05.xhtml
new file mode 100644
index 0000000..6764986
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement05.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement06-expected.txt
new file mode 100644
index 0000000..59b81c7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement06.js
new file mode 100644
index 0000000..3e05bcb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement06.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal alignment for table
+ data cells(TD).
+
+ Retrieve the align attribute from the second TD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879
+*/
+function HTMLTableCellElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement06.xhtml
new file mode 100644
index 0000000..df3ce93
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement06.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement07-expected.txt
new file mode 100644
index 0000000..45b1394
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement07.js
new file mode 100644
index 0000000..01e4d9b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement07.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The axis attribute specifies the names group of related headers for table
+ header cells(TH).
+
+ Retrieve the align attribute from the second TH element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418
+*/
+function HTMLTableCellElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vaxis;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vaxis = testNode.axis;
+
+ assertEquals("axisLink","center",vaxis);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement07.xhtml
new file mode 100644
index 0000000..261fbb2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement07.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement08-expected.txt
new file mode 100644
index 0000000..af1d854
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement08.js
new file mode 100644
index 0000000..0d24718
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement08.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The axis attribute specifies the names group of related headers for table
+ data cells(TD).
+
+ Retrieve the axis attribute from the second TD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418
+*/
+function HTMLTableCellElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vaxis;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vaxis = testNode.axis;
+
+ assertEquals("axisLink","center",vaxis);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement08.xhtml
new file mode 100644
index 0000000..cda3007
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement08.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement09-expected.txt
new file mode 100644
index 0000000..c5dd71a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement09.js
new file mode 100644
index 0000000..03d95e1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement09.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The bgColor attribute specifies the cells background color for
+ table header cells(TH).
+
+ Retrieve the bgColor attribute from the second TH element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431
+*/
+function HTMLTableCellElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vbgcolor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vbgcolor = testNode.bgColor;
+
+ assertEquals("bgColorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase());
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement09.xhtml
new file mode 100644
index 0000000..e840749
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement09.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement10-expected.txt
new file mode 100644
index 0000000..bb2d4cf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement10.js
new file mode 100644
index 0000000..edaf990
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement10.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The bgColor attribute specifies the cells background color for table
+ data cells(TD).
+
+ Retrieve the bgColor attribute from the second TD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431
+*/
+function HTMLTableCellElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vbgcolor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vbgcolor = testNode.bgColor;
+
+ assertEquals("bgColorLink","#FF0000".toLowerCase(),vbgcolor.toLowerCase());
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement10.xhtml
new file mode 100644
index 0000000..2be7d3e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement10.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement11-expected.txt
new file mode 100644
index 0000000..167280e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement11.js
new file mode 100644
index 0000000..04028b1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement11.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The char attribute specifies the alignment character for cells in a column
+ of table header cells(TH).
+
+ Retrieve the char attribute from the second TH element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780
+*/
+function HTMLTableCellElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement11") != null) return;
+ var nodeList;
+ var testNode;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vch = testNode.ch;
+
+ assertEquals("chLink",":",vch);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement11.xhtml
new file mode 100644
index 0000000..7a3f7f3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement11.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement12-expected.txt
new file mode 100644
index 0000000..aaf697a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement12.js
new file mode 100644
index 0000000..f3c9aac
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement12.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The char attribute specifies the alignment character for cells in a column
+ of table data cells(TD).
+
+ Retrieve the char attribute from the second TD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780
+*/
+function HTMLTableCellElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement12") != null) return;
+ var nodeList;
+ var testNode;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vch = testNode.ch;
+
+ assertEquals("chLink",":",vch);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement12.xhtml
new file mode 100644
index 0000000..a390667
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement12.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement13-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement13-expected.txt
new file mode 100644
index 0000000..2b36a40
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement13.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement13.js
new file mode 100644
index 0000000..5aede55
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement13.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The charoff attribute specifies the offset of alignment characacter
+ of table header cells(TH).
+
+ Retrieve the charoff attribute from the second TH element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310
+*/
+function HTMLTableCellElement13() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement13") != null) return;
+ var nodeList;
+ var testNode;
+ var vcharoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vcharoff = testNode.chOff;
+
+ assertEquals("chOffLink","1",vcharoff);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement13.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement13.xhtml
new file mode 100644
index 0000000..6256b0e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement13.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement13.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement14-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement14-expected.txt
new file mode 100644
index 0000000..31af854
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement14-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement14
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement14.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement14.js
new file mode 100644
index 0000000..f995b4f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement14.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement14";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The charoff attribute specifies the offset of alignment character
+ of table data cells(TD).
+
+ Retrieve the charoff attribute from the second TD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310
+*/
+function HTMLTableCellElement14() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement14") != null) return;
+ var nodeList;
+ var testNode;
+ var vcharoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vcharoff = testNode.chOff;
+
+ assertEquals("chOffLink","1",vcharoff);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement14();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement14.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement14.xhtml
new file mode 100644
index 0000000..5742a11
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement14.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement14.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement15-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement15-expected.txt
new file mode 100644
index 0000000..d594fde
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement15-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement15
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement15.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement15.js
new file mode 100644
index 0000000..49f1c31
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement15.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement15";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The colSpan attribute specifies the number of columns spanned by a table
+ header(TH) cell.
+
+ Retrieve the colspan attribute of the second TH element and examine its
+ value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244
+*/
+function HTMLTableCellElement15() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement15") != null) return;
+ var nodeList;
+ var testNode;
+ var vcolspan;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vcolspan = testNode.colSpan;
+
+ assertEquals("colSpanLink",1,vcolspan);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement15();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement15.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement15.xhtml
new file mode 100644
index 0000000..4365180
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement15.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement15.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement16-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement16-expected.txt
new file mode 100644
index 0000000..060fe3c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement16-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement16
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement16.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement16.js
new file mode 100644
index 0000000..8544171
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement16.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement16";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The colSpan attribute specifies the number of columns spanned by a
+ table data(TD) cell.
+
+ Retrieve the colSpan attribute of the second TD element and examine its
+ value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244
+*/
+function HTMLTableCellElement16() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement16") != null) return;
+ var nodeList;
+ var testNode;
+ var vcolspan;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vcolspan = testNode.colSpan;
+
+ assertEquals("colSpanLink",1,vcolspan);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement16();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement16.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement16.xhtml
new file mode 100644
index 0000000..d2b8d77
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement16.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement16.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement17-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement17-expected.txt
new file mode 100644
index 0000000..15c7368
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement17-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement17
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement17.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement17.js
new file mode 100644
index 0000000..15e60c8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement17.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement17";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The headers attribute specifies a list of id attribute values for
+ table header cells(TH).
+
+ Retrieve the headers attribute from the second TH element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817
+*/
+function HTMLTableCellElement17() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement17") != null) return;
+ var nodeList;
+ var testNode;
+ var vheaders;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vheaders = testNode.headers;
+
+ assertEquals("headersLink","header-1",vheaders);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement17();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement17.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement17.xhtml
new file mode 100644
index 0000000..ff08b1a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement17.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement17.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement18-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement18-expected.txt
new file mode 100644
index 0000000..a4c75fa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement18-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement18
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement18.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement18.js
new file mode 100644
index 0000000..c57c015
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement18.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement18";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The headers attribute specifies a list of id attribute values for
+ table data cells(TD).
+
+ Retrieve the headers attribute from the second TD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817
+*/
+function HTMLTableCellElement18() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement18") != null) return;
+ var nodeList;
+ var testNode;
+ var vheaders;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vheaders = testNode.headers;
+
+ assertEquals("headersLink","header-3",vheaders);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement18();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement18.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement18.xhtml
new file mode 100644
index 0000000..76c6438
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement18.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement18.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement19-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement19-expected.txt
new file mode 100644
index 0000000..30c94b2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement19-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement19
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement19.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement19.js
new file mode 100644
index 0000000..6ccc886
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement19.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement19";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The height attribute specifies the cell height.
+
+ Retrieve the height attribute from the second TH element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212
+*/
+function HTMLTableCellElement19() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement19") != null) return;
+ var nodeList;
+ var testNode;
+ var vheight;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vheight = testNode.height;
+
+ assertEquals("heightLink","50",vheight);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement19();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement19.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement19.xhtml
new file mode 100644
index 0000000..5a572fe
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement19.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement19.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement20-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement20-expected.txt
new file mode 100644
index 0000000..3803caf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement20-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement20
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement20.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement20.js
new file mode 100644
index 0000000..cde6795
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement20.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement20";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The height attribute specifies the cell height.
+
+ Retrieve the height attribute from the second TD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212
+*/
+function HTMLTableCellElement20() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement20") != null) return;
+ var nodeList;
+ var testNode;
+ var vheight;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vheight = testNode.height;
+
+ assertEquals("heightLink","50",vheight);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement20();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement20.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement20.xhtml
new file mode 100644
index 0000000..1bc77f0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement20.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement20.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement21-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement21-expected.txt
new file mode 100644
index 0000000..b42b9a0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement21-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement21
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement21.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement21.js
new file mode 100644
index 0000000..480f2a4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement21.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement21";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The noWrap attribute supresses word wrapping.
+
+ Retrieve the noWrap attribute of the second TH Element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045
+*/
+function HTMLTableCellElement21() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement21") != null) return;
+ var nodeList;
+ var testNode;
+ var vnowrap;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vnowrap = testNode.noWrap;
+
+ assertTrue("noWrapLink",vnowrap);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement21();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement21.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement21.xhtml
new file mode 100644
index 0000000..dd8a2a2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement21.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement21.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement22-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement22-expected.txt
new file mode 100644
index 0000000..5cb55a7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement22-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement22
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement22.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement22.js
new file mode 100644
index 0000000..1a17786
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement22.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement22";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The noWrap attribute supresses word wrapping.
+
+ Retrieve the noWrap attribute of the second TD Element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045
+*/
+function HTMLTableCellElement22() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement22") != null) return;
+ var nodeList;
+ var testNode;
+ var vnowrap;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vnowrap = testNode.noWrap;
+
+ assertTrue("noWrapLink",vnowrap);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement22();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement22.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement22.xhtml
new file mode 100644
index 0000000..8a9e4ee
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement22.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement22.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement23-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement23-expected.txt
new file mode 100644
index 0000000..98b19a5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement23-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement23
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement23.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement23.js
new file mode 100644
index 0000000..3269b1b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement23.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement23";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The rowSpan attribute specifies the number of rows spanned by a table
+ header(TH) cell.
+
+ Retrieve the rowSpan attribute of the second TH element and examine its
+ value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625
+*/
+function HTMLTableCellElement23() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement23") != null) return;
+ var nodeList;
+ var testNode;
+ var vrowspan;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vrowspan = testNode.rowSpan;
+
+ assertEquals("rowSpanLink",1,vrowspan);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement23();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement23.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement23.xhtml
new file mode 100644
index 0000000..b22e8e0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement23.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement23.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement24-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement24-expected.txt
new file mode 100644
index 0000000..33c7ea5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement24-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement24
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement24.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement24.js
new file mode 100644
index 0000000..eb3ad5a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement24.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement24";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The rowSpan attribute specifies the number of rows spanned by a
+ table data(TD) cell.
+
+ Retrieve the rowSpan attribute of the second TD element and examine its
+ value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625
+*/
+function HTMLTableCellElement24() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement24") != null) return;
+ var nodeList;
+ var testNode;
+ var vrowspan;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vrowspan = testNode.rowSpan;
+
+ assertEquals("rowSpanLink",1,vrowspan);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement24();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement24.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement24.xhtml
new file mode 100644
index 0000000..bd94949
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement24.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement24.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement25-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement25-expected.txt
new file mode 100644
index 0000000..093cdef
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement25-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement25
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement25.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement25.js
new file mode 100644
index 0000000..96cfb7f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement25.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement25";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The scope attribute specifies the scope covered by header cells.
+
+ Retrieve the scope attribute from the second TH element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952
+*/
+function HTMLTableCellElement25() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement25") != null) return;
+ var nodeList;
+ var testNode;
+ var vscope;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vscope = testNode.scope;
+
+ assertEquals("scopeLink","col",vscope);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement25();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement25.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement25.xhtml
new file mode 100644
index 0000000..b85e32c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement25.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement25.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement26-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement26-expected.txt
new file mode 100644
index 0000000..c9c7a84
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement26-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement26
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement26.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement26.js
new file mode 100644
index 0000000..f1b0495
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement26.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement26";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The scope attribute specifies the scope covered by data cells.
+
+ Retrieve the scope attribute from the second TD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952
+*/
+function HTMLTableCellElement26() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement26") != null) return;
+ var nodeList;
+ var testNode;
+ var vscope;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vscope = testNode.scope;
+
+ assertEquals("scopeLink","col",vscope);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement26();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement26.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement26.xhtml
new file mode 100644
index 0000000..9beac6d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement26.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement26.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement27-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement27-expected.txt
new file mode 100644
index 0000000..af8cc58
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement27-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement27
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement27.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement27.js
new file mode 100644
index 0000000..bd3718e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement27.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement27";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The vAlign attribute specifies the vertical alignment of data in cell.
+
+ Retrieve the vAlign attribute from the second TH element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221
+*/
+function HTMLTableCellElement27() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement27") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vvalign = testNode.vAlign;
+
+ assertEquals("vAlignLink","middle",vvalign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement27();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement27.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement27.xhtml
new file mode 100644
index 0000000..7927928
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement27.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement27.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement28-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement28-expected.txt
new file mode 100644
index 0000000..f71a518
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement28-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement28
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement28.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement28.js
new file mode 100644
index 0000000..df63b24
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement28.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement28";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The vAlign attribute specifies the vertical alignment of data in cell.
+
+ Retrieve the vAlign attribute from the second TD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221
+*/
+function HTMLTableCellElement28() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement28") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vvalign = testNode.vAlign;
+
+ assertEquals("vAlignLink","middle",vvalign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement28();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement28.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement28.xhtml
new file mode 100644
index 0000000..c887645
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement28.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement28.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement29-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement29-expected.txt
new file mode 100644
index 0000000..23571bb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement29-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement29
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement29.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement29.js
new file mode 100644
index 0000000..3eea685
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement29.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement29";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The width attribute specifies the cells width.
+
+ Retrieve the width attribute from the second TH element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795
+*/
+function HTMLTableCellElement29() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement29") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("th");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink","170",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement29();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement29.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement29.xhtml
new file mode 100644
index 0000000..adfb20d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement29.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement29.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement30-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement30-expected.txt
new file mode 100644
index 0000000..a60ff20
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement30-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement30
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement30.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement30.js
new file mode 100644
index 0000000..a5991d5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement30.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableCellElement30";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The width attribute specifies the cells width.
+
+ Retrieve the width attribute from the second TD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795
+*/
+function HTMLTableCellElement30() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableCellElement30") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink","175",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableCellElement30();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement30.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement30.xhtml
new file mode 100644
index 0000000..71c91a5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableCellElement30.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableCellElement30.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement01-expected.txt
new file mode 100644
index 0000000..1c3aee7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement01.js
new file mode 100644
index 0000000..c55199a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement01.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal alignment of cell data
+ in column(COL).
+
+ Retrieve the align attribute from the COL element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31128447
+*/
+function HTMLTableColElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableColElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("col");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableColElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement01.xhtml
new file mode 100644
index 0000000..845d7d9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement01.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableColElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement02-expected.txt
new file mode 100644
index 0000000..be42642
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement02.js
new file mode 100644
index 0000000..ea95caf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal alignment of cell data
+ in column(COLGROUP).
+
+ Retrieve the align attribute from the COLGROUP element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-31128447
+*/
+function HTMLTableColElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableColElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("colgroup");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableColElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement02.xhtml
new file mode 100644
index 0000000..e53e17c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement02.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableColElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement03-expected.txt
new file mode 100644
index 0000000..e9d1bb2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement03.js
new file mode 100644
index 0000000..36093c6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement03.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The char attribute specifies the alignment character for cells
+ in a column(COL).
+
+ Retrieve the char attribute from the COL element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9447412
+*/
+function HTMLTableColElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableColElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("col");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vch = testNode.ch;
+
+ assertEquals("chLink","*",vch);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableColElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement03.xhtml
new file mode 100644
index 0000000..c05f84b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement03.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableColElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement04-expected.txt
new file mode 100644
index 0000000..7fb918f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement04.js
new file mode 100644
index 0000000..84370b5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement04.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The char attribute specifies the alignment character for cells
+ in a column(COLGROUP).
+
+ Retrieve the char attribute from the COLGROUP element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9447412
+*/
+function HTMLTableColElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableColElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("colgroup");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vch = testNode.ch;
+
+ assertEquals("chLink","$",vch);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableColElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement04.xhtml
new file mode 100644
index 0000000..ce651e4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement04.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableColElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement05-expected.txt
new file mode 100644
index 0000000..063267c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement05.js
new file mode 100644
index 0000000..f89286f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement05.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The charoff attribute specifies offset of alignment character(COL).
+
+ Retrieve the charoff attribute from the COL element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57779225
+*/
+function HTMLTableColElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableColElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vchoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("col");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vchoff = testNode.chOff;
+
+ assertEquals("chLink","20",vchoff);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableColElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement05.xhtml
new file mode 100644
index 0000000..5a60e03
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement05.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableColElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement06-expected.txt
new file mode 100644
index 0000000..ad4793c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement06.js
new file mode 100644
index 0000000..2389852
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement06.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The charoff attribute specifies offset of alignment character(COLGROUP).
+
+ Retrieve the charoff attribute from the COLGROUP element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57779225
+*/
+function HTMLTableColElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableColElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vchoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("colgroup");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vchoff = testNode.chOff;
+
+ assertEquals("chLink","15",vchoff);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableColElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement06.xhtml
new file mode 100644
index 0000000..5658ebc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement06.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableColElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement07-expected.txt
new file mode 100644
index 0000000..e84ac86
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement07.js
new file mode 100644
index 0000000..580e907
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement07.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The span attribute indicates the number of columns in a group or affected
+ by a grouping(COL).
+
+ Retrieve the span attribute of the COL element and examine its
+ value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335
+*/
+function HTMLTableColElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableColElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vspan;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("col");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vspan = testNode.span;
+
+ assertEquals("spanLink",1,vspan);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableColElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement07.xhtml
new file mode 100644
index 0000000..33d88e1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement07.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableColElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement08-expected.txt
new file mode 100644
index 0000000..e434cee
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement08.js
new file mode 100644
index 0000000..46b444e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement08.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The span attribute indicates the number of columns in a group or affected
+ by a grouping(COLGROUP).
+
+ Retrieve the span attribute of the COLGROUP element and examine its
+ value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335
+*/
+function HTMLTableColElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableColElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vspan;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("colgroup");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vspan = testNode.span;
+
+ assertEquals("spanLink",2,vspan);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableColElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement08.xhtml
new file mode 100644
index 0000000..bf9b2cf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement08.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableColElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement09-expected.txt
new file mode 100644
index 0000000..4f0d76e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement09.js
new file mode 100644
index 0000000..5581fe4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement09.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The vAlign attribute specifies the vertical alignment of cell data
+ in column(COL).
+
+ Retrieve the vAlign attribute from the COL element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710
+*/
+function HTMLTableColElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableColElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("col");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vvalign = testNode.vAlign;
+
+ assertEquals("vAlignLink","middle",vvalign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableColElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement09.xhtml
new file mode 100644
index 0000000..dba6eb2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement09.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableColElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement10-expected.txt
new file mode 100644
index 0000000..e4541e2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement10.js
new file mode 100644
index 0000000..ea46dfc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement10.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The vAlign attribute specifies the vertical alignment of cell data
+ in column(COLGROUP).
+
+ Retrieve the vAlign attribute from the COLGROUP element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710
+*/
+function HTMLTableColElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableColElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("colgroup");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vvalign = testNode.vAlign;
+
+ assertEquals("vAlignLink","middle",vvalign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableColElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement10.xhtml
new file mode 100644
index 0000000..7341ff6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement10.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableColElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement11-expected.txt
new file mode 100644
index 0000000..eb4f478
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement11.js
new file mode 100644
index 0000000..6a68d3d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement11.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The width attribute specifies the default column width(COL).
+
+ Retrieve the width attribute from the COL element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799
+*/
+function HTMLTableColElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableColElement11") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("col");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink","20",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableColElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement11.xhtml
new file mode 100644
index 0000000..e3660a5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement11.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableColElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement12-expected.txt
new file mode 100644
index 0000000..191464c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement12.js
new file mode 100644
index 0000000..cacdb3d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement12.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableColElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The width attribute specifies the default column width(COLGORUP).
+
+ Retrieve the width attribute from the COLGROUP element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799
+*/
+function HTMLTableColElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableColElement12") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("colgroup");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink","20",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableColElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement12.xhtml
new file mode 100644
index 0000000..097e830
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableColElement12.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableColElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement01-expected.txt
new file mode 100644
index 0000000..36254a3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement01.js
new file mode 100644
index 0000000..2d1be5f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement01.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The caption attribute returns the tables CAPTION.
+
+ Retrieve the align attribute of the CAPTION element from the second
+ TABLE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520
+*/
+function HTMLTableElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcaption;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vcaption = testNode.caption;
+
+ valign = vcaption.align;
+
+ assertEquals("alignLink","top",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement01.xhtml
new file mode 100644
index 0000000..65d208e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement01.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement02-expected.txt
new file mode 100644
index 0000000..af12494
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement02.js
new file mode 100644
index 0000000..37fd48d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520
+*/
+function HTMLTableElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vcaption;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vcaption = testNode.caption;
+
+ assertNull("captionLink",vcaption);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement02.xhtml
new file mode 100644
index 0000000..832200c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement02.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement03-expected.txt
new file mode 100644
index 0000000..359a155
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement03.js
new file mode 100644
index 0000000..08fa0f1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement03.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The tHead attribute returns the tables THEAD.
+
+ Retrieve the align attribute of the THEAD element from the second
+ TABLE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944
+*/
+function HTMLTableElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vsection = testNode.tHead;
+
+ valign = vsection.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement03.xhtml
new file mode 100644
index 0000000..d1fd3f3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement03.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement04-expected.txt
new file mode 100644
index 0000000..741a575
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement04.js
new file mode 100644
index 0000000..9f44d07
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement04.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944
+*/
+function HTMLTableElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vsection = testNode.tHead;
+
+ assertNull("sectionLink",vsection);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement04.xhtml
new file mode 100644
index 0000000..1ad95d6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement04.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement05-expected.txt
new file mode 100644
index 0000000..cff8a60
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement05.js
new file mode 100644
index 0000000..68c5c06
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement05.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The tFoot attribute returns the tables TFOOT.
+
+ Retrieve the align attribute of the TFOOT element from the second
+ TABLE element and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097
+*/
+function HTMLTableElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vsection = testNode.tFoot;
+
+ valign = vsection.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement05.xhtml
new file mode 100644
index 0000000..b348038
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement05.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement06-expected.txt
new file mode 100644
index 0000000..7b95972
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement06.js
new file mode 100644
index 0000000..e8ae932
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement06.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097
+*/
+function HTMLTableElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vsection = testNode.tFoot;
+
+ assertNull("sectionLink",vsection);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement06.xhtml
new file mode 100644
index 0000000..fdcfaf3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement06.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement07-expected.txt
new file mode 100644
index 0000000..8ab91d3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement07.js
new file mode 100644
index 0000000..a68bf15
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement07.js
@@ -0,0 +1,132 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6156016
+*/
+function HTMLTableElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement07") != null) return;
+ var nodeList;
+ var rowsnodeList;
+ var testNode;
+ var doc;
+ var rowName;
+ var vrow;
+ var result = new Array();
+
+ expectedOptions = new Array();
+ expectedOptions[0] = "tr";
+ expectedOptions[1] = "tr";
+ expectedOptions[2] = "tr";
+ expectedOptions[3] = "tr";
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ rowsnodeList = testNode.rows;
+
+ for(var indexN10069 = 0;indexN10069 < rowsnodeList.length; indexN10069++) {
+ vrow = rowsnodeList.item(indexN10069);
+ rowName = vrow.nodeName;
+
+ result[result.length] = rowName;
+
+ }
+ assertEqualsListAutoCase("element", "rowsLink",expectedOptions,result);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement07.xhtml
new file mode 100644
index 0000000..b97b0d0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement07.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement08-expected.txt
new file mode 100644
index 0000000..738ada2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement08.js
new file mode 100644
index 0000000..56b6ba9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement08.js
@@ -0,0 +1,129 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63206416
+*/
+function HTMLTableElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement08") != null) return;
+ var nodeList;
+ var tbodiesnodeList;
+ var testNode;
+ var doc;
+ var tbodiesName;
+ var vtbodies;
+ var result = new Array();
+
+ expectedOptions = new Array();
+ expectedOptions[0] = "tbody";
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ tbodiesnodeList = testNode.tBodies;
+
+ for(var indexN10060 = 0;indexN10060 < tbodiesnodeList.length; indexN10060++) {
+ vtbodies = tbodiesnodeList.item(indexN10060);
+ tbodiesName = vtbodies.nodeName;
+
+ result[result.length] = tbodiesName;
+
+ }
+ assertEqualsListAutoCase("element", "tbodiesLink",expectedOptions,result);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement08.xhtml
new file mode 100644
index 0000000..0522774
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement08.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement09-expected.txt
new file mode 100644
index 0000000..e803475
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement09.js
new file mode 100644
index 0000000..d1612b3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement09.js
@@ -0,0 +1,132 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63206416
+*/
+function HTMLTableElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement09") != null) return;
+ var nodeList;
+ var tbodiesnodeList;
+ var testNode;
+ var doc;
+ var tbodiesName;
+ var vtbodies;
+ var result = new Array();
+
+ expectedOptions = new Array();
+ expectedOptions[0] = "tbody";
+ expectedOptions[1] = "tbody";
+ expectedOptions[2] = "tbody";
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(2);
+ tbodiesnodeList = testNode.tBodies;
+
+ for(var indexN10066 = 0;indexN10066 < tbodiesnodeList.length; indexN10066++) {
+ vtbodies = tbodiesnodeList.item(indexN10066);
+ tbodiesName = vtbodies.nodeName;
+
+ result[result.length] = tbodiesName;
+
+ }
+ assertEqualsListAutoCase("element", "tbodiesLink",expectedOptions,result);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement09.xhtml
new file mode 100644
index 0000000..07b5508
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement09.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement10-expected.txt
new file mode 100644
index 0000000..6419cb1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement10.js
new file mode 100644
index 0000000..4f79b38
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement10.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23180977
+*/
+function HTMLTableElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement10.xhtml
new file mode 100644
index 0000000..8f92429
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement10.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement11-expected.txt
new file mode 100644
index 0000000..fbde6e5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement11.js
new file mode 100644
index 0000000..2ecfacb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement11.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The bgColor attribute specifies cell background color.
+
+ Retrieve the bgColor attribute of the first TABLE element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83532985
+*/
+function HTMLTableElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement11") != null) return;
+ var nodeList;
+ var testNode;
+ var vbgcolor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vbgcolor = testNode.bgColor;
+
+ assertEquals("bgColorLink","#ff0000",vbgcolor);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement11.xhtml
new file mode 100644
index 0000000..69f0fb3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement11.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement12-expected.txt
new file mode 100644
index 0000000..d65def1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement12.js
new file mode 100644
index 0000000..35b835f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement12.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50969400
+*/
+function HTMLTableElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement12") != null) return;
+ var nodeList;
+ var testNode;
+ var vborder;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vborder = testNode.border;
+
+ assertEquals("borderLink","4",vborder);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement12.xhtml
new file mode 100644
index 0000000..e1342cb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement12.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement13-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement13-expected.txt
new file mode 100644
index 0000000..63706a6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement13.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement13.js
new file mode 100644
index 0000000..ca1f1a1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement13.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59162158
+*/
+function HTMLTableElement13() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement13") != null) return;
+ var nodeList;
+ var testNode;
+ var vcellpadding;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vcellpadding = testNode.cellPadding;
+
+ assertEquals("cellPaddingLink","2",vcellpadding);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement13.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement13.xhtml
new file mode 100644
index 0000000..62f1534
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement13.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement13.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement14-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement14-expected.txt
new file mode 100644
index 0000000..b4d468a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement14-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement14
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement14.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement14.js
new file mode 100644
index 0000000..2ca3c5c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement14.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement14";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The cellSpacing attribute specifies the horizontal and vertical separation
+ between cells.
+
+ Retrieve the cellSpacing attribute of the first TABLE element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68907883
+*/
+function HTMLTableElement14() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement14") != null) return;
+ var nodeList;
+ var testNode;
+ var cellSpacing;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ cellSpacing = testNode.cellSpacing;
+
+ assertEquals("cellSpacingLink","2",cellSpacing);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement14();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement14.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement14.xhtml
new file mode 100644
index 0000000..87ae7a3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement14.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement14.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement15-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement15-expected.txt
new file mode 100644
index 0000000..92ac806
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement15-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement15
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement15.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement15.js
new file mode 100644
index 0000000..b864218
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement15.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement15";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The frame attribute specifies which external table borders to render.
+
+ Retrieve the frame attribute of the first TABLE element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64808476
+*/
+function HTMLTableElement15() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement15") != null) return;
+ var nodeList;
+ var testNode;
+ var vframe;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vframe = testNode.frame;
+
+ assertEquals("frameLink","border",vframe);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement15();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement15.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement15.xhtml
new file mode 100644
index 0000000..b09001b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement15.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement15.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement16-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement16-expected.txt
new file mode 100644
index 0000000..de347d1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement16-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement16
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement16.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement16.js
new file mode 100644
index 0000000..570557d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement16.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement16";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The rules attribute specifies which internal table borders to render.
+
+ Retrieve the rules attribute of the first TABLE element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26347553
+*/
+function HTMLTableElement16() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement16") != null) return;
+ var nodeList;
+ var testNode;
+ var vrules;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vrules = testNode.rules;
+
+ assertEquals("rulesLink","all",vrules);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement16();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement16.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement16.xhtml
new file mode 100644
index 0000000..398d3fe
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement16.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement16.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement17-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement17-expected.txt
new file mode 100644
index 0000000..12afd5e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement17-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement17
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement17.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement17.js
new file mode 100644
index 0000000..024bdf7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement17.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement17";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-44998528
+*/
+function HTMLTableElement17() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement17") != null) return;
+ var nodeList;
+ var testNode;
+ var vsummary;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vsummary = testNode.summary;
+
+ assertEquals("summaryLink","HTML Control Table",vsummary);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement17();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement17.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement17.xhtml
new file mode 100644
index 0000000..4de49b4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement17.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement17.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement18-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement18-expected.txt
new file mode 100644
index 0000000..232c61d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement18-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement18
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement18.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement18.js
new file mode 100644
index 0000000..e3efb73
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement18.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement18";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The width attribute specifies the desired table width.
+
+ Retrieve the width attribute of the first TABLE element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77447361
+*/
+function HTMLTableElement18() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement18") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink","680",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement18();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement18.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement18.xhtml
new file mode 100644
index 0000000..91f82b9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement18.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement18.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement19-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement19-expected.txt
new file mode 100644
index 0000000..cd86dd2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement19-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement19
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement19.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement19.js
new file mode 100644
index 0000000..9f5c00a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement19.js
@@ -0,0 +1,123 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement19";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70313345
+*/
+function HTMLTableElement19() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement19") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection1;
+ var vsection2;
+ var newHead;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vsection1 = testNode.tHead;
+
+ assertNull("vsection1Id",vsection1);
+ newHead = testNode.createTHead();
+ vsection2 = testNode.tHead;
+
+ assertNotNull("vsection2Id",vsection2);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement19();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement19.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement19.xhtml
new file mode 100644
index 0000000..22c5bf2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement19.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement19.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement20-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement20-expected.txt
new file mode 100644
index 0000000..9f8d23c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement20-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement20
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement20.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement20.js
new file mode 100644
index 0000000..7471587
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement20.js
@@ -0,0 +1,122 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement20";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70313345
+*/
+function HTMLTableElement20() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement20") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var newHead;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ newHead = testNode.createTHead();
+ vsection = testNode.tHead;
+
+ valign = vsection.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement20();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement20.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement20.xhtml
new file mode 100644
index 0000000..812662b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement20.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement20.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement21-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement21-expected.txt
new file mode 100644
index 0000000..b477335
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement21-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement21
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement21.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement21.js
new file mode 100644
index 0000000..48df04c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement21.js
@@ -0,0 +1,139 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement21";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteTHead() method deletes the header from the table.
+
+ The deleteTHead() method will delete the THEAD Element from the
+ second TABLE element. First make sure that the THEAD element exists
+ and then count the number of rows. After the THEAD element is
+ deleted there should be one less row.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38310198
+*/
+function HTMLTableElement21() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement21") != null) return;
+ var nodeList;
+ var rowsnodeList;
+ var testNode;
+ var vsection1;
+ var vsection2;
+ var vrows;
+ var doc;
+ var result = new Array();
+
+ expectedResult = new Array();
+ expectedResult[0] = 4;
+ expectedResult[1] = 3;
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vsection1 = testNode.tHead;
+
+ assertNotNull("vsection1Id",vsection1);
+rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ result[result.length] = vrows;
+testNode.deleteTHead();
+ vsection2 = testNode.tHead;
+
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ result[result.length] = vrows;
+assertEqualsList("rowsLink",expectedResult,result);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement21();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement21.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement21.xhtml
new file mode 100644
index 0000000..dfdb00a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement21.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement21.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement22-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement22-expected.txt
new file mode 100644
index 0000000..5f89214
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement22-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement22
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement22.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement22.js
new file mode 100644
index 0000000..ab6d700
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement22.js
@@ -0,0 +1,123 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement22";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8453710
+*/
+function HTMLTableElement22() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement22") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection1;
+ var vsection2;
+ var newFoot;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vsection1 = testNode.tFoot;
+
+ assertNull("vsection1Id",vsection1);
+ newFoot = testNode.createTFoot();
+ vsection2 = testNode.tFoot;
+
+ assertNotNull("vsection2Id",vsection2);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement22();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement22.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement22.xhtml
new file mode 100644
index 0000000..12f8f0c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement22.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement22.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement23-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement23-expected.txt
new file mode 100644
index 0000000..f83a4fb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement23-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement23
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement23.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement23.js
new file mode 100644
index 0000000..b065cee
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement23.js
@@ -0,0 +1,122 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement23";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8453710
+*/
+function HTMLTableElement23() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement23") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var newFoot;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ newFoot = testNode.createTFoot();
+ vsection = testNode.tFoot;
+
+ valign = vsection.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement23();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement23.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement23.xhtml
new file mode 100644
index 0000000..595922d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement23.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement23.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement24-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement24-expected.txt
new file mode 100644
index 0000000..e68e16c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement24-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement24
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement24.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement24.js
new file mode 100644
index 0000000..2d612cc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement24.js
@@ -0,0 +1,139 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement24";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteTFoot() method deletes the footer from the table.
+
+ The deleteTFoot() method will delete the TFOOT Element from the
+ second TABLE element. First make sure that the TFOOT element exists
+ and then count the number of rows. After the TFOOT element is
+ deleted there should be one less row.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-78363258
+*/
+function HTMLTableElement24() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement24") != null) return;
+ var nodeList;
+ var rowsnodeList;
+ var testNode;
+ var vsection1;
+ var vsection2;
+ var vrows;
+ var doc;
+ var result = new Array();
+
+ expectedResult = new Array();
+ expectedResult[0] = 4;
+ expectedResult[1] = 3;
+
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vsection1 = testNode.tFoot;
+
+ assertNotNull("vsection1Id",vsection1);
+rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ result[result.length] = vrows;
+testNode.deleteTFoot();
+ vsection2 = testNode.tFoot;
+
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ result[result.length] = vrows;
+assertEqualsList("rowsLink",expectedResult,result);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement24();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement24.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement24.xhtml
new file mode 100644
index 0000000..e6b42f8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement24.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement24.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement25-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement25-expected.txt
new file mode 100644
index 0000000..64e5ca2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement25-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement25
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement25.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement25.js
new file mode 100644
index 0000000..5b80b95
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement25.js
@@ -0,0 +1,121 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement25";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96920263
+*/
+function HTMLTableElement25() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement25") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection1;
+ var vsection2;
+ var newCaption;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vsection1 = testNode.caption;
+
+ assertNull("vsection1Id",vsection1);
+ newCaption = testNode.createCaption();
+ vsection2 = testNode.caption;
+
+ assertNotNull("vsection2Id",vsection2);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement25();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement25.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement25.xhtml
new file mode 100644
index 0000000..93316f2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement25.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement25.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement26-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement26-expected.txt
new file mode 100644
index 0000000..b5daa2f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement26-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement26
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement26.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement26.js
new file mode 100644
index 0000000..623c905
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement26.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement26";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96920263
+*/
+function HTMLTableElement26() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement26") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection1;
+ var vcaption;
+ var newCaption;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vsection1 = testNode.caption;
+
+ assertNotNull("vsection1Id",vsection1);
+newCaption = testNode.createCaption();
+ vcaption = testNode.caption;
+
+ valign = vcaption.align;
+
+ assertEquals("alignLink","top",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement26();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement26.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement26.xhtml
new file mode 100644
index 0000000..ddb094a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement26.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement26.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement27-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement27-expected.txt
new file mode 100644
index 0000000..23979da
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement27-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement27
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement27.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement27.js
new file mode 100644
index 0000000..7a66c31
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement27.js
@@ -0,0 +1,119 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement27";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteCaption() method deletes the table caption.
+
+ Delete the CAPTION element on the second TABLE element.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-22930071
+*/
+function HTMLTableElement27() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement27") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection1;
+ var vsection2;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vsection1 = testNode.caption;
+
+ assertNotNull("vsection1Id",vsection1);
+testNode.deleteCaption();
+ vsection2 = testNode.caption;
+
+ assertNull("vsection2Id",vsection2);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement27();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement27.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement27.xhtml
new file mode 100644
index 0000000..f828fb0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement27.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement27.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement28-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement28-expected.txt
new file mode 100644
index 0000000..2ac60fc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement28-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement28
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement28.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement28.js
new file mode 100644
index 0000000..a2813ba
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement28.js
@@ -0,0 +1,133 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement28";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method inserts a new empty table row.
+
+ Retrieve the second TABLE element and invoke the insertRow() method
+ with an index of 0. Currently the zero indexed row is in the THEAD
+ section of the TABLE. The number of rows in the THEAD section before
+ insertion of the new row is one. After the new row is inserted the number
+ of rows in the THEAD section is two.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903
+*/
+function HTMLTableElement28() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement28") != null) return;
+ var nodeList;
+ var testNode;
+ var newRow;
+ var rowsnodeList;
+ var vsection1;
+ var vsection2;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vsection1 = testNode.tHead;
+
+ rowsnodeList = vsection1.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",1,vrows);
+ newRow = testNode.insertRow(0);
+ vsection2 = testNode.tHead;
+
+ rowsnodeList = vsection2.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",2,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement28();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement28.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement28.xhtml
new file mode 100644
index 0000000..cc08737
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement28.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement28.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement29-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement29-expected.txt
new file mode 100644
index 0000000..caf4370
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement29-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement29
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement29.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement29.js
new file mode 100644
index 0000000..d9e0064
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement29.js
@@ -0,0 +1,137 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement29";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method inserts a new empty table row.
+
+ Retrieve the second TABLE element and invoke the insertRow() method
+ with an index of two. Currently the 2nd indexed row is in the TBODY
+ section of the TABLE. The number of rows in the TBODY section before
+ insertion of the new row is two. After the new row is inserted the number
+ of rows in the TBODY section is three.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903
+*/
+function HTMLTableElement29() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement29") != null) return;
+ var nodeList;
+ var tbodiesnodeList;
+ var testNode;
+ var bodyNode;
+ var newRow;
+ var rowsnodeList;
+ var vsection1;
+ var vsection2;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ tbodiesnodeList = testNode.tBodies;
+
+ bodyNode = tbodiesnodeList.item(0);
+ rowsnodeList = bodyNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",2,vrows);
+ newRow = testNode.insertRow(2);
+ tbodiesnodeList = testNode.tBodies;
+
+ bodyNode = tbodiesnodeList.item(0);
+ rowsnodeList = bodyNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",3,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement29();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement29.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement29.xhtml
new file mode 100644
index 0000000..02e666c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement29.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement29.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement30-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement30-expected.txt
new file mode 100644
index 0000000..1e2f078
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement30-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement30
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement30.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement30.js
new file mode 100644
index 0000000..5f63f50
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement30.js
@@ -0,0 +1,144 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement30";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method inserts a new empty table row.
+
+ Retrieve the second TABLE element and invoke the insertRow() method
+ with an index of four. After the new row is inserted the number of rows
+ in the table should be five.
+ Also the number of rows in the TFOOT section before
+ insertion of the new row is one. After the new row is inserted the number
+ of rows in the TFOOT section is two.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903
+*/
+function HTMLTableElement30() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement30") != null) return;
+ var nodeList;
+ var tbodiesnodeList;
+ var testNode;
+ var newRow;
+ var rowsnodeList;
+ var vsection1;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",4,vrows);
+ vsection1 = testNode.tFoot;
+
+ rowsnodeList = vsection1.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink",1,vrows);
+ newRow = testNode.insertRow(4);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",5,vrows);
+ vsection1 = testNode.tFoot;
+
+ rowsnodeList = vsection1.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink3",2,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement30();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement30.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement30.xhtml
new file mode 100644
index 0000000..4f82f88
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement30.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement30.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement31-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement31-expected.txt
new file mode 100644
index 0000000..ab04559
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement31-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement31
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement31.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement31.js
new file mode 100644
index 0000000..654c6e6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement31.js
@@ -0,0 +1,138 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement31";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table1");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method inserts a new empty table row. In addition, when
+ the table is empty the row is inserted into a TBODY which is created
+ and inserted into the table.
+
+ Load the table1 file which has a non-empty table element.
+ Create an empty TABLE element and append to the document.
+ Check to make sure that the empty TABLE element doesn't
+ have a TBODY element. Insert a new row into the empty
+ TABLE element. Check for existence of the a TBODY element
+ in the table.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39872903
+* @see http://lists.w3.org/Archives/Public/www-dom-ts/2002Aug/0019.html
+* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=502
+*/
+function HTMLTableElement31() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement31") != null) return;
+ var nodeList;
+ var testNode;
+ var tableNode;
+ var tbodiesnodeList;
+ var newRow;
+ var doc;
+ var table;
+ var tbodiesLength;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table1");
+ nodeList = doc.getElementsByTagName("body");
+ assertSize("tableSize1",1,nodeList);
+testNode = nodeList.item(0);
+ table = doc.createElement("table");
+ tableNode = testNode.appendChild(table);
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("tableSize2",2,nodeList);
+tbodiesnodeList = tableNode.tBodies;
+
+ tbodiesLength = tbodiesnodeList.length;
+
+ assertEquals("Asize3",0,tbodiesLength);
+ newRow = tableNode.insertRow(0);
+ tbodiesnodeList = tableNode.tBodies;
+
+ tbodiesLength = tbodiesnodeList.length;
+
+ assertEquals("Asize4",1,tbodiesLength);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement31();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement31.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement31.xhtml
new file mode 100644
index 0000000..383ad26
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement31.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement31.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Empty Table">
+<tr><td>XHTML can't abide empty table</td></tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement32-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement32-expected.txt
new file mode 100644
index 0000000..f083afb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement32-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement32
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement32.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement32.js
new file mode 100644
index 0000000..1497104
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement32.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement32";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteRow() method deletes a table row.
+
+ Retrieve the second TABLE element and invoke the deleteRow() method
+ with an index of 0(first row). Currently there are four rows in the
+ table. After the deleteRow() method is called there should be
+ three rows in the table.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13114938
+*/
+function HTMLTableElement32() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement32") != null) return;
+ var nodeList;
+ var testNode;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",4,vrows);
+ testNode.deleteRow(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",3,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement32();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement32.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement32.xhtml
new file mode 100644
index 0000000..8d772ab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement32.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement32.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement33-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement33-expected.txt
new file mode 100644
index 0000000..6e74898
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement33-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement33
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement33.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement33.js
new file mode 100644
index 0000000..c86c5a1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement33.js
@@ -0,0 +1,124 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement33";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteRow() method deletes a table row.
+
+ Retrieve the second TABLE element and invoke the deleteRow() method
+ with an index of 3(last row). Currently there are four rows in the
+ table. The deleteRow() method is called and now there should be three.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-13114938
+*/
+function HTMLTableElement33() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement33") != null) return;
+ var nodeList;
+ var testNode;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",4,vrows);
+ testNode.deleteRow(3);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",3,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement33();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement33.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement33.xhtml
new file mode 100644
index 0000000..759ee0c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement33.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement33.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement34-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement34-expected.txt
new file mode 100644
index 0000000..e60f0d1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement34-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement34
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement34.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement34.js
new file mode 100644
index 0000000..408515c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement34.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement34";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-39872903
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-39872903')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableElement34() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement34") != null) return;
+ var nodeList;
+ var testNode;
+ var newRow;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+
+ {
+ success = false;
+ try {
+ newRow = testNode.insertRow(5);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableElement34",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement34();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement34.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement34.xhtml
new file mode 100644
index 0000000..178976c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement34.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement34.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement35-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement35-expected.txt
new file mode 100644
index 0000000..5282e24
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement35-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement35
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement35.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement35.js
new file mode 100644
index 0000000..7502f02
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement35.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement35";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-39872903
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-39872903')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableElement35() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement35") != null) return;
+ var nodeList;
+ var testNode;
+ var newRow;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+
+ {
+ success = false;
+ try {
+ newRow = testNode.insertRow(-5);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableElement35",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement35();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement35.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement35.xhtml
new file mode 100644
index 0000000..9b9501e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement35.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement35.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement36-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement36-expected.txt
new file mode 100644
index 0000000..185c6cb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement36-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement36
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement36.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement36.js
new file mode 100644
index 0000000..daee4d7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement36.js
@@ -0,0 +1,124 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement36";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-13114938
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-13114938')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableElement36() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement36") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+
+ {
+ success = false;
+ try {
+ testNode.deleteRow(5);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableElement36",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement36();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement36.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement36.xhtml
new file mode 100644
index 0000000..2bee258
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement36.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement36.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement37-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement37-expected.txt
new file mode 100644
index 0000000..58edb8c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement37-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement37
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement37.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement37.js
new file mode 100644
index 0000000..77fbda2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement37.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement37";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-13114938
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-13114938')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableElement37() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement37") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+
+ {
+ success = false;
+ try {
+ testNode.deleteRow(4);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableElement37",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement37();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement37.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement37.xhtml
new file mode 100644
index 0000000..fe3df20
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement37.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement37.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement38-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement38-expected.txt
new file mode 100644
index 0000000..a1be2e2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement38-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement38
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement38.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement38.js
new file mode 100644
index 0000000..49e9c06
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement38.js
@@ -0,0 +1,124 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement38";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-13114938
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-13114938')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableElement38() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement38") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+
+ {
+ success = false;
+ try {
+ testNode.deleteRow(-5);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableElement38",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement38();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement38.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement38.xhtml
new file mode 100644
index 0000000..bb90d99
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement38.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement38.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement39-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement39-expected.txt
new file mode 100644
index 0000000..001a0aa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement39-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement39
+Status failure
+Message rowsLink2: assertEquals failed, actual 2, expected 3.
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement39.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement39.js
new file mode 100644
index 0000000..cc40187
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement39.js
@@ -0,0 +1,139 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement39";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method inserts a new empty table row.
+ If index is -1 or equal to the number of rows, the new row
+ is appended.
+
+ Retrieve the second TABLE element and invoke the insertRow() method
+ with an index of negative one.
+ The number of rows in the TBODY section before insertion with an index
+ of negative one is two. After the new row is inserted the number
+ of rows in the TBODY section is three.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-39872903
+*/
+function HTMLTableElement39() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement39") != null) return;
+ var nodeList;
+ var tbodiesnodeList;
+ var testNode;
+ var bodyNode;
+ var newRow;
+ var rowsnodeList;
+ var vsection1;
+ var vsection2;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ tbodiesnodeList = testNode.tBodies;
+
+ bodyNode = tbodiesnodeList.item(0);
+ rowsnodeList = bodyNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",2,vrows);
+ newRow = testNode.insertRow(-1);
+ tbodiesnodeList = testNode.tBodies;
+
+ bodyNode = tbodiesnodeList.item(0);
+ rowsnodeList = bodyNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",3,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement39();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement39.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement39.xhtml
new file mode 100644
index 0000000..0f3dd9b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement39.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement39.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement40-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement40-expected.txt
new file mode 100644
index 0000000..94f926c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement40-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement40
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement40.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement40.js
new file mode 100644
index 0000000..f53f37d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement40.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableElement40";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteRow() method deletes a table row. If the index is -1
+ the last row of the table is deleted.
+
+ Retrieve the second TABLE element and invoke the deleteRow() method
+ with an index of negative one. Currently there are four rows in the
+ table. The deleteRow() method is called and now there should be three.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-13114938
+*/
+function HTMLTableElement40() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableElement40") != null) return;
+ var nodeList;
+ var testNode;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",4,vrows);
+ testNode.deleteRow(-1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",3,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableElement40();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableElement40.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement40.xhtml
new file mode 100644
index 0000000..87f16fc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableElement40.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableElement40.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement01-expected.txt
new file mode 100644
index 0000000..740905c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement01.js
new file mode 100644
index 0000000..4cd8bd1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement01.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67347567
+*/
+function HTMLTableRowElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vrowindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+ vrowindex = testNode.rowIndex;
+
+ assertEquals("rowIndexLink",1,vrowindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement01.xhtml
new file mode 100644
index 0000000..08b75f1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement01.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement02-expected.txt
new file mode 100644
index 0000000..35f6761
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement02.js
new file mode 100644
index 0000000..b974482
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901
+*/
+function HTMLTableRowElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vsectionrowindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(1);
+ vsectionrowindex = testNode.sectionRowIndex;
+
+ assertEquals("sectionRowIndexLink",0,vsectionrowindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement02.xhtml
new file mode 100644
index 0000000..399a494
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement02.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement03-expected.txt
new file mode 100644
index 0000000..8d007a2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement03.js
new file mode 100644
index 0000000..8d6fdfa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement03.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901
+*/
+function HTMLTableRowElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vsectionrowindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(2);
+ vsectionrowindex = testNode.sectionRowIndex;
+
+ assertEquals("sectionRowIndexLink",0,vsectionrowindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement03.xhtml
new file mode 100644
index 0000000..da79019
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement03.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement04-expected.txt
new file mode 100644
index 0000000..024c951
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement04.js
new file mode 100644
index 0000000..450ec45
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement04.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-79105901
+*/
+function HTMLTableRowElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vsectionrowindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(4);
+ vsectionrowindex = testNode.sectionRowIndex;
+
+ assertEquals("sectionRowIndexLink",1,vsectionrowindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement04.xhtml
new file mode 100644
index 0000000..42cfaff
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement04.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement05-expected.txt
new file mode 100644
index 0000000..c52f7e5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement05.js
new file mode 100644
index 0000000..1e11dce
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement05.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The cells attribute specifies the collection of cells in this row.
+
+ Retrieve the fourth TR element and examine the value of
+ the cells length attribute.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67349879
+*/
+function HTMLTableRowElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement05") != null) return;
+ var nodeList;
+ var cellsnodeList;
+ var testNode;
+ var vcells;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink",6,vcells);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement05.xhtml
new file mode 100644
index 0000000..c38f103
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement05.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement06-expected.txt
new file mode 100644
index 0000000..e92c325
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement06.js
new file mode 100644
index 0000000..b6c1a97
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement06.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257
+*/
+function HTMLTableRowElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(1);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement06.xhtml
new file mode 100644
index 0000000..3ee0e35
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement06.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement07-expected.txt
new file mode 100644
index 0000000..ce5ec97
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement07.js
new file mode 100644
index 0000000..5e653bd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement07.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The bgColor attribute specifies the background color of rows.
+
+ Retrieve the bgColor attribute of the second TR element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18161327
+*/
+function HTMLTableRowElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vbgcolor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(1);
+ vbgcolor = testNode.bgColor;
+
+ assertEquals("bgColorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase());
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement07.xhtml
new file mode 100644
index 0000000..bdc813e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement07.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement08-expected.txt
new file mode 100644
index 0000000..4a17ab0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement08.js
new file mode 100644
index 0000000..71641c7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement08.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502
+*/
+function HTMLTableRowElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(1);
+ vch = testNode.ch;
+
+ assertEquals("chLink","*",vch);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement08.xhtml
new file mode 100644
index 0000000..a249b71
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement08.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement09-expected.txt
new file mode 100644
index 0000000..8b17add
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement09.js
new file mode 100644
index 0000000..e3cef33
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement09.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The chOff attribute specifies the offset of alignment character.
+
+ Retrieve the charoff attribute of the second TR element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461
+*/
+function HTMLTableRowElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vchoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(1);
+ vchoff = testNode.chOff;
+
+ assertEquals("charOffLink","1",vchoff);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement09.xhtml
new file mode 100644
index 0000000..901e4f9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement09.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement10-expected.txt
new file mode 100644
index 0000000..dfdb435
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement10.js
new file mode 100644
index 0000000..8f94e7c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement10.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90000058
+*/
+function HTMLTableRowElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(1);
+ vvalign = testNode.vAlign;
+
+ assertEquals("vAlignLink","middle",vvalign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement10.xhtml
new file mode 100644
index 0000000..6738c4a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement10.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement11-expected.txt
new file mode 100644
index 0000000..8a24993
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement11.js
new file mode 100644
index 0000000..18175c5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement11.js
@@ -0,0 +1,144 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertCell() method inserts an empty TD cell into this row.
+
+
+ Retrieve the fourth TR element and examine the value of
+ the cells length attribute which should be set to six.
+ Check the value of the first TD element. Invoke the
+ insertCell() which will create an empty TD cell at the
+ zero index position. Check the value of the newly created
+ cell and make sure it is null and also the numbers of cells
+ should now be seven.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68927016
+*/
+function HTMLTableRowElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement11") != null) return;
+ var nodeList;
+ var cellsnodeList;
+ var testNode;
+ var trNode;
+ var cellNode;
+ var value;
+ var newCell;
+ var vcells;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink1",6,vcells);
+ trNode = cellsnodeList.item(0);
+ cellNode = trNode.firstChild;
+
+ value = cellNode.nodeValue;
+
+ assertEquals("value1Link","EMP0001",value);
+ newCell = testNode.insertCell(0);
+ testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink2",7,vcells);
+ trNode = cellsnodeList.item(0);
+ cellNode = trNode.firstChild;
+
+ assertNull("value2Link",cellNode);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement11.xhtml
new file mode 100644
index 0000000..01697c0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement11.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement12-expected.txt
new file mode 100644
index 0000000..09fb41f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement12.js
new file mode 100644
index 0000000..89b6f02
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement12.js
@@ -0,0 +1,143 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertCell() method inserts an empty TD cell into this row.
+
+
+ Retrieve the fourth TR element and examine the value of
+ the cells length attribute which should be set to six.
+ Check the value of the last TD element. Invoke the
+ insertCell() which will append the empty cell to the end of the list.
+ Check the value of the newly created cell and make sure it is null
+ and also the numbers of cells should now be seven.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68927016
+*/
+function HTMLTableRowElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement12") != null) return;
+ var nodeList;
+ var cellsnodeList;
+ var testNode;
+ var trNode;
+ var cellNode;
+ var value;
+ var newCell;
+ var vcells;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink1",6,vcells);
+ trNode = cellsnodeList.item(5);
+ cellNode = trNode.firstChild;
+
+ value = cellNode.nodeValue;
+
+ assertEquals("value1Link","1230 North Ave. Dallas, Texas 98551",value);
+ newCell = testNode.insertCell(6);
+ testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink2",7,vcells);
+ trNode = cellsnodeList.item(6);
+ cellNode = trNode.firstChild;
+
+ assertNull("value2Link",cellNode);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement12.xhtml
new file mode 100644
index 0000000..037f1a0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement12.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement13-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement13-expected.txt
new file mode 100644
index 0000000..e13439d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement13.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement13.js
new file mode 100644
index 0000000..0e01594
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement13.js
@@ -0,0 +1,144 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteCell() method deletes a cell from the current row.
+
+
+ Retrieve the fourth TR element and examine the value of
+ the cells length attribute which should be set to six.
+ Check the value of the first TD element. Invoke the
+ deleteCell() method which will delete a cell from the current row.
+ Check the value of the cell at the zero index and also check
+ the number of cells which should now be five.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11738598
+*/
+function HTMLTableRowElement13() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement13") != null) return;
+ var nodeList;
+ var cellsnodeList;
+ var testNode;
+ var trNode;
+ var cellNode;
+ var value;
+ var vcells;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink1",6,vcells);
+ trNode = cellsnodeList.item(0);
+ cellNode = trNode.firstChild;
+
+ value = cellNode.nodeValue;
+
+ assertEquals("value1Link","EMP0001",value);
+ testNode.deleteCell(0);
+ testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink2",5,vcells);
+ trNode = cellsnodeList.item(0);
+ cellNode = trNode.firstChild;
+
+ value = cellNode.nodeValue;
+
+ assertEquals("value2Link","Margaret Martin",value);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement13.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement13.xhtml
new file mode 100644
index 0000000..2cd9beb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement13.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement13.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement14-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement14-expected.txt
new file mode 100644
index 0000000..f70ad7c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement14-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement14
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement14.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement14.js
new file mode 100644
index 0000000..320a1cb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement14.js
@@ -0,0 +1,144 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement14";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteCell() method deletes a cell from the current row.
+
+
+ Retrieve the fourth TR element and examine the value of
+ the cells length attribute which should be set to six.
+ Check the value of the third(index 2) TD element. Invoke the
+ deleteCell() method which will delete a cell from the current row.
+ Check the value of the third cell(index 2) and also check
+ the number of cells which should now be five.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-11738598
+*/
+function HTMLTableRowElement14() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement14") != null) return;
+ var nodeList;
+ var cellsnodeList;
+ var testNode;
+ var trNode;
+ var cellNode;
+ var value;
+ var vcells;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink1",6,vcells);
+ trNode = cellsnodeList.item(2);
+ cellNode = trNode.firstChild;
+
+ value = cellNode.nodeValue;
+
+ assertEquals("value1Link","Accountant",value);
+ testNode.deleteCell(2);
+ testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink2",5,vcells);
+ trNode = cellsnodeList.item(2);
+ cellNode = trNode.firstChild;
+
+ value = cellNode.nodeValue;
+
+ assertEquals("value2Link","56,000",value);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement14();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement14.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement14.xhtml
new file mode 100644
index 0000000..a64201d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement14.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement14.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement15-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement15-expected.txt
new file mode 100644
index 0000000..d61712d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement15-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement15
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement15.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement15.js
new file mode 100644
index 0000000..12ec474
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement15.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement15";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-68927016
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-68927016')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableRowElement15() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement15") != null) return;
+ var nodeList;
+ var testNode;
+ var newCell;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+
+ {
+ success = false;
+ try {
+ newCell = testNode.insertCell(7);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableRowElement15",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement15();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement15.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement15.xhtml
new file mode 100644
index 0000000..38c8154
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement15.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement15.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement16-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement16-expected.txt
new file mode 100644
index 0000000..1421ca6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement16-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement16
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement16.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement16.js
new file mode 100644
index 0000000..450c1fe
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement16.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement16";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-68927016
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-68927016')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableRowElement16() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement16") != null) return;
+ var nodeList;
+ var testNode;
+ var newCell;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+
+ {
+ success = false;
+ try {
+ newCell = testNode.insertCell(-7);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableRowElement16",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement16();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement16.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement16.xhtml
new file mode 100644
index 0000000..50ea1ff
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement16.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement16.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement17-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement17-expected.txt
new file mode 100644
index 0000000..cf68c4e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement17-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement17
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement17.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement17.js
new file mode 100644
index 0000000..3bd4940
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement17.js
@@ -0,0 +1,124 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement17";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-11738598
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-11738598')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableRowElement17() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement17") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+
+ {
+ success = false;
+ try {
+ testNode.deleteCell(7);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableRowElement17",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement17();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement17.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement17.xhtml
new file mode 100644
index 0000000..716ca1c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement17.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement17.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement18-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement18-expected.txt
new file mode 100644
index 0000000..f7372a0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement18-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement18
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement18.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement18.js
new file mode 100644
index 0000000..3194826
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement18.js
@@ -0,0 +1,124 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement18";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-11738598
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-11738598')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableRowElement18() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement18") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+
+ {
+ success = false;
+ try {
+ testNode.deleteCell(6);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableRowElement18",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement18();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement18.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement18.xhtml
new file mode 100644
index 0000000..4f7c6e0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement18.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement18.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement19-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement19-expected.txt
new file mode 100644
index 0000000..5dc0b65
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement19-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement19
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement19.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement19.js
new file mode 100644
index 0000000..14d1cc1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement19.js
@@ -0,0 +1,124 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement19";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-11738598
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-11738598')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableRowElement19() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement19") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+
+ {
+ success = false;
+ try {
+ testNode.deleteCell(-6);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableRowElement19",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement19();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement19.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement19.xhtml
new file mode 100644
index 0000000..e309a32
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement19.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement19.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement20-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement20-expected.txt
new file mode 100644
index 0000000..63effb7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement20-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement20
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement20.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement20.js
new file mode 100644
index 0000000..d42ea64
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement20.js
@@ -0,0 +1,146 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement20";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertCell() method inserts an empty TD cell into this row.
+ If index is -1 or equal to the number of cells, the new cell is
+ appended.
+
+
+ Retrieve the fourth TR element and examine the value of
+ the cells length attribute which should be set to six.
+ Check the value of the last TD element. Invoke the
+ insertCell() with an index of negative one
+ which will append the empty cell to the end of the list.
+ Check the value of the newly created cell and make sure it is null
+ and also the numbers of cells should now be seven.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-68927016
+*/
+function HTMLTableRowElement20() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement20") != null) return;
+ var nodeList;
+ var cellsnodeList;
+ var testNode;
+ var trNode;
+ var cellNode;
+ var value;
+ var newCell;
+ var vcells;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink1",6,vcells);
+ trNode = cellsnodeList.item(5);
+ cellNode = trNode.firstChild;
+
+ value = cellNode.nodeValue;
+
+ assertEquals("value1Link","1230 North Ave. Dallas, Texas 98551",value);
+ newCell = testNode.insertCell(-1);
+ testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink2",7,vcells);
+ trNode = cellsnodeList.item(6);
+ cellNode = trNode.firstChild;
+
+ assertNull("value2Link",cellNode);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement20();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement20.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement20.xhtml
new file mode 100644
index 0000000..6a73a86
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement20.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement20.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement21-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement21-expected.txt
new file mode 100644
index 0000000..e4e373c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement21-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement21
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement21.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement21.js
new file mode 100644
index 0000000..fc95089
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement21.js
@@ -0,0 +1,146 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableRowElement21";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteCell() method deletes a cell from the currtent row. If
+ the index is -1 the last cell in the row is deleted.
+
+
+ Retrieve the fourth TR element and examine the value of
+ the cells length attribute which should be set to six.
+ Check the value of the last TD element. Invoke the
+ deleteCell() with an index of negative one
+ which will delete the last cell in the row.
+ Check the value of the of the last cell
+ and also the numbers of cells should now be five.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-11738598
+*/
+function HTMLTableRowElement21() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableRowElement21") != null) return;
+ var nodeList;
+ var cellsnodeList;
+ var testNode;
+ var trNode;
+ var cellNode;
+ var value;
+ var vcells;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink1",6,vcells);
+ trNode = cellsnodeList.item(5);
+ cellNode = trNode.firstChild;
+
+ value = cellNode.nodeValue;
+
+ assertEquals("value1Link","1230 North Ave. Dallas, Texas 98551",value);
+ testNode.deleteCell(-1);
+ testNode = nodeList.item(3);
+ cellsnodeList = testNode.cells;
+
+ vcells = cellsnodeList.length;
+
+ assertEquals("cellsLink2",5,vcells);
+ trNode = cellsnodeList.item(4);
+ cellNode = trNode.firstChild;
+
+ value = cellNode.nodeValue;
+
+ assertEquals("value2Link","Female",value);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableRowElement21();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement21.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement21.xhtml
new file mode 100644
index 0000000..961e52a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableRowElement21.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableRowElement21.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement01-expected.txt
new file mode 100644
index 0000000..1fdb7de
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement01.js
new file mode 100644
index 0000000..4c32f27
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement01.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal alignment of data within
+ cells.
+
+ Retrieve the align attribute of the first THEAD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119
+*/
+function HTMLTableSectionElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement01.xhtml
new file mode 100644
index 0000000..d4b0de6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement01.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement02-expected.txt
new file mode 100644
index 0000000..be6fdf6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement02.js
new file mode 100644
index 0000000..24949b7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal alignment of data within
+ cells.
+
+ Retrieve the align attribute of the first TFOOT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119
+*/
+function HTMLTableSectionElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tfoot");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement02.xhtml
new file mode 100644
index 0000000..dd3b006
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement02.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement03-expected.txt
new file mode 100644
index 0000000..26b6746
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement03.js
new file mode 100644
index 0000000..cdefa1c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement03.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The align attribute specifies the horizontal alignment of data within
+ cells.
+
+ Retrieve the align attribute of the first TBODY element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-40530119
+*/
+function HTMLTableSectionElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tbody");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement03.xhtml
new file mode 100644
index 0000000..faed347
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement03.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement04-expected.txt
new file mode 100644
index 0000000..82f8b05
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement04.js
new file mode 100644
index 0000000..46e62a1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement04.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The ch attribute specifies the alignment character for cells in a
+ column.
+
+ Retrieve the char attribute of the first THEAD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012
+*/
+function HTMLTableSectionElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vch = testNode.ch;
+
+ assertEquals("chLink","*",vch);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement04.xhtml
new file mode 100644
index 0000000..246c8c1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement04.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement05-expected.txt
new file mode 100644
index 0000000..4575e72
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement05.js
new file mode 100644
index 0000000..6bd0810
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement05.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The ch attribute specifies the alignment character for cells in a
+ column.
+
+ Retrieve the char attribute of the first TFOOT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012
+*/
+function HTMLTableSectionElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tfoot");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vch = testNode.ch;
+
+ assertEquals("chLink","+",vch);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement05.xhtml
new file mode 100644
index 0000000..6394e70
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement05.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement06-expected.txt
new file mode 100644
index 0000000..f3eac1b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement06.js
new file mode 100644
index 0000000..480e4ea
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement06.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The ch attribute specifies the alignment character for cells in a
+ column.
+
+ Retrieve the char attribute of the first TBODY element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83470012
+*/
+function HTMLTableSectionElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tbody");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vch = testNode.ch;
+
+ assertEquals("chLink","$",vch);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement06.xhtml
new file mode 100644
index 0000000..88b7374
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement06.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement07-expected.txt
new file mode 100644
index 0000000..9c727b7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement07.js
new file mode 100644
index 0000000..259f4c3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement07.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The chOff attribute specifies the offset of alignment character.
+
+ Retrieve the charoff attribute of the first THEAD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732
+*/
+function HTMLTableSectionElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vcharoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcharoff = testNode.chOff;
+
+ assertEquals("chOffLink","1",vcharoff);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement07.xhtml
new file mode 100644
index 0000000..03701bd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement07.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement08-expected.txt
new file mode 100644
index 0000000..a6ba932
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement08.js
new file mode 100644
index 0000000..edd4d3f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement08.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The chOff attribute specifies the offset of alignment character.
+
+ Retrieve the charoff attribute of the first TFOOT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732
+*/
+function HTMLTableSectionElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vcharoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tfoot");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcharoff = testNode.chOff;
+
+ assertEquals("chOffLink","2",vcharoff);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement08.xhtml
new file mode 100644
index 0000000..df1043d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement08.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement09-expected.txt
new file mode 100644
index 0000000..4d4e175
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement09.js
new file mode 100644
index 0000000..82acf9f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement09.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The chOff attribute specifies the offset of alignment character.
+
+ Retrieve the charoff attribute of the first TBODY element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-53459732
+*/
+function HTMLTableSectionElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vcharoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tbody");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vcharoff = testNode.chOff;
+
+ assertEquals("chOffLink","3",vcharoff);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement09.xhtml
new file mode 100644
index 0000000..418d366
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement09.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement10-expected.txt
new file mode 100644
index 0000000..8034f50
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement10.js
new file mode 100644
index 0000000..207939f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement10.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The vAlign attribute specifies the vertical alignment of cell data in
+ column.
+
+ Retrieve the vAlign attribute of the first THEAD element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116
+*/
+function HTMLTableSectionElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vvalign = testNode.vAlign;
+
+ assertEquals("vAlignLink","middle",vvalign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement10.xhtml
new file mode 100644
index 0000000..2d7430a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement10.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement11-expected.txt
new file mode 100644
index 0000000..f948031
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement11.js
new file mode 100644
index 0000000..b4e7733
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement11.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The vAlign attribute specifies the vertical alignment of cell data in
+ column.
+
+ Retrieve the vAlign attribute of the first TFOOT element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116
+*/
+function HTMLTableSectionElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement11") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tfoot");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vvalign = testNode.vAlign;
+
+ assertEquals("vAlignLink","middle",vvalign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement11.xhtml
new file mode 100644
index 0000000..653f6b1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement11.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement12-expected.txt
new file mode 100644
index 0000000..41470dd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement12.js
new file mode 100644
index 0000000..7ac5df3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement12.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The vAlign attribute specifies the vertical alignment of cell data in
+ column.
+
+ Retrieve the vAlign attribute of the first TBODY element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-4379116
+*/
+function HTMLTableSectionElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement12") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tbody");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vvalign = testNode.vAlign;
+
+ assertEquals("vAlignLink","middle",vvalign);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement12.xhtml
new file mode 100644
index 0000000..c0b24a0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement12.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement13-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement13-expected.txt
new file mode 100644
index 0000000..43d5807
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement13.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement13.js
new file mode 100644
index 0000000..a534654
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement13.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The rows attribute specifies the collection of rows in this table section.
+
+ Retrieve the first THEAD element and examine the value of
+ the rows length attribute.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650
+*/
+function HTMLTableSectionElement13() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement13") != null) return;
+ var nodeList;
+ var rowsnodeList;
+ var testNode;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink",1,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement13.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement13.xhtml
new file mode 100644
index 0000000..b22691b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement13.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement13.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement14-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement14-expected.txt
new file mode 100644
index 0000000..278e678
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement14-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement14
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement14.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement14.js
new file mode 100644
index 0000000..1a437e7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement14.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement14";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The rows attribute specifies the collection of rows in this table section.
+
+ Retrieve the first TFOOT element and examine the value of
+ the rows length attribute.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650
+*/
+function HTMLTableSectionElement14() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement14") != null) return;
+ var nodeList;
+ var rowsnodeList;
+ var testNode;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tfoot");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink",1,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement14();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement14.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement14.xhtml
new file mode 100644
index 0000000..51a51ec
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement14.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement14.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement15-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement15-expected.txt
new file mode 100644
index 0000000..ecee127
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement15-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement15
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement15.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement15.js
new file mode 100644
index 0000000..a67a9af
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement15.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement15";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The rows attribute specifies the collection of rows in this table section.
+
+ Retrieve the first TBODY element and examine the value of
+ the rows length attribute.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-52092650
+*/
+function HTMLTableSectionElement15() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement15") != null) return;
+ var nodeList;
+ var rowsnodeList;
+ var testNode;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tbody");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink",2,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement15();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement15.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement15.xhtml
new file mode 100644
index 0000000..9428dbc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement15.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement15.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement16-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement16-expected.txt
new file mode 100644
index 0000000..3145055
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement16-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement16
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement16.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement16.js
new file mode 100644
index 0000000..5f89365
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement16.js
@@ -0,0 +1,126 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement16";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method inserts a new empty table row.
+
+ Retrieve the first THEAD element and invoke the insertRow() method
+ with an index of 0. The nuber of rows in the THEAD section before
+ insertion of the new row is one. After the new row is inserted the number
+ of rows in the THEAD section is two.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626
+*/
+function HTMLTableSectionElement16() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement16") != null) return;
+ var nodeList;
+ var testNode;
+ var newRow;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",1,vrows);
+ newRow = testNode.insertRow(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",2,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement16();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement16.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement16.xhtml
new file mode 100644
index 0000000..dd1a153
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement16.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement16.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement17-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement17-expected.txt
new file mode 100644
index 0000000..34fbc2b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement17-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement17
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement17.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement17.js
new file mode 100644
index 0000000..14473d6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement17.js
@@ -0,0 +1,126 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement17";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method inserts a new empty table row.
+
+ Retrieve the first TFOOT element and invoke the insertRow() method
+ with an index of 0. The nuber of rows in the TFOOT section before
+ insertion of the new row is one. After the new row is inserted the number
+ of rows in the TFOOT section is two.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626
+*/
+function HTMLTableSectionElement17() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement17") != null) return;
+ var nodeList;
+ var testNode;
+ var newRow;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tfoot");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",1,vrows);
+ newRow = testNode.insertRow(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",2,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement17();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement17.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement17.xhtml
new file mode 100644
index 0000000..21fdd5e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement17.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement17.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement18-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement18-expected.txt
new file mode 100644
index 0000000..5d36341
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement18-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement18
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement18.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement18.js
new file mode 100644
index 0000000..7e8211b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement18.js
@@ -0,0 +1,126 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement18";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method inserts a new empty table row.
+
+ Retrieve the first TBODY element and invoke the insertRow() method
+ with an index of 0. The nuber of rows in the TBODY section before
+ insertion of the new row is two. After the new row is inserted the number
+ of rows in the TBODY section is three.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626
+*/
+function HTMLTableSectionElement18() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement18") != null) return;
+ var nodeList;
+ var testNode;
+ var newRow;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tbody");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",2,vrows);
+ newRow = testNode.insertRow(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",3,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement18();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement18.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement18.xhtml
new file mode 100644
index 0000000..544104d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement18.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement18.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement19-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement19-expected.txt
new file mode 100644
index 0000000..01b706d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement19-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement19
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement19.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement19.js
new file mode 100644
index 0000000..64f242f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement19.js
@@ -0,0 +1,127 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement19";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method inserts a new empty table row.
+
+ Retrieve the first THEAD element and invoke the insertRow() method
+ with an index of 1. The nuber of rows in the THEAD section before
+ insertion of the new row is one therefore the new row is appended.
+ After the new row is inserted the number of rows in the THEAD
+ section is two.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626
+*/
+function HTMLTableSectionElement19() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement19") != null) return;
+ var nodeList;
+ var testNode;
+ var newRow;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",1,vrows);
+ newRow = testNode.insertRow(1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",2,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement19();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement19.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement19.xhtml
new file mode 100644
index 0000000..828d400
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement19.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement19.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement20-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement20-expected.txt
new file mode 100644
index 0000000..e9e49b6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement20-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement20
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement20.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement20.js
new file mode 100644
index 0000000..437291a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement20.js
@@ -0,0 +1,127 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement20";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method inserts a new empty table row.
+
+ Retrieve the first TFOOT element and invoke the insertRow() method
+ with an index of one. The nuber of rows in the TFOOT section before
+ insertion of the new row is one therefore the new row is appended.
+ After the new row is inserted the number of rows in the TFOOT section
+ is two.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626
+*/
+function HTMLTableSectionElement20() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement20") != null) return;
+ var nodeList;
+ var testNode;
+ var newRow;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tfoot");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",1,vrows);
+ newRow = testNode.insertRow(1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",2,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement20();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement20.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement20.xhtml
new file mode 100644
index 0000000..dbea921
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement20.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement20.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement21-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement21-expected.txt
new file mode 100644
index 0000000..00bf49a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement21-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement21
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement21.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement21.js
new file mode 100644
index 0000000..03c9be2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement21.js
@@ -0,0 +1,128 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement21";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method inserts a new empty table row.
+
+ Retrieve the first TBODY element and invoke the insertRow() method
+ with an index of two. The number of rows in the TBODY section before
+ insertion of the new row is two therefore the row is appended.
+ After the new row is inserted the number of rows in the TBODY section is
+ three.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93995626
+* @see http://www.w3.org/Bugs/Public/show_bug.cgi?id=502
+*/
+function HTMLTableSectionElement21() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement21") != null) return;
+ var nodeList;
+ var testNode;
+ var newRow;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tbody");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",2,vrows);
+ newRow = testNode.insertRow(2);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",3,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement21();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement21.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement21.xhtml
new file mode 100644
index 0000000..1ad33fd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement21.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement21.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement22-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement22-expected.txt
new file mode 100644
index 0000000..3cc6775
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement22-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement22
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement22.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement22.js
new file mode 100644
index 0000000..4e2a77b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement22.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement22";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteRow() method deletes a row from this section.
+
+ Retrieve the first THEAD element and invoke the deleteRow() method
+ with an index of 0. The nuber of rows in the THEAD section before
+ the deletion of the row is one. After the row is deleted the number
+ of rows in the THEAD section is zero.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626
+*/
+function HTMLTableSectionElement22() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement22") != null) return;
+ var nodeList;
+ var testNode;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",1,vrows);
+ testNode.deleteRow(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",0,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement22();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement22.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement22.xhtml
new file mode 100644
index 0000000..fc0bac9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement22.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement22.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement23-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement23-expected.txt
new file mode 100644
index 0000000..8c2dc7c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement23-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement23
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement23.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement23.js
new file mode 100644
index 0000000..516b0b3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement23.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement23";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteRow() method deletes a row from this section.
+
+ Retrieve the first TFOOT element and invoke the deleteRow() method
+ with an index of 0. The nuber of rows in the TFOOT section before
+ the deletion of the row is one. After the row is deleted the number
+ of rows in the TFOOT section is zero.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626
+*/
+function HTMLTableSectionElement23() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement23") != null) return;
+ var nodeList;
+ var testNode;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tfoot");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",1,vrows);
+ testNode.deleteRow(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",0,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement23();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement23.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement23.xhtml
new file mode 100644
index 0000000..063300e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement23.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement23.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement24-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement24-expected.txt
new file mode 100644
index 0000000..0e3b793
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement24-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement24
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement24.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement24.js
new file mode 100644
index 0000000..58cd1ec
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement24.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement24";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteRow() method deletes a row from this section.
+
+ Retrieve the first TBODY element and invoke the deleteRow() method
+ with an index of 0. The nuber of rows in the TBODY section before
+ the deletion of the row is two. After the row is deleted the number
+ of rows in the TBODY section is one.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-5625626
+*/
+function HTMLTableSectionElement24() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement24") != null) return;
+ var nodeList;
+ var testNode;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tbody");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",2,vrows);
+ testNode.deleteRow(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",1,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement24();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement24.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement24.xhtml
new file mode 100644
index 0000000..57f9737
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement24.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement24.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement25-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement25-expected.txt
new file mode 100644
index 0000000..4073f1f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement25-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement25
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement25.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement25.js
new file mode 100644
index 0000000..889efd2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement25.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement25";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is greater than the number of rows.
+
+ Retrieve the first THEAD element which has one row. Try
+ to insert a new row using an index of two. This should throw
+ a INDEX_SIZE_ERR DOMException since there is only one row.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-93995626
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-93995626')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableSectionElement25() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement25") != null) return;
+ var nodeList;
+ var testNode;
+ var newRow;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+
+ {
+ success = false;
+ try {
+ newRow = testNode.insertRow(2);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableSectionElement25",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement25();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement25.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement25.xhtml
new file mode 100644
index 0000000..ab2c2e9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement25.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement25.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement26-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement26-expected.txt
new file mode 100644
index 0000000..0ddea70
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement26-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement26
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement26.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement26.js
new file mode 100644
index 0000000..5b73f49
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement26.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement26";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The insertRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is negative.
+
+ Retrieve the first THEAD element which has one row. Try
+ to insert a new row using an index of negative two. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is negative.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-93995626
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-93995626')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableSectionElement26() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement26") != null) return;
+ var nodeList;
+ var testNode;
+ var newRow;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+
+ {
+ success = false;
+ try {
+ newRow = testNode.insertRow(-2);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableSectionElement26",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement26();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement26.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement26.xhtml
new file mode 100644
index 0000000..5058043
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement26.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement26.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement27-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement27-expected.txt
new file mode 100644
index 0000000..9bb6a29
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement27-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement27
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement27.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement27.js
new file mode 100644
index 0000000..6220766
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement27.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement27";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is greater than the number of rows.
+
+ Retrieve the first THEAD element which has one row. Try
+ to delete a row using an index of two. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is greater than the
+ number of rows.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-5625626
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-5625626')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableSectionElement27() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement27") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+
+ {
+ success = false;
+ try {
+ testNode.deleteRow(2);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableSectionElement27",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement27();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement27.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement27.xhtml
new file mode 100644
index 0000000..0b43bdd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement27.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement27.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement28-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement28-expected.txt
new file mode 100644
index 0000000..2007b6f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement28-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement28
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement28.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement28.js
new file mode 100644
index 0000000..0a64611
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement28.js
@@ -0,0 +1,125 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement28";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is equal to the number of rows.
+
+ Retrieve the first THEAD element which has one row. Try
+ to delete a row using an index of 1. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is equal to the
+ number of rows.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-5625626
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-5625626')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableSectionElement28() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement28") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+
+ {
+ success = false;
+ try {
+ testNode.deleteRow(1);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableSectionElement28",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement28();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement28.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement28.xhtml
new file mode 100644
index 0000000..3d23c39
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement28.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement28.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement29-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement29-expected.txt
new file mode 100644
index 0000000..58057f9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement29-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement29
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement29.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement29.js
new file mode 100644
index 0000000..209bd03
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement29.js
@@ -0,0 +1,124 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement29";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The deleteRow() method throws a INDEX_SIZE_ERR DOMException
+ if the specified index is negative.
+
+ Retrieve the first THEAD element which has one row. Try
+ to delete a row using an index of negative two. This should throw
+ a INDEX_SIZE_ERR DOMException since the index is negative.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-5625626
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#xpointer(id('ID-5625626')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='INDEX_SIZE_ERR'])
+*/
+function HTMLTableSectionElement29() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement29") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+
+ {
+ success = false;
+ try {
+ testNode.deleteRow(-2);
+ }
+ catch(ex) {
+ success = (typeof(ex.code) != 'undefined' && ex.code == 1);
+ }
+ assertTrue("HTMLTableSectionElement29",success);
+ }
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement29();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement29.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement29.xhtml
new file mode 100644
index 0000000..baa74ee
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement29.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement29.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement30-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement30-expected.txt
new file mode 100644
index 0000000..3c3babc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement30-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement30
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement30.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement30.js
new file mode 100644
index 0000000..792a653
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement30.js
@@ -0,0 +1,130 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement30";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-93995626
+*/
+function HTMLTableSectionElement30() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement30") != null) return;
+ var nodeList;
+ var testNode;
+ var newRow;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("thead");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",1,vrows);
+ newRow = testNode.insertRow(-1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",2,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement30();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement30.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement30.xhtml
new file mode 100644
index 0000000..bcab7c5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement30.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement30.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement31-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement31-expected.txt
new file mode 100644
index 0000000..55a3815
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement31-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement31
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement31.js b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement31.js
new file mode 100644
index 0000000..bee0bba
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement31.js
@@ -0,0 +1,128 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTableSectionElement31";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ 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.
+
+* @author NIST
+* @author Rick Rivello
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-5625626
+*/
+function HTMLTableSectionElement31() {
+ var success;
+ if(checkInitialization(builder, "HTMLTableSectionElement31") != null) return;
+ var nodeList;
+ var testNode;
+ var rowsnodeList;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("tbody");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink1",2,vrows);
+ testNode.deleteRow(-1);
+ rowsnodeList = testNode.rows;
+
+ vrows = rowsnodeList.length;
+
+ assertEquals("rowsLink2",1,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTableSectionElement31();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement31.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement31.xhtml
new file mode 100644
index 0000000..08a18c7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTableSectionElement31.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTableSectionElement31.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement01-expected.txt
new file mode 100644
index 0000000..024d67c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement01.js
new file mode 100644
index 0000000..3aa36de
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement01.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The defaultValue attribute represents the HTML value of the attribute
+ when the type attribute has the value of "Text", "File" or "Password".
+
+ Retrieve the defaultValue attribute of the 2nd TEXTAREA element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36152213
+*/
+function HTMLTextAreaElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vdefaultvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vdefaultvalue = testNode.defaultValue;
+
+ assertEquals("defaultValueLink","TEXTAREA2",vdefaultvalue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement01.xhtml
new file mode 100644
index 0000000..0d51e40
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement01.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement02-expected.txt
new file mode 100644
index 0000000..4dfe30a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement02.js
new file mode 100644
index 0000000..344f451
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement02.js
@@ -0,0 +1,117 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns the FORM element containing this control.
+
+ Retrieve the form attribute from the first TEXTAREA element
+ and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18911464
+*/
+function HTMLTextAreaElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var fNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ fNode = testNode.form;
+
+ vform = fNode.id;
+
+ assertEquals("formLink","form1",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement02.xhtml
new file mode 100644
index 0000000..2a63fb6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement02.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement03-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement03-expected.txt
new file mode 100644
index 0000000..0c9d648
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement03.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement03.js
new file mode 100644
index 0000000..73a0fc8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement03.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The form attribute returns null if control in not within the context of
+ a form.
+
+ Retrieve the second TEXTAREA element and
+ examine its form element.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18911464
+*/
+function HTMLTextAreaElement03() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement03") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vform = testNode.form;
+
+ assertNull("formNullLink",vform);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement03.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement03.xhtml
new file mode 100644
index 0000000..765740c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement03.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement04-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement04-expected.txt
new file mode 100644
index 0000000..3170bbc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement04.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement04.js
new file mode 100644
index 0000000..2027473
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement04.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The accessKey attribute specifies a single character access key to
+ give access to the form control.
+
+ Retrieve the accessKey attribute of the 1st TEXTAREA element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-93102991
+*/
+function HTMLTextAreaElement04() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement04") != null) return;
+ var nodeList;
+ var testNode;
+ var vaccesskey;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vaccesskey = testNode.accessKey;
+
+ assertEquals("accessKeyLink","c",vaccesskey);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement04.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement04.xhtml
new file mode 100644
index 0000000..59a8eca
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement04.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement05-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement05-expected.txt
new file mode 100644
index 0000000..a824462
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement05.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement05.js
new file mode 100644
index 0000000..683509e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement05.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The cols attribute specifies the width of control(in characters).
+
+ Retrieve the cols attribute of the 1st TEXTAREA element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-51387225
+*/
+function HTMLTextAreaElement05() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement05") != null) return;
+ var nodeList;
+ var testNode;
+ var vcols;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vcols = testNode.cols;
+
+ assertEquals("colsLink",20,vcols);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement05.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement05.xhtml
new file mode 100644
index 0000000..668bc6b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement05.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement06-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement06-expected.txt
new file mode 100644
index 0000000..15eb8c4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement06.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement06.js
new file mode 100644
index 0000000..3cde57f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement06.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The disabled attribute specifies the control is unavailable in this
+ context.
+
+ Retrieve the disabled attribute from the 2nd TEXTAREA element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98725443
+*/
+function HTMLTextAreaElement06() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement06") != null) return;
+ var nodeList;
+ var testNode;
+ var vdisabled;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vdisabled = testNode.disabled;
+
+ assertTrue("disabledLink",vdisabled);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement06.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement06.xhtml
new file mode 100644
index 0000000..aa4b376
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement06.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement07-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement07-expected.txt
new file mode 100644
index 0000000..6403c1e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement07.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement07.js
new file mode 100644
index 0000000..6aa2d69
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement07.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The name attribute specifies the form control or object name when
+ submitted with a form.
+
+ Retrieve the name attribute of the 1st TEXTAREA element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70715578
+*/
+function HTMLTextAreaElement07() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement07") != null) return;
+ var nodeList;
+ var testNode;
+ var vname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vname = testNode.name;
+
+ assertEquals("nameLink","text1",vname);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement07.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement07.xhtml
new file mode 100644
index 0000000..648312f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement07.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement08-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement08-expected.txt
new file mode 100644
index 0000000..7b2b53b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement08.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement08.js
new file mode 100644
index 0000000..632d56a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement08.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The readOnly attribute specifies this control is read-only.
+
+ Retrieve the readOnly attribute from the 3rd TEXTAREA element and
+ examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39131423
+*/
+function HTMLTextAreaElement08() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement08") != null) return;
+ var nodeList;
+ var testNode;
+ var vreadonly;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(2);
+ vreadonly = testNode.readOnly;
+
+ assertTrue("readOnlyLink",vreadonly);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement08.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement08.xhtml
new file mode 100644
index 0000000..0e67fd5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement08.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement09-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement09-expected.txt
new file mode 100644
index 0000000..5707e12
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement09.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement09.js
new file mode 100644
index 0000000..186a9a1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement09.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The rows attribute specifies the number of text rowns.
+
+ Retrieve the rows attribute of the 1st TEXTAREA element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46975887
+*/
+function HTMLTextAreaElement09() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement09") != null) return;
+ var nodeList;
+ var testNode;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vrows = testNode.rows;
+
+ assertEquals("rowsLink",7,vrows);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement09.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement09.xhtml
new file mode 100644
index 0000000..e38b676
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement09.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement10-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement10-expected.txt
new file mode 100644
index 0000000..7339e4a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement10.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement10.js
new file mode 100644
index 0000000..a7aa773
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement10.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The tabIndex attribute is an index that represents the element's position
+ in the tabbing order.
+
+ Retrieve the tabIndex attribute of the 1st TEXTAREA element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-60363303
+*/
+function HTMLTextAreaElement10() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement10") != null) return;
+ var nodeList;
+ var testNode;
+ var vtabindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vtabindex = testNode.tabIndex;
+
+ assertEquals("tabIndexLink",5,vtabindex);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement10.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement10.xhtml
new file mode 100644
index 0000000..2fa0916
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement10.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement11-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement11-expected.txt
new file mode 100644
index 0000000..05fecd1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement11.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement11.js
new file mode 100644
index 0000000..f1deee4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement11.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute specifies the type of this form control.
+
+ Retrieve the type attribute of the 1st TEXTAREA element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-24874179
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#HTML-HTMLTextAreaElement-type
+*/
+function HTMLTextAreaElement11() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement11") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","textarea",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement11.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement11.xhtml
new file mode 100644
index 0000000..97c426d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement11.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement12-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement12-expected.txt
new file mode 100644
index 0000000..62956cf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement12.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement12.js
new file mode 100644
index 0000000..a2c3b4b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement12.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The value attribute represents the current contents of the corresponding
+ form control, in an interactive user agent.
+
+ Retrieve the value attribute of the 1st TEXTAREA element and examine
+ its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-70715579
+*/
+function HTMLTextAreaElement12() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement12") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ vvalue = testNode.value;
+
+ assertEquals("valueLink","TEXTAREA1",vvalue);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement12.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement12.xhtml
new file mode 100644
index 0000000..bb8fd65
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement12.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement13-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement13-expected.txt
new file mode 100644
index 0000000..7249a10
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement13.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement13.js
new file mode 100644
index 0000000..bc1ce40
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement13.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Calling HTMLTextAreaElement.blur should surrender input focus.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6750689
+*/
+function HTMLTextAreaElement13() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement13") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ testNode.blur();
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement13.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement13.xhtml
new file mode 100644
index 0000000..a386ccd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement13.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement13.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement14-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement14-expected.txt
new file mode 100644
index 0000000..1e92a49
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement14-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement14
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement14.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement14.js
new file mode 100644
index 0000000..d5eb171
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement14.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement14";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Calling HTMLTextAreaElement.focus should capture input focus.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39055426
+*/
+function HTMLTextAreaElement14() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement14") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ testNode.focus();
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement14();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement14.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement14.xhtml
new file mode 100644
index 0000000..f937158
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement14.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement14.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement15-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement15-expected.txt
new file mode 100644
index 0000000..56ceebe
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement15-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement15
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement15.js b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement15.js
new file mode 100644
index 0000000..669b27d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement15.js
@@ -0,0 +1,107 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTextAreaElement15";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "textarea");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Calling HTMLTextAreaElement.select should select the text area.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48880622
+*/
+function HTMLTextAreaElement15() {
+ var success;
+ if(checkInitialization(builder, "HTMLTextAreaElement15") != null) return;
+ var nodeList;
+ var testNode;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "textarea");
+ nodeList = doc.getElementsByTagName("textarea");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(0);
+ testNode.select();
+
+}
+
+
+
+
+function runTest() {
+ HTMLTextAreaElement15();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement15.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement15.xhtml
new file mode 100644
index 0000000..07dfe20
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTextAreaElement15.xhtml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TEXTAREA</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTextAreaElement15.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form1" action="./files/getData.pl" method="post">
+<p>
+<textarea name="text1" cols="20" rows="7" accesskey="c" tabindex="5">TEXTAREA1</textarea>
+<input type="submit" name="submit1" value="Submit1"/>
+<input type="reset" name="reset1" value="Reset1"/>
+</p>
+</form>
+<p>
+<textarea name="text2" cols="50" rows="2" disabled="disabled">TEXTAREA2</textarea>
+<input type="submit" name="submit2" value="Submit2"/>
+<input type="reset" name="reset2" value="Reset2"/>
+<textarea name="text2" cols="50" rows="2" readonly="readonly">TEXTAREA3</textarea>
+<input type="submit" name="submit3" value="Submit3"/>
+<input type="reset" name="reset3" value="Reset3"/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTitleElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLTitleElement01-expected.txt
new file mode 100644
index 0000000..3bfaaa3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTitleElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTitleElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTitleElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLTitleElement01.js
new file mode 100644
index 0000000..64ce266
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTitleElement01.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLTitleElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "title");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The text attribute is the specified title as a string.
+
+ Retrieve the text attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77500413
+*/
+function HTMLTitleElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLTitleElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vtext;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "title");
+ nodeList = doc.getElementsByTagName("title");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtext = testNode.text;
+
+ assertEquals("textLink","NIST DOM HTML Test - TITLE",vtext);
+
+}
+
+
+
+
+function runTest() {
+ HTMLTitleElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLTitleElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLTitleElement01.xhtml
new file mode 100644
index 0000000..e7d13cc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLTitleElement01.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TITLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLTitleElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<br/>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLUListElement01-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLUListElement01-expected.txt
new file mode 100644
index 0000000..ca154a9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLUListElement01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLUListElement01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLUListElement01.js b/LayoutTests/dom/xhtml/level2/html/HTMLUListElement01.js
new file mode 100644
index 0000000..367d136
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLUListElement01.js
@@ -0,0 +1,114 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLUListElement01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "ulist");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The compact attribute specifies whether to reduce spacing between list
+ items.
+
+ Retrieve the compact attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39864178
+*/
+function HTMLUListElement01() {
+ var success;
+ if(checkInitialization(builder, "HTMLUListElement01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcompact;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "ulist");
+ nodeList = doc.getElementsByTagName("ul");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vcompact = testNode.compact;
+
+ assertTrue("compactLink",vcompact);
+
+}
+
+
+
+
+function runTest() {
+ HTMLUListElement01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLUListElement01.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLUListElement01.xhtml
new file mode 100644
index 0000000..dd559f0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLUListElement01.xhtml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - ULIST</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLUListElement01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<ol>
+<li>EMP0001
+<ul compact="compact" type="disc">
+<li>Margaret Martin
+<dl>
+<dd>Accountant</dd>
+<dd>56,000</dd>
+<dd>Female</dd>
+<dd>1230 North Ave. Dallas, Texas 98551</dd>
+</dl>
+</li>
+</ul>
+</li>
+<li>EMP0002
+<ul>
+<li>Martha Raynolds
+<dl>
+<dd>Secretary</dd>
+<dd>35,000</dd>
+<dd>Female</dd>
+<dd>1900 Dallas Road. Dallas, Texas 98554</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ol>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLUListElement02-expected.txt b/LayoutTests/dom/xhtml/level2/html/HTMLUListElement02-expected.txt
new file mode 100644
index 0000000..3185861
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLUListElement02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLUListElement02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLUListElement02.js b/LayoutTests/dom/xhtml/level2/html/HTMLUListElement02.js
new file mode 100644
index 0000000..8f43622
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLUListElement02.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLUListElement02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "ulist");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+ The type attribute specifies the bullet style.
+
+ Retrieve the type attribute and examine its value.
+
+* @author NIST
+* @author Mary Brady
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96874670
+*/
+function HTMLUListElement02() {
+ var success;
+ if(checkInitialization(builder, "HTMLUListElement02") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "ulist");
+ nodeList = doc.getElementsByTagName("ul");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","disc",vtype);
+
+}
+
+
+
+
+function runTest() {
+ HTMLUListElement02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/HTMLUListElement02.xhtml b/LayoutTests/dom/xhtml/level2/html/HTMLUListElement02.xhtml
new file mode 100644
index 0000000..25bf676
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/HTMLUListElement02.xhtml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - ULIST</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='HTMLUListElement02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<ol>
+<li>EMP0001
+<ul compact="compact" type="disc">
+<li>Margaret Martin
+<dl>
+<dd>Accountant</dd>
+<dd>56,000</dd>
+<dd>Female</dd>
+<dd>1230 North Ave. Dallas, Texas 98551</dd>
+</dl>
+</li>
+</ul>
+</li>
+<li>EMP0002
+<ul>
+<li>Martha Raynolds
+<dl>
+<dd>Secretary</dd>
+<dd>35,000</dd>
+<dd>Female</dd>
+<dd>1900 Dallas Road. Dallas, Texas 98554</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ol>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor01-expected.txt b/LayoutTests/dom/xhtml/level2/html/anchor01-expected.txt
new file mode 100644
index 0000000..9ce4fab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor01.js b/LayoutTests/dom/xhtml/level2/html/anchor01.js
new file mode 100644
index 0000000..f769787
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor01.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89647724
+*/
+function anchor01() {
+ var success;
+ if(checkInitialization(builder, "anchor01") != null) return;
+ var nodeList;
+ var testNode;
+ var vaccesskey;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vaccesskey = testNode.accessKey;
+
+ assertEquals("accessKeyLink","g",vaccesskey);
+
+}
+
+
+
+
+function runTest() {
+ anchor01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor01.xhtml b/LayoutTests/dom/xhtml/level2/html/anchor01.xhtml
new file mode 100644
index 0000000..86e3349
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor01.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='anchor01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor02-expected.txt b/LayoutTests/dom/xhtml/level2/html/anchor02-expected.txt
new file mode 100644
index 0000000..8aa998d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor02.js b/LayoutTests/dom/xhtml/level2/html/anchor02.js
new file mode 100644
index 0000000..e6020a3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor02.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The character encoding of the linked resource.
+The value of attribute charset of the anchor element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67619266
+*/
+function anchor02() {
+ var success;
+ if(checkInitialization(builder, "anchor02") != null) return;
+ var nodeList;
+ var testNode;
+ var vcharset;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcharset = testNode.charset;
+
+ assertEquals("charsetLink","US-ASCII",vcharset);
+
+}
+
+
+
+
+function runTest() {
+ anchor02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor02.xhtml b/LayoutTests/dom/xhtml/level2/html/anchor02.xhtml
new file mode 100644
index 0000000..4fab3d0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor02.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='anchor02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor03-expected.txt b/LayoutTests/dom/xhtml/level2/html/anchor03-expected.txt
new file mode 100644
index 0000000..cb0e037
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor03.js b/LayoutTests/dom/xhtml/level2/html/anchor03.js
new file mode 100644
index 0000000..ddc9e4d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor03.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92079539
+*/
+function anchor03() {
+ var success;
+ if(checkInitialization(builder, "anchor03") != null) return;
+ var nodeList;
+ var testNode;
+ var vcoords;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcoords = testNode.coords;
+
+ assertEquals("coordsLink","0,0,100,100",vcoords);
+
+}
+
+
+
+
+function runTest() {
+ anchor03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor03.xhtml b/LayoutTests/dom/xhtml/level2/html/anchor03.xhtml
new file mode 100644
index 0000000..0ef0ac1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor03.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='anchor03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor04-expected.txt b/LayoutTests/dom/xhtml/level2/html/anchor04-expected.txt
new file mode 100644
index 0000000..3b01717
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor04.js b/LayoutTests/dom/xhtml/level2/html/anchor04.js
new file mode 100644
index 0000000..ffa595a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor04.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The URI of the linked resource.
+The value of attribute href of the anchor element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88517319
+*/
+function anchor04() {
+ var success;
+ if(checkInitialization(builder, "anchor04") != null) return;
+ var nodeList;
+ var testNode;
+ var vhref;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vhref = testNode.href;
+
+ assertURIEquals("hrefLink",null,null,null,"submit.gif",null,null,null,true,vhref);
+
+}
+
+
+
+
+function runTest() {
+ anchor04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor04.xhtml b/LayoutTests/dom/xhtml/level2/html/anchor04.xhtml
new file mode 100644
index 0000000..73cf754
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor04.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='anchor04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor05-expected.txt b/LayoutTests/dom/xhtml/level2/html/anchor05-expected.txt
new file mode 100644
index 0000000..4d4732a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor05.js b/LayoutTests/dom/xhtml/level2/html/anchor05.js
new file mode 100644
index 0000000..8420c38
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor05.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Advisory content type.
+The value of attribute type of the anchor element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63938221
+*/
+function anchor05() {
+ var success;
+ if(checkInitialization(builder, "anchor05") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","image/gif",vtype);
+
+}
+
+
+
+
+function runTest() {
+ anchor05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor05.xhtml b/LayoutTests/dom/xhtml/level2/html/anchor05.xhtml
new file mode 100644
index 0000000..81f6321
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor05.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='anchor05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor06-expected.txt b/LayoutTests/dom/xhtml/level2/html/anchor06-expected.txt
new file mode 100644
index 0000000..81ee189
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor06.js b/LayoutTests/dom/xhtml/level2/html/anchor06.js
new file mode 100644
index 0000000..ed88076
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor06.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/anchor06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-49899808
+*/
+function anchor06() {
+ var success;
+ if(checkInitialization(builder, "anchor06") != null) return;
+ var nodeList;
+ var testNode;
+ var vshape;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ nodeList = doc.getElementsByTagName("a");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vshape = testNode.shape;
+
+ assertEquals("shapeLink","rect",vshape);
+
+}
+
+
+
+
+function runTest() {
+ anchor06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/anchor06.xhtml b/LayoutTests/dom/xhtml/level2/html/anchor06.xhtml
new file mode 100644
index 0000000..01db3a9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/anchor06.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='anchor06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/applets/DOMTSApplet.dat b/LayoutTests/dom/xhtml/level2/html/applets/DOMTSApplet.dat
new file mode 100644
index 0000000..4f2164b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/applets/DOMTSApplet.dat
Binary files differ
diff --git a/LayoutTests/dom/xhtml/level2/html/applets/org/w3c/domts/DOMTSApplet.class b/LayoutTests/dom/xhtml/level2/html/applets/org/w3c/domts/DOMTSApplet.class
new file mode 100644
index 0000000..1793309
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/applets/org/w3c/domts/DOMTSApplet.class
Binary files differ
diff --git a/LayoutTests/dom/xhtml/level2/html/area01-expected.txt b/LayoutTests/dom/xhtml/level2/html/area01-expected.txt
new file mode 100644
index 0000000..990593a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/area01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/area01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/area01.js b/LayoutTests/dom/xhtml/level2/html/area01.js
new file mode 100644
index 0000000..2618e37
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/area01.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/area01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "area");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-66021476
+*/
+function area01() {
+ var success;
+ if(checkInitialization(builder, "area01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcoords;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "area");
+ nodeList = doc.getElementsByTagName("area");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcoords = testNode.coords;
+
+ assertEquals("coordsLink","0,2,45,45",vcoords);
+
+}
+
+
+
+
+function runTest() {
+ area01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/area01.xhtml b/LayoutTests/dom/xhtml/level2/html/area01.xhtml
new file mode 100644
index 0000000..c576eed
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/area01.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Area</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='area01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/>
+</map>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/area02-expected.txt b/LayoutTests/dom/xhtml/level2/html/area02-expected.txt
new file mode 100644
index 0000000..4c79fb7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/area02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/area02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/area02.js b/LayoutTests/dom/xhtml/level2/html/area02.js
new file mode 100644
index 0000000..cc9423d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/area02.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/area02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "area");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-61826871
+*/
+function area02() {
+ var success;
+ if(checkInitialization(builder, "area02") != null) return;
+ var nodeList;
+ var testNode;
+ var vnohref;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "area");
+ nodeList = doc.getElementsByTagName("area");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vnohref = testNode.noHref;
+
+ assertFalse("noHrefLink",vnohref);
+
+}
+
+
+
+
+function runTest() {
+ area02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/area02.xhtml b/LayoutTests/dom/xhtml/level2/html/area02.xhtml
new file mode 100644
index 0000000..74b5660
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/area02.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Area</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='area02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/>
+</map>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/area03-expected.txt b/LayoutTests/dom/xhtml/level2/html/area03-expected.txt
new file mode 100644
index 0000000..2b75918
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/area03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/area03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/area03.js b/LayoutTests/dom/xhtml/level2/html/area03.js
new file mode 100644
index 0000000..50ba760
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/area03.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/area03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "area");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-8722121
+*/
+function area03() {
+ var success;
+ if(checkInitialization(builder, "area03") != null) return;
+ var nodeList;
+ var testNode;
+ var vtabindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "area");
+ nodeList = doc.getElementsByTagName("area");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vtabindex = testNode.tabIndex;
+
+ assertEquals("tabIndexLink",10,vtabindex);
+
+}
+
+
+
+
+function runTest() {
+ area03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/area03.xhtml b/LayoutTests/dom/xhtml/level2/html/area03.xhtml
new file mode 100644
index 0000000..a36144b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/area03.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Area</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='area03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/>
+</map>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/area04-expected.txt b/LayoutTests/dom/xhtml/level2/html/area04-expected.txt
new file mode 100644
index 0000000..2b1149a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/area04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/area04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/area04.js b/LayoutTests/dom/xhtml/level2/html/area04.js
new file mode 100644
index 0000000..94b29d2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/area04.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/area04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "area");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-57944457
+*/
+function area04() {
+ var success;
+ if(checkInitialization(builder, "area04") != null) return;
+ var nodeList;
+ var testNode;
+ var vaccesskey;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "area");
+ nodeList = doc.getElementsByTagName("area");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vaccesskey = testNode.accessKey;
+
+ assertEquals("accessKeyLink","a",vaccesskey);
+
+}
+
+
+
+
+function runTest() {
+ area04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/area04.xhtml b/LayoutTests/dom/xhtml/level2/html/area04.xhtml
new file mode 100644
index 0000000..c6a3606
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/area04.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Area</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='area04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<map name="mapid" id="mapid">
+<area tabindex="10" accesskey="a" shape="rect" alt="Domain" coords="0,2,45,45" href="./files/dletter.html" title="Domain"/>
+</map>
+</p>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/basefont01-expected.txt b/LayoutTests/dom/xhtml/level2/html/basefont01-expected.txt
new file mode 100644
index 0000000..0f7c71e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/basefont01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/basefont01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/basefont01.js b/LayoutTests/dom/xhtml/level2/html/basefont01.js
new file mode 100644
index 0000000..5510753
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/basefont01.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/basefont01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "basefont");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The value of attribute color of the basefont element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-87502302
+*/
+function basefont01() {
+ var success;
+ if(checkInitialization(builder, "basefont01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcolor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "basefont");
+ nodeList = doc.getElementsByTagName("basefont");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcolor = testNode.color;
+
+ assertEquals("colorLink","#000000",vcolor);
+
+}
+
+
+
+
+function runTest() {
+ basefont01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/basefont01.xhtml b/LayoutTests/dom/xhtml/level2/html/basefont01.xhtml
new file mode 100644
index 0000000..6789ab7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/basefont01.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - BaseFont</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='basefont01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<basefont color="#000000" face="arial,helvitica" size="4"/>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/body01-expected.txt b/LayoutTests/dom/xhtml/level2/html/body01-expected.txt
new file mode 100644
index 0000000..45fd3c5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/body01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/body01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/body01.js b/LayoutTests/dom/xhtml/level2/html/body01.js
new file mode 100644
index 0000000..18f23d7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/body01.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/body01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "body");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Color of active links (after mouse-button down, but before mouse-button up).
+The value of attribute alink of the body element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59424581
+*/
+function body01() {
+ var success;
+ if(checkInitialization(builder, "body01") != null) return;
+ var nodeList;
+ var testNode;
+ var valink;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "body");
+ nodeList = doc.getElementsByTagName("body");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valink = testNode.aLink;
+
+ assertEquals("aLinkLink","#0000ff",valink);
+
+}
+
+
+
+
+function runTest() {
+ body01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/body01.xhtml b/LayoutTests/dom/xhtml/level2/html/body01.xhtml
new file mode 100644
index 0000000..965ceb3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/body01.xhtml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<!--
+ WebKit modification: 12-February-2006
+
+ Remove <base> element, because we want to run this test locally. I think this might be
+ a bug in the test suite.
+
+ Filed as http://www.w3.org/Bugs/Public/show_bug.cgi?id=2873
+
+ <base href="http://xw2k.sdct.itl.nist.gov/brady/dom/"/>
+-->
+<title>NIST DOM HTML Test - Body</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='body01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()" alink="#0000ff" background="./pix/back1.gif" bgcolor="#ffff00" link="#ff0000" text="#000000" vlink="#00ffff">
+<p>Hello, World.</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/button01-expected.txt b/LayoutTests/dom/xhtml/level2/html/button01-expected.txt
new file mode 100644
index 0000000..5d276b3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/button01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/button01.js b/LayoutTests/dom/xhtml/level2/html/button01.js
new file mode 100644
index 0000000..41de8a5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button01.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/button01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Returns the FORM element containing this control. Returns null if this control is not within the context of a form.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493
+*/
+function button01() {
+ var success;
+ if(checkInitialization(builder, "button01") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vform = testNode.form;
+
+ assertNull("formLink",vform);
+
+}
+
+
+
+
+function runTest() {
+ button01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/button01.xhtml b/LayoutTests/dom/xhtml/level2/html/button01.xhtml
new file mode 100644
index 0000000..10ed4ed
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button01.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='button01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/button02-expected.txt b/LayoutTests/dom/xhtml/level2/html/button02-expected.txt
new file mode 100644
index 0000000..c474aab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/button02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/button02.js b/LayoutTests/dom/xhtml/level2/html/button02.js
new file mode 100644
index 0000000..0fe0f31
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/button02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The value of attribute name of the form element which contains this button is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-63534901
+*/
+function button02() {
+ var success;
+ if(checkInitialization(builder, "button02") != null) return;
+ var nodeList;
+ var testNode;
+ var formNode;
+ var vfname;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ formNode = testNode.form;
+
+ vfname = formNode.id;
+
+ assertEquals("formLink","form2",vfname);
+
+}
+
+
+
+
+function runTest() {
+ button02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/button02.xhtml b/LayoutTests/dom/xhtml/level2/html/button02.xhtml
new file mode 100644
index 0000000..c0c7598
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button02.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='button02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/button03-expected.txt b/LayoutTests/dom/xhtml/level2/html/button03-expected.txt
new file mode 100644
index 0000000..403aab0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/button03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/button03.js b/LayoutTests/dom/xhtml/level2/html/button03.js
new file mode 100644
index 0000000..1a4ac91
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button03.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/button03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The value of attribute action of the form element which contains this button is read and checked against the expected value
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74049184
+*/
+function button03() {
+ var success;
+ if(checkInitialization(builder, "button03") != null) return;
+ var nodeList;
+ var testNode;
+ var formNode;
+ var vfaction;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ formNode = testNode.form;
+
+ vfaction = formNode.action;
+
+ assertEquals("formLink","...",vfaction);
+
+}
+
+
+
+
+function runTest() {
+ button03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/button03.xhtml b/LayoutTests/dom/xhtml/level2/html/button03.xhtml
new file mode 100644
index 0000000..f2e8486
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button03.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='button03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/button04-expected.txt b/LayoutTests/dom/xhtml/level2/html/button04-expected.txt
new file mode 100644
index 0000000..ea268f4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/button04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/button04.js b/LayoutTests/dom/xhtml/level2/html/button04.js
new file mode 100644
index 0000000..147f1b2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button04.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/button04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The value of attribute method of the form element which contains this button is read and checked against the expected value
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-71254493
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82545539
+*/
+function button04() {
+ var success;
+ if(checkInitialization(builder, "button04") != null) return;
+ var nodeList;
+ var testNode;
+ var formNode;
+ var vfmethod;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ formNode = testNode.form;
+
+ vfmethod = formNode.method;
+
+ assertEquals("formLink","POST".toLowerCase(),vfmethod.toLowerCase());
+
+}
+
+
+
+
+function runTest() {
+ button04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/button04.xhtml b/LayoutTests/dom/xhtml/level2/html/button04.xhtml
new file mode 100644
index 0000000..ffdb7a1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button04.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='button04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/button05-expected.txt b/LayoutTests/dom/xhtml/level2/html/button05-expected.txt
new file mode 100644
index 0000000..5a1c40f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/button05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/button05.js b/LayoutTests/dom/xhtml/level2/html/button05.js
new file mode 100644
index 0000000..4391467
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button05.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/button05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+A single character access key to give access to the form control.
+The value of attribute accessKey of the button element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-73169431
+*/
+function button05() {
+ var success;
+ if(checkInitialization(builder, "button05") != null) return;
+ var nodeList;
+ var testNode;
+ var vakey;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vakey = testNode.accessKey;
+
+ assertEquals("accessKeyLink","f".toLowerCase(),vakey.toLowerCase());
+
+}
+
+
+
+
+function runTest() {
+ button05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/button05.xhtml b/LayoutTests/dom/xhtml/level2/html/button05.xhtml
new file mode 100644
index 0000000..a8568ab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button05.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='button05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/button06-expected.txt b/LayoutTests/dom/xhtml/level2/html/button06-expected.txt
new file mode 100644
index 0000000..f34e1f6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/button06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/button06.js b/LayoutTests/dom/xhtml/level2/html/button06.js
new file mode 100644
index 0000000..19707c8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button06.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/button06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Index that represents the element's position in the tabbing order.
+The value of attribute tabIndex of the button element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-39190908
+*/
+function button06() {
+ var success;
+ if(checkInitialization(builder, "button06") != null) return;
+ var nodeList;
+ var testNode;
+ var vtabIndex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtabIndex = testNode.tabIndex;
+
+ assertEquals("tabIndexLink",20,vtabIndex);
+
+}
+
+
+
+
+function runTest() {
+ button06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/button06.xhtml b/LayoutTests/dom/xhtml/level2/html/button06.xhtml
new file mode 100644
index 0000000..e4a6d15
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button06.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='button06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/button07-expected.txt b/LayoutTests/dom/xhtml/level2/html/button07-expected.txt
new file mode 100644
index 0000000..fe47e2a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/button07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/button07.js b/LayoutTests/dom/xhtml/level2/html/button07.js
new file mode 100644
index 0000000..ae7d6c5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button07.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/button07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The type of button
+The value of attribute type of the button element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27430092
+*/
+function button07() {
+ var success;
+ if(checkInitialization(builder, "button07") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","reset",vtype);
+
+}
+
+
+
+
+function runTest() {
+ button07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/button07.xhtml b/LayoutTests/dom/xhtml/level2/html/button07.xhtml
new file mode 100644
index 0000000..00387c9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button07.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='button07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/button08-expected.txt b/LayoutTests/dom/xhtml/level2/html/button08-expected.txt
new file mode 100644
index 0000000..bdbb0b4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/button08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/button08.js b/LayoutTests/dom/xhtml/level2/html/button08.js
new file mode 100644
index 0000000..e5d76de
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button08.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/button08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The control is unavailable in this context.
+The boolean value of attribute disabled of the button element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-92757155
+*/
+function button08() {
+ var success;
+ if(checkInitialization(builder, "button08") != null) return;
+ var nodeList;
+ var testNode;
+ var vdisabled;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vdisabled = testNode.disabled;
+
+ assertTrue("disabledLink",vdisabled);
+
+}
+
+
+
+
+function runTest() {
+ button08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/button08.xhtml b/LayoutTests/dom/xhtml/level2/html/button08.xhtml
new file mode 100644
index 0000000..646f5e7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button08.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='button08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/button09-expected.txt b/LayoutTests/dom/xhtml/level2/html/button09-expected.txt
new file mode 100644
index 0000000..3e12117
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/button09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/button09.js b/LayoutTests/dom/xhtml/level2/html/button09.js
new file mode 100644
index 0000000..c4edb87
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button09.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/button09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "button");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The current form control value.
+The value of attribute value of the button element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-72856782
+*/
+function button09() {
+ var success;
+ if(checkInitialization(builder, "button09") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalue;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "button");
+ nodeList = doc.getElementsByTagName("button");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vvalue = testNode.value;
+
+ assertEquals("typeLink","Reset Disabled Button",vvalue);
+
+}
+
+
+
+
+function runTest() {
+ button09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/button09.xhtml b/LayoutTests/dom/xhtml/level2/html/button09.xhtml
new file mode 100644
index 0000000..5c49b97
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/button09.xhtml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Button</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='button09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<form id="form2" action="..." method="post">
+<p>
+ <button accesskey="f" name="disabledButton" tabindex="20" type="reset" value="Reset Disabled Button" disabled="disabled">Reset</button>
+</p>
+</form>
+<table summary="Extra Button Table">
+<tr>
+<td>
+<button>Extra Button</button>
+</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/dlist01-expected.txt b/LayoutTests/dom/xhtml/level2/html/dlist01-expected.txt
new file mode 100644
index 0000000..eb2828b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/dlist01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/dlist01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/dlist01.js b/LayoutTests/dom/xhtml/level2/html/dlist01.js
new file mode 100644
index 0000000..1e28485
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/dlist01.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/dlist01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "dl");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-21738539
+*/
+function dlist01() {
+ var success;
+ if(checkInitialization(builder, "dlist01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcompact;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "dl");
+ nodeList = doc.getElementsByTagName("dl");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcompact = testNode.compact;
+
+ assertTrue("compactLink",vcompact);
+
+}
+
+
+
+
+function runTest() {
+ dlist01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/dlist01.xhtml b/LayoutTests/dom/xhtml/level2/html/dlist01.xhtml
new file mode 100644
index 0000000..cae7731
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/dlist01.xhtml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - DL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='dlist01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<dl compact="compact">
+<dd>Accountant</dd>
+<dd>56,000</dd>
+<dd>Female</dd>
+<dd>1230 North Ave. Dallas, Texas 98551</dd>
+</dl>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/doc01-expected.txt b/LayoutTests/dom/xhtml/level2/html/doc01-expected.txt
new file mode 100644
index 0000000..1ddc72a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/doc01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/doc01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/doc01.js b/LayoutTests/dom/xhtml/level2/html/doc01.js
new file mode 100644
index 0000000..64b1eed
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/doc01.js
@@ -0,0 +1,106 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/doc01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "anchor");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Retrieve the title attribute of HTMLDocument and examine it's value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18446827
+*/
+function doc01() {
+ var success;
+ if(checkInitialization(builder, "doc01") != null) return;
+ var vtitle;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "anchor");
+ vtitle = doc.title;
+
+ assertEquals("titleLink","NIST DOM HTML Test - Anchor",vtitle);
+
+}
+
+
+
+
+function runTest() {
+ doc01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/doc01.xhtml b/LayoutTests/dom/xhtml/level2/html/doc01.xhtml
new file mode 100644
index 0000000..3db8aef
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/doc01.xhtml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - Anchor</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='doc01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<a id="Anchor" dir="ltr" href="./pix/submit.gif" accesskey="g" type="image/gif" coords="0,0,100,100" shape="rect" rel="GLOSSARY" rev="STYLESHEET" hreflang="en" charset="US-ASCII" tabindex="22" name="Anchor">View Submit Button</a>
+</p>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature01-expected.txt b/LayoutTests/dom/xhtml/level2/html/hasFeature01-expected.txt
new file mode 100644
index 0000000..70d4d4c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/hasFeature01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature01.js b/LayoutTests/dom/xhtml/level2/html/hasFeature01.js
new file mode 100644
index 0000000..e870c7b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature01.js
@@ -0,0 +1,96 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/hasFeature01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ if (docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+hasFeature("hTmL", null) should return true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-core#ID-5CED94D7
+*/
+function hasFeature01() {
+ var success;
+ if(checkInitialization(builder, "hasFeature01") != null) return;
+ var doc;
+ var domImpl;
+ var version = null;
+
+ var state;
+ domImpl = getImplementation();
+state = domImpl.hasFeature("hTmL",version);
+assertTrue("hasHTMLnull",state);
+
+}
+
+
+
+
+function runTest() {
+ hasFeature01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature01.xhtml b/LayoutTests/dom/xhtml/level2/html/hasFeature01.xhtml
new file mode 100644
index 0000000..f2b6fcf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature01.xhtml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<!--
+Copyright(c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>implementation</title>
+ <script type='text/javascript' src='selfxhtml.js'></script>
+ <script type='text/javascript' charset='UTF-8' src='hasFeature01.js'></script>
+ <script type='text/javascript'>function loadComplete() { startTest(); }</script>
+ </head>
+ <body onload="loadComplete()">
+ </body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature02-expected.txt b/LayoutTests/dom/xhtml/level2/html/hasFeature02-expected.txt
new file mode 100644
index 0000000..8203c11
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/hasFeature02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature02.js b/LayoutTests/dom/xhtml/level2/html/hasFeature02.js
new file mode 100644
index 0000000..9cfd7bd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature02.js
@@ -0,0 +1,95 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/hasFeature02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ if (docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+hasFeature("hTmL", "2.0") should return true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-5CED94D7
+*/
+function hasFeature02() {
+ var success;
+ if(checkInitialization(builder, "hasFeature02") != null) return;
+ var doc;
+ var domImpl;
+ var version = "2.0";
+ var state;
+ domImpl = getImplementation();
+state = domImpl.hasFeature("hTmL",version);
+assertTrue("hasHTML2",state);
+
+}
+
+
+
+
+function runTest() {
+ hasFeature02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature02.xhtml b/LayoutTests/dom/xhtml/level2/html/hasFeature02.xhtml
new file mode 100644
index 0000000..36922ff
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature02.xhtml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<!--
+Copyright(c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>implementation</title>
+ <script type='text/javascript' src='selfxhtml.js'></script>
+ <script type='text/javascript' charset='UTF-8' src='hasFeature02.js'></script>
+ <script type='text/javascript'>function loadComplete() { startTest(); }</script>
+ </head>
+ <body onload="loadComplete()">
+ </body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature03-expected.txt b/LayoutTests/dom/xhtml/level2/html/hasFeature03-expected.txt
new file mode 100644
index 0000000..549ec18
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/hasFeature03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature03.js b/LayoutTests/dom/xhtml/level2/html/hasFeature03.js
new file mode 100644
index 0000000..51833a8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature03.js
@@ -0,0 +1,98 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/hasFeature03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ if (docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+hasFeature("xhTmL", null) should return true if hasFeature("XML", null) returns true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-5CED94D7
+*/
+function hasFeature03() {
+ var success;
+ if(checkInitialization(builder, "hasFeature03") != null) return;
+ var doc;
+ var domImpl;
+ var version = null;
+
+ var state;
+ var hasXML;
+ domImpl = getImplementation();
+hasXML = domImpl.hasFeature("XML",version);
+state = domImpl.hasFeature("xhTmL",version);
+assertEquals("hasXHTML",hasXML,state);
+
+}
+
+
+
+
+function runTest() {
+ hasFeature03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature03.xhtml b/LayoutTests/dom/xhtml/level2/html/hasFeature03.xhtml
new file mode 100644
index 0000000..1f3af01
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature03.xhtml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<!--
+Copyright(c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>implementation</title>
+ <script type='text/javascript' src='selfxhtml.js'></script>
+ <script type='text/javascript' charset='UTF-8' src='hasFeature03.js'></script>
+ <script type='text/javascript'>function loadComplete() { startTest(); }</script>
+ </head>
+ <body onload="loadComplete()">
+ </body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature04-expected.txt b/LayoutTests/dom/xhtml/level2/html/hasFeature04-expected.txt
new file mode 100644
index 0000000..54507b2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/hasFeature04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature04.js b/LayoutTests/dom/xhtml/level2/html/hasFeature04.js
new file mode 100644
index 0000000..eff5b4b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature04.js
@@ -0,0 +1,97 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/hasFeature04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ if (docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+hasFeature("xhTmL", "2.0") should return true if hasFeature("XML", "2.0") returns true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-5CED94D7
+*/
+function hasFeature04() {
+ var success;
+ if(checkInitialization(builder, "hasFeature04") != null) return;
+ var doc;
+ var domImpl;
+ var version = "2.0";
+ var state;
+ var hasXML;
+ domImpl = getImplementation();
+hasXML = domImpl.hasFeature("XML",version);
+state = domImpl.hasFeature("xhTmL",version);
+assertEquals("hasXHTML",hasXML,state);
+
+}
+
+
+
+
+function runTest() {
+ hasFeature04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature04.xhtml b/LayoutTests/dom/xhtml/level2/html/hasFeature04.xhtml
new file mode 100644
index 0000000..6cdc1e7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature04.xhtml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<!--
+Copyright(c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>implementation</title>
+ <script type='text/javascript' src='selfxhtml.js'></script>
+ <script type='text/javascript' charset='UTF-8' src='hasFeature04.js'></script>
+ <script type='text/javascript'>function loadComplete() { startTest(); }</script>
+ </head>
+ <body onload="loadComplete()">
+ </body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature05-expected.txt b/LayoutTests/dom/xhtml/level2/html/hasFeature05-expected.txt
new file mode 100644
index 0000000..fca1991
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/hasFeature05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature05.js b/LayoutTests/dom/xhtml/level2/html/hasFeature05.js
new file mode 100644
index 0000000..b6110cc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature05.js
@@ -0,0 +1,96 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/hasFeature05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ if (docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+hasFeature("cOrE", null) should return true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-5CED94D7
+*/
+function hasFeature05() {
+ var success;
+ if(checkInitialization(builder, "hasFeature05") != null) return;
+ var doc;
+ var domImpl;
+ var version = null;
+
+ var state;
+ domImpl = getImplementation();
+state = domImpl.hasFeature("cOrE",version);
+assertTrue("hasCore",state);
+
+}
+
+
+
+
+function runTest() {
+ hasFeature05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature05.xhtml b/LayoutTests/dom/xhtml/level2/html/hasFeature05.xhtml
new file mode 100644
index 0000000..baddbd5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature05.xhtml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<!--
+Copyright(c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>implementation</title>
+ <script type='text/javascript' src='selfxhtml.js'></script>
+ <script type='text/javascript' charset='UTF-8' src='hasFeature05.js'></script>
+ <script type='text/javascript'>function loadComplete() { startTest(); }</script>
+ </head>
+ <body onload="loadComplete()">
+ </body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature06-expected.txt b/LayoutTests/dom/xhtml/level2/html/hasFeature06-expected.txt
new file mode 100644
index 0000000..478a6f5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/hasFeature06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature06.js b/LayoutTests/dom/xhtml/level2/html/hasFeature06.js
new file mode 100644
index 0000000..8981ec7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature06.js
@@ -0,0 +1,95 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/hasFeature06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ if (docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 0) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+hasFeature("cOrE", "2.0") should return true.
+
+* @author Curt Arnold
+* @see http://www.w3.org/TR/DOM-Level-2-Core/core#ID-5CED94D7
+*/
+function hasFeature06() {
+ var success;
+ if(checkInitialization(builder, "hasFeature06") != null) return;
+ var doc;
+ var domImpl;
+ var version = "2.0";
+ var state;
+ domImpl = getImplementation();
+state = domImpl.hasFeature("cOrE",version);
+assertTrue("hasCore",state);
+
+}
+
+
+
+
+function runTest() {
+ hasFeature06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/hasFeature06.xhtml b/LayoutTests/dom/xhtml/level2/html/hasFeature06.xhtml
new file mode 100644
index 0000000..205dde9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/hasFeature06.xhtml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<!--
+Copyright(c) 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+-->
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <title>implementation</title>
+ <script type='text/javascript' src='selfxhtml.js'></script>
+ <script type='text/javascript' charset='UTF-8' src='hasFeature06.js'></script>
+ <script type='text/javascript'>function loadComplete() { startTest(); }</script>
+ </head>
+ <body onload="loadComplete()">
+ </body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/object01-expected.txt b/LayoutTests/dom/xhtml/level2/html/object01-expected.txt
new file mode 100644
index 0000000..8a63ab7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object01.js b/LayoutTests/dom/xhtml/level2/html/object01.js
new file mode 100644
index 0000000..d2889b1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object01.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Returns the FORM element containing this control. Returns null if this control is not within the context of a form.
+The value of attribute form of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-46094773
+*/
+function object01() {
+ var success;
+ if(checkInitialization(builder, "object01") != null) return;
+ var nodeList;
+ var testNode;
+ var vform;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vform = testNode.form;
+
+ assertNull("formLink",vform);
+
+}
+
+
+
+
+function runTest() {
+ object01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object01.xhtml b/LayoutTests/dom/xhtml/level2/html/object01.xhtml
new file mode 100644
index 0000000..424efdd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object01.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object02-expected.txt b/LayoutTests/dom/xhtml/level2/html/object02-expected.txt
new file mode 100644
index 0000000..1276d59
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object02.js b/LayoutTests/dom/xhtml/level2/html/object02.js
new file mode 100644
index 0000000..69433a9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object02.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Aligns this object (vertically or horizontally) with respect to its surrounding text.
+The value of attribute align of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16962097
+*/
+function object02() {
+ var success;
+ if(checkInitialization(builder, "object02") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","middle",valign);
+
+}
+
+
+
+
+function runTest() {
+ object02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object02.xhtml b/LayoutTests/dom/xhtml/level2/html/object02.xhtml
new file mode 100644
index 0000000..d0c786a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object02.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object03-expected.txt b/LayoutTests/dom/xhtml/level2/html/object03-expected.txt
new file mode 100644
index 0000000..dd79b66
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object03.js b/LayoutTests/dom/xhtml/level2/html/object03.js
new file mode 100644
index 0000000..3a2b7dd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object03.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Space-separated list of archives
+The value of attribute archive of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-47783837
+*/
+function object03() {
+ var success;
+ if(checkInitialization(builder, "object03") != null) return;
+ var nodeList;
+ var testNode;
+ var varchive;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ varchive = testNode.archive;
+
+ assertEquals("archiveLink","",varchive);
+
+}
+
+
+
+
+function runTest() {
+ object03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object03.xhtml b/LayoutTests/dom/xhtml/level2/html/object03.xhtml
new file mode 100644
index 0000000..610c1c5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object03.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object04-expected.txt b/LayoutTests/dom/xhtml/level2/html/object04-expected.txt
new file mode 100644
index 0000000..f82f542
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object04.js b/LayoutTests/dom/xhtml/level2/html/object04.js
new file mode 100644
index 0000000..3f274b6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object04.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Width of border around the object.
+The value of attribute border of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-82818419
+*/
+function object04() {
+ var success;
+ if(checkInitialization(builder, "object04") != null) return;
+ var nodeList;
+ var testNode;
+ var vborder;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vborder = testNode.border;
+
+ assertEquals("borderLink","0",vborder);
+
+}
+
+
+
+
+function runTest() {
+ object04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object04.xhtml b/LayoutTests/dom/xhtml/level2/html/object04.xhtml
new file mode 100644
index 0000000..854a80f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object04.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object05-expected.txt b/LayoutTests/dom/xhtml/level2/html/object05-expected.txt
new file mode 100644
index 0000000..bb876cc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object05-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object05
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object05.js b/LayoutTests/dom/xhtml/level2/html/object05.js
new file mode 100644
index 0000000..957cd53
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object05.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object05";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Base URI for classid, data, and archive attributes.
+The value of attribute codebase of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25709136
+*/
+function object05() {
+ var success;
+ if(checkInitialization(builder, "object05") != null) return;
+ var nodeList;
+ var testNode;
+ var vcodebase;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vcodebase = testNode.codeBase;
+
+ assertEquals("codebaseLink","http://xw2k.sdct.itl.nist.gov/brady/dom/",vcodebase);
+
+}
+
+
+
+
+function runTest() {
+ object05();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object05.xhtml b/LayoutTests/dom/xhtml/level2/html/object05.xhtml
new file mode 100644
index 0000000..b8e9780
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object05.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object05.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object06-expected.txt b/LayoutTests/dom/xhtml/level2/html/object06-expected.txt
new file mode 100644
index 0000000..15a536b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object06.js b/LayoutTests/dom/xhtml/level2/html/object06.js
new file mode 100644
index 0000000..44e0a1e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object06.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+A URI specifying the location of the object's data.
+The value of attribute data of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-81766986
+*/
+function object06() {
+ var success;
+ if(checkInitialization(builder, "object06") != null) return;
+ var nodeList;
+ var testNode;
+ var vdata;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vdata = testNode.data;
+
+ assertEquals("dataLink","./pix/logo.gif",vdata);
+
+}
+
+
+
+
+function runTest() {
+ object06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object07-expected.txt b/LayoutTests/dom/xhtml/level2/html/object07-expected.txt
new file mode 100644
index 0000000..97997d1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object07.js b/LayoutTests/dom/xhtml/level2/html/object07.js
new file mode 100644
index 0000000..0a2b058
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object07.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The value of attribute height of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88925838
+*/
+function object07() {
+ var success;
+ if(checkInitialization(builder, "object07") != null) return;
+ var nodeList;
+ var testNode;
+ var vheight;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vheight = testNode.height;
+
+ assertEquals("heightLink","60",vheight);
+
+}
+
+
+
+
+function runTest() {
+ object07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object07.xhtml b/LayoutTests/dom/xhtml/level2/html/object07.xhtml
new file mode 100644
index 0000000..49a22f7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object07.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object08-expected.txt b/LayoutTests/dom/xhtml/level2/html/object08-expected.txt
new file mode 100644
index 0000000..c37a7d2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object08.js b/LayoutTests/dom/xhtml/level2/html/object08.js
new file mode 100644
index 0000000..0b67ca4
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object08.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Horizontal space to the left and right of this image, applet, or object.
+The value of attribute hspace of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-17085376
+*/
+function object08() {
+ var success;
+ if(checkInitialization(builder, "object08") != null) return;
+ var nodeList;
+ var testNode;
+ var vhspace;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vhspace = testNode.hspace;
+
+ assertEquals("hspaceLink",0,vhspace);
+
+}
+
+
+
+
+function runTest() {
+ object08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object08.xhtml b/LayoutTests/dom/xhtml/level2/html/object08.xhtml
new file mode 100644
index 0000000..f31de01
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object08.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object09-expected.txt b/LayoutTests/dom/xhtml/level2/html/object09-expected.txt
new file mode 100644
index 0000000..12a7d57
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object09.js b/LayoutTests/dom/xhtml/level2/html/object09.js
new file mode 100644
index 0000000..c29a0ac
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object09.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Message to render while loading the object.
+The value of attribute standby of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25039673
+*/
+function object09() {
+ var success;
+ if(checkInitialization(builder, "object09") != null) return;
+ var nodeList;
+ var testNode;
+ var vstandby;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vstandby = testNode.standby;
+
+ assertEquals("standbyLink","Loading Image ...",vstandby);
+
+}
+
+
+
+
+function runTest() {
+ object09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object09.xhtml b/LayoutTests/dom/xhtml/level2/html/object09.xhtml
new file mode 100644
index 0000000..66fac22
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object09.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object10-expected.txt b/LayoutTests/dom/xhtml/level2/html/object10-expected.txt
new file mode 100644
index 0000000..fc6cd9b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object10.js b/LayoutTests/dom/xhtml/level2/html/object10.js
new file mode 100644
index 0000000..8323dd5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object10.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Index that represents the element's position in the tabbing order.
+The value of attribute tabIndex of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27083787
+*/
+function object10() {
+ var success;
+ if(checkInitialization(builder, "object10") != null) return;
+ var nodeList;
+ var testNode;
+ var vtabindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtabindex = testNode.tabIndex;
+
+ assertEquals("tabIndexLink",0,vtabindex);
+
+}
+
+
+
+
+function runTest() {
+ object10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object10.xhtml b/LayoutTests/dom/xhtml/level2/html/object10.xhtml
new file mode 100644
index 0000000..7be42ab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object10.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object11-expected.txt b/LayoutTests/dom/xhtml/level2/html/object11-expected.txt
new file mode 100644
index 0000000..e9ff098
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object11-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object11
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object11.js b/LayoutTests/dom/xhtml/level2/html/object11.js
new file mode 100644
index 0000000..68e9d3e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object11.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object11";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Content type for data downloaded via data attribute.
+The value of attribute type of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-91665621
+*/
+function object11() {
+ var success;
+ if(checkInitialization(builder, "object11") != null) return;
+ var nodeList;
+ var testNode;
+ var vtype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vtype = testNode.type;
+
+ assertEquals("typeLink","image/gif",vtype);
+
+}
+
+
+
+
+function runTest() {
+ object11();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object11.xhtml b/LayoutTests/dom/xhtml/level2/html/object11.xhtml
new file mode 100644
index 0000000..f3ef71d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object11.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object11.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object12-expected.txt b/LayoutTests/dom/xhtml/level2/html/object12-expected.txt
new file mode 100644
index 0000000..c7e95dd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object12.js b/LayoutTests/dom/xhtml/level2/html/object12.js
new file mode 100644
index 0000000..9d49566
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object12.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The value of attribute usemap of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-6649772
+*/
+function object12() {
+ var success;
+ if(checkInitialization(builder, "object12") != null) return;
+ var nodeList;
+ var testNode;
+ var vusemap;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vusemap = testNode.useMap;
+
+ assertEquals("useMapLink","#DivLogo-map",vusemap);
+
+}
+
+
+
+
+function runTest() {
+ object12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object12.xhtml b/LayoutTests/dom/xhtml/level2/html/object12.xhtml
new file mode 100644
index 0000000..47a7309
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object12.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object13-expected.txt b/LayoutTests/dom/xhtml/level2/html/object13-expected.txt
new file mode 100644
index 0000000..e23c0a5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object13-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object13
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object13.js b/LayoutTests/dom/xhtml/level2/html/object13.js
new file mode 100644
index 0000000..ae8cfa8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object13.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object13";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Vertical space above and below this image, applet, or object.
+The value of attribute vspace of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/DOM-Level-2-HTML/html#ID-8682483
+*/
+function object13() {
+ var success;
+ if(checkInitialization(builder, "object13") != null) return;
+ var nodeList;
+ var testNode;
+ var vvspace;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vvspace = testNode.vspace;
+
+ assertEquals("vspaceLink",0,vvspace);
+
+}
+
+
+
+
+function runTest() {
+ object13();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object13.xhtml b/LayoutTests/dom/xhtml/level2/html/object13.xhtml
new file mode 100644
index 0000000..3f373bd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object13.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object13.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object14-expected.txt b/LayoutTests/dom/xhtml/level2/html/object14-expected.txt
new file mode 100644
index 0000000..d6794a1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object14-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object14
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object14.js b/LayoutTests/dom/xhtml/level2/html/object14.js
new file mode 100644
index 0000000..d72551a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object14.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object14";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The value of attribute width of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-38538620
+*/
+function object14() {
+ var success;
+ if(checkInitialization(builder, "object14") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(0);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink","550",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ object14();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object14.xhtml b/LayoutTests/dom/xhtml/level2/html/object14.xhtml
new file mode 100644
index 0000000..c4270e7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object14.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object14.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/object15-expected.txt b/LayoutTests/dom/xhtml/level2/html/object15-expected.txt
new file mode 100644
index 0000000..4cfe931
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object15-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/object15
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/object15.js b/LayoutTests/dom/xhtml/level2/html/object15.js
new file mode 100644
index 0000000..641ee94
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object15.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/object15";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "object");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Content type for data downloaded via classid attribute.
+The value of attribute codetype of the object element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-19945008
+*/
+function object15() {
+ var success;
+ if(checkInitialization(builder, "object15") != null) return;
+ var nodeList;
+ var testNode;
+ var vcodetype;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "object");
+ nodeList = doc.getElementsByTagName("object");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vcodetype = testNode.codeType;
+
+ assertEquals("codeTypeLink","image/gif",vcodetype);
+
+}
+
+
+
+
+function runTest() {
+ object15();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/object15.xhtml b/LayoutTests/dom/xhtml/level2/html/object15.xhtml
new file mode 100644
index 0000000..c88c66c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/object15.xhtml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - OBJECT</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='object15.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<p>
+<object align="middle" archive="" border="0" codebase="http://xw2k.sdct.itl.nist.gov/brady/dom/" data="./pix/logo.gif" height="60" hspace="0" standby="Loading Image ..." tabindex="0" type="image/gif" usemap="#DivLogo-map" vspace="0" width="550"></object>
+</p>
+<form name="OBJECT2" action="./files/getData.pl" method="post">
+<p>
+<object declare="declare" name="OBJECT2" codetype="image/gif"></object>
+</p>
+</form>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/resources/COPYRIGHT.xhtml b/LayoutTests/dom/xhtml/level2/html/resources/COPYRIGHT.xhtml
new file mode 100644
index 0000000..b56e8cc
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/resources/COPYRIGHT.xhtml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "xhtml1-strict.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+ <head>
+ <title>W3C IPR SOFTWARE NOTICE</title>
+ </head>
+ <body>
+ <h1>
+ W3C IPR SOFTWARE NOTICE
+ </h1>
+ <h3>
+ Copyright &#xA9; 2002-2005 <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved.
+ </h3>
+ <p>
+ The DOM Conformance Test Suite for Level 2 html is published under
+ the W3C Software Copyright Notice and License. The software
+ license requires "Notice of any changes or modifications to the
+ W3C files, including the date changes were made." Consequently,
+ modified versions of the DOM ECMAScript or Java tests must
+ document that they do not conform to the DOM Conformance Test
+ Suites; in the case of the Java language binding, the package
+ names can no longer be in the 'org.w3c' package.
+ </p>
+ <p>
+ <b>Note:</b> The original version of the W3C Software Copyright Notice
+ and License could be found at <a
+ href='http://www.w3.org/Consortium/Legal/copyright-software-19980720'>http://www.w3.org/Consortium/Legal/copyright-software-19980720</a>
+ </p>
+ <h3>
+ Copyright &#xA9; 1994-2005 <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved. http://www.w3.org/Consortium/Legal/
+ </h3>
+ <p>
+ This W3C work (including software, documents, or other related items) is
+ being provided by the copyright holders under the following license. By
+ obtaining, using and/or copying this work, you (the licensee) agree that
+ you have read, understood, and will comply with the following terms and
+ conditions:
+ </p>
+ <p>
+ Permission to use, copy, and modify this software and its documentation,
+ with or without modification,&#xA0; for any purpose and without fee or
+ royalty is hereby granted, provided that you include the following on ALL
+ copies of the software and documentation or portions thereof, including
+ modifications, that you make:
+ </p>
+ <ol>
+ <li>
+ The full text of this NOTICE in a location viewable to users of the
+ redistributed or derivative work.
+ </li>
+ <li>
+ Any pre-existing intellectual property disclaimers, notices, or terms
+ and conditions. If none exist, a short notice of the following form
+ (hypertext is preferred, text is permitted) should be used within the
+ body of any redistributed or derivative code: "Copyright &#xA9;
+ [$date-of-software] <a href="http://www.w3.org/">World Wide Web
+ Consortium</a>, (<a href="http://www.lcs.mit.edu/">Massachusetts
+ Institute of Technology</a>, <a href="http://www.inria.fr/">Institut
+ National de Recherche en Informatique et en Automatique</a>, <a
+ href="http://www.keio.ac.jp/">Keio University</a>). All Rights
+ Reserved. http://www.w3.org/Consortium/Legal/"
+ </li>
+ <li>
+ Notice of any changes or modifications to the W3C files, including the
+ date changes were made. (We recommend you provide URIs to the location
+ from which the code is derived.)
+ </li>
+ </ol>
+ <p>
+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT
+ HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS
+ FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR
+ DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS,
+ TRADEMARKS OR OTHER RIGHTS.
+ </p>
+ <p>
+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
+ CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
+ DOCUMENTATION.
+ </p>
+ <p>
+ The name and trademarks of copyright holders may NOT be used in
+ advertising or publicity pertaining to the software without specific,
+ written prior permission. Title to copyright in this software and any
+ associated documentation will at all times remain with copyright
+ holders.
+ </p>
+ </body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/resources/frame.xhtml b/LayoutTests/dom/xhtml/level2/html/resources/frame.xhtml
new file mode 100644
index 0000000..e3e6aec
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/resources/frame.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ "xhtml1-frameset.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - FRAMESET</title>
+</head>
+<frameset cols="20, 80" onload="parent.loadComplete()">
+<frameset rows="100, 200">
+<frame longdesc="about:blank" marginheight="10" marginwidth="5" noresize="noresize" name="Frame1" frameborder="1" scrolling="yes" src="right.png" />
+</frameset>
+<frame src="w3c_main.png" />
+</frameset>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/resources/iframe.xhtml b/LayoutTests/dom/xhtml/level2/html/resources/iframe.xhtml
new file mode 100644
index 0000000..93326c8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/resources/iframe.xhtml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - IFRAME</title>
+</head>
+<body onload="parent.loadComplete()">
+<iframe longdesc="about:blank" marginheight="10" marginwidth="5" width="60" height="50" name="Iframe1" frameborder="1" scrolling="yes" src="right.png" align="top">IFRAME1</iframe>
+</body>
+</html>
diff --git a/LayoutTests/dom/xhtml/level2/html/right.png b/LayoutTests/dom/xhtml/level2/html/right.png
new file mode 100644
index 0000000..41ad0bd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/right.png
Binary files differ
diff --git a/LayoutTests/dom/xhtml/level2/html/selfxhtml.js b/LayoutTests/dom/xhtml/level2/html/selfxhtml.js
new file mode 100644
index 0000000..e7127f7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/selfxhtml.js
@@ -0,0 +1,750 @@
+/*
+Copyright (c) 2001-2005 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C(r) Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+ function assertSize(descr, expected, actual) {
+ var actualSize;
+ assertNotNull(descr, actual);
+ actualSize = actual.length;
+ assertEquals(descr, expected, actualSize);
+ }
+
+ function assertEqualsAutoCase(context, descr, expected, actual) {
+ if (builder.contentType == "text/html") {
+ if(context == "attribute") {
+ assertEquals(descr, expected.toLowerCase(), actual.toLowerCase());
+ } else {
+ assertEquals(descr, expected.toUpperCase(), actual);
+ }
+ } else {
+ assertEquals(descr, expected, actual);
+ }
+ }
+
+
+ function assertEqualsCollectionAutoCase(context, descr, expected, actual) {
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+
+ //
+ // if there length is the same, then every entry in the expected list
+ // must appear once and only once in the actual list
+ var expectedLen = expected.length;
+ var expectedValue;
+ var actualLen = actual.length;
+ var i;
+ var j;
+ var matches;
+ for(i = 0; i < expectedLen; i++) {
+ matches = 0;
+ expectedValue = expected[i];
+ for(j = 0; j < actualLen; j++) {
+ if (builder.contentType == "text/html") {
+ if (context == "attribute") {
+ if (expectedValue.toLowerCase() == actual[j].toLowerCase()) {
+ matches++;
+ }
+ } else {
+ if (expectedValue.toUpperCase() == actual[j]) {
+ matches++;
+ }
+ }
+ } else {
+ if(expectedValue == actual[j]) {
+ matches++;
+ }
+ }
+ }
+ if(matches == 0) {
+ assert(descr + ": No match found for " + expectedValue,false);
+ }
+ if(matches > 1) {
+ assert(descr + ": Multiple matches found for " + expectedValue, false);
+ }
+ }
+ }
+
+ function assertEqualsCollection(descr, expected, actual) {
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ //
+ // if there length is the same, then every entry in the expected list
+ // must appear once and only once in the actual list
+ var expectedLen = expected.length;
+ var expectedValue;
+ var actualLen = actual.length;
+ var i;
+ var j;
+ var matches;
+ for(i = 0; i < expectedLen; i++) {
+ matches = 0;
+ expectedValue = expected[i];
+ for(j = 0; j < actualLen; j++) {
+ if(expectedValue == actual[j]) {
+ matches++;
+ }
+ }
+ if(matches == 0) {
+ assert(descr + ": No match found for " + expectedValue,false);
+ }
+ if(matches > 1) {
+ assert(descr + ": Multiple matches found for " + expectedValue, false);
+ }
+ }
+ }
+
+
+ function assertEqualsListAutoCase(context, descr, expected, actual) {
+ var minLength = expected.length;
+ if (actual.length < minLength) {
+ minLength = actual.length;
+ }
+ //
+ for(var i = 0; i < minLength; i++) {
+ assertEqualsAutoCase(context, descr, expected[i], actual[i]);
+ }
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ }
+
+
+ function assertEqualsList(descr, expected, actual) {
+ var minLength = expected.length;
+ if (actual.length < minLength) {
+ minLength = actual.length;
+ }
+ //
+ for(var i = 0; i < minLength; i++) {
+ if(expected[i] != actual[i]) {
+ assertEquals(descr, expected[i], actual[i]);
+ }
+ }
+ //
+ // if they aren't the same size, they aren't equal
+ assertEquals(descr, expected.length, actual.length);
+ }
+
+ function assertInstanceOf(descr, type, obj) {
+ if(type == "Attr") {
+ assertEquals(descr,2,obj.nodeType);
+ var specd = obj.specified;
+ }
+ }
+
+ function assertSame(descr, expected, actual) {
+ if(expected != actual) {
+ assertEquals(descr, expected.nodeType, actual.nodeType);
+ assertEquals(descr, expected.nodeValue, actual.nodeValue);
+ }
+ }
+
+ function assertURIEquals(assertID, scheme, path, host, file, name, query, fragment, isAbsolute, actual) {
+ //
+ // URI must be non-null
+ assertNotNull(assertID, actual);
+
+ var uri = actual;
+
+ var lastPound = actual.lastIndexOf("#");
+ var actualFragment = "";
+ if(lastPound != -1) {
+ //
+ // substring before pound
+ //
+ uri = actual.substring(0,lastPound);
+ actualFragment = actual.substring(lastPound+1);
+ }
+ if(fragment != null) assertEquals(assertID,fragment, actualFragment);
+
+ var lastQuestion = uri.lastIndexOf("?");
+ var actualQuery = "";
+ if(lastQuestion != -1) {
+ //
+ // substring before pound
+ //
+ uri = actual.substring(0,lastQuestion);
+ actualQuery = actual.substring(lastQuestion+1);
+ }
+ if(query != null) assertEquals(assertID, query, actualQuery);
+
+ var firstColon = uri.indexOf(":");
+ var firstSlash = uri.indexOf("/");
+ var actualPath = uri;
+ var actualScheme = "";
+ if(firstColon != -1 && firstColon < firstSlash) {
+ actualScheme = uri.substring(0,firstColon);
+ actualPath = uri.substring(firstColon + 1);
+ }
+
+ if(scheme != null) {
+ assertEquals(assertID, scheme, actualScheme);
+ }
+
+ if(path != null) {
+ assertEquals(assertID, path, actualPath);
+ }
+
+ if(host != null) {
+ var actualHost = "";
+ if(actualPath.substring(0,2) == "//") {
+ var termSlash = actualPath.substring(2).indexOf("/") + 2;
+ actualHost = actualPath.substring(0,termSlash);
+ }
+ assertEquals(assertID, host, actualHost);
+ }
+
+ if(file != null || name != null) {
+ var actualFile = actualPath;
+ var finalSlash = actualPath.lastIndexOf("/");
+ if(finalSlash != -1) {
+ actualFile = actualPath.substring(finalSlash+1);
+ }
+ if (file != null) {
+ assertEquals(assertID, file, actualFile);
+ }
+ if (name != null) {
+ var actualName = actualFile;
+ var finalDot = actualFile.lastIndexOf(".");
+ if (finalDot != -1) {
+ actualName = actualName.substring(0, finalDot);
+ }
+ assertEquals(assertID, name, actualName);
+ }
+ }
+
+ if(isAbsolute != null) {
+ assertEquals(assertID, isAbsolute, actualPath.substring(0,1) == "/");
+ }
+ }
+
+
+// size() used by assertSize element
+function size(collection)
+{
+ return collection.length;
+}
+
+function same(expected, actual)
+{
+ return expected === actual;
+}
+
+function equalsAutoCase(context, expected, actual) {
+ if (builder.contentType == "text/html") {
+ if (context == "attribute") {
+ return expected.toLowerCase() == actual;
+ }
+ return expected.toUpperCase() == actual;
+ }
+ return expected == actual;
+}
+
+function toLowerArray(src) {
+ var newArray = new Array();
+ var i;
+ for (i = 0; i < src.length; i++) {
+ newArray[i] = src[i].toLowerCase();
+ }
+ return newArray;
+}
+
+function createTempURI(scheme) {
+ if (scheme == "http") {
+ return "http://localhost:8080/webdav/tmp" + Math.floor(Math.random() * 100000) + ".xml";
+ }
+ return "file:///tmp/domts" + Math.floor(Math.random() * 100000) + ".xml";
+}
+
+
+
+function EventMonitor() {
+ this.atEvents = new Array();
+ this.bubbledEvents = new Array();
+ this.capturedEvents = new Array();
+ this.allEvents = new Array();
+}
+
+EventMonitor.prototype.handleEvent = function(evt) {
+ switch(evt.eventPhase) {
+ case 1:
+ monitor.capturedEvents[monitor.capturedEvents.length] = evt;
+ break;
+
+ case 2:
+ monitor.atEvents[monitor.atEvents.length] = evt;
+ break;
+
+ case 3:
+ monitor.bubbledEvents[monitor.bubbledEvents.length] = evt;
+ break;
+ }
+ monitor.allEvents[monitor.allEvents.length] = evt;
+}
+
+function DOMErrorImpl(err) {
+ this.severity = err.severity;
+ this.message = err.message;
+ this.type = err.type;
+ this.relatedException = err.relatedException;
+ this.relatedData = err.relatedData;
+ this.location = err.location;
+}
+
+
+
+function DOMErrorMonitor() {
+ this.allErrors = new Array();
+}
+
+DOMErrorMonitor.prototype.handleError = function(err) {
+ errorMonitor.allErrors[errorMonitor.allErrors.length] = new DOMErrorImpl(err);
+}
+
+DOMErrorMonitor.prototype.assertLowerSeverity = function(id, severity) {
+ var i;
+ for (i = 0; i < this.allErrors.length; i++) {
+ if (this.allErrors[i].severity >= severity) {
+ assertEquals(id, severity - 1, this.allErrors[i].severity);
+ }
+ }
+}
+
+function UserDataNotification(operation, key, data, src, dst) {
+ this.operation = operation;
+ this.key = key;
+ this.data = data;
+ this.src = src;
+ this.dst = dst;
+}
+
+function UserDataMonitor() {
+ this.allNotifications = new Array();
+}
+
+UserDataMonitor.prototype.handle = function(operation, key, data, src, dst) {
+ userDataMonitor.allNotifications[userDataMonitor.allNotifications.length] =
+ new UserDataNotification(operation, key, data, src, dst);
+}
+
+
+
+function HTMLBuilder() {
+ this.contentType = "application/xhtml+xml";
+ this.supportedContentTypes = [ "application/xhtml+xml" ];
+
+ this.supportsAsyncChange = false;
+ this.async = false;
+ this.fixedAttributeNames = [
+ "validating", "expandEntityReferences", "coalescing",
+ "signed", "hasNullString", "ignoringElementContentWhitespace", "namespaceAware", "ignoringComments", "schemaValidating"];
+
+ this.fixedAttributeValues = [false, true, false, true, true , false, true, false, false ];
+ this.configurableAttributeNames = [ ];
+ this.configurableAttributeValues = [ ];
+ this.initializationError = null;
+ this.initializationFatalError = null;
+ this.skipIncompatibleTests = true;
+ this.documentURLs = new Array();
+ this.documentVarnames = new Array();
+}
+
+HTMLBuilder.prototype.hasFeature = function(feature, version) {
+ return document.implementation.hasFeature(feature, version);
+}
+
+HTMLBuilder.prototype.getImplementation = function() {
+ return document.implementation;
+}
+
+HTMLBuilder.prototype.preload = function(frame, varname, url) {
+ var i;
+ this.documentVarnames[this.documentVarnames.length] = varname;
+ this.documentURLs[this.documentURLs.length] = url;
+ if (this.documentURLs.length > 1) {
+ //
+ // if all the urls are not the same
+ //
+ for (i = 1; i < this.documentURLs.length; i++) {
+ if (this.documentURLs[i] != this.documentURLs[0]) {
+ throw "Tests with multiple loads of different documents are not currently supported";
+ }
+ }
+ }
+ return 1;
+}
+
+HTMLBuilder.prototype.cloneNode = function(srcNode, doc) {
+ var clone = null;
+ switch(srcNode.nodeType) {
+ //
+ // element
+ case 1:
+ clone = doc.createElementNS(srcNode.namespaceURI, srcNode.nodeName);
+ var attrs = srcNode.attributes;
+ for(var i = 0; i < attrs.length; i++) {
+ var srcAttr = attrs.item(i);
+ clone.setAttributeNS(srcAttr.namespaceURI, srcAttr.nodeName, srcAttr.nodeValue);
+ }
+ var srcChild = srcNode.firstChild;
+ while(srcChild != null) {
+ var cloneChild = this.cloneNode(srcChild, doc);
+ if (cloneChild != null) {
+ clone.appendChild(cloneChild);
+ }
+ srcChild = srcChild.nextSibling;
+ }
+ break;
+
+ case 3:
+ clone = doc.createTextNode(srcNode.nodeValue);
+ break;
+
+ case 4:
+ clone = doc.createCDATASection(srcNode.nodeValue);
+ break;
+
+ case 5:
+ clone = doc.createEntityReference(srcNode.nodeName);
+ break;
+
+ case 7:
+ clone = doc.createProcessingInstruction(srcNode.target, srcNode.data);
+ break;
+
+ case 8:
+ clone = doc.createComment(srcNode.nodeValue);
+ break;
+ }
+ return clone;
+
+}
+
+
+HTMLBuilder.prototype.load = function(frame, varname, url) {
+ if (this.documentVarnames[0] == varname) {
+ return document;
+ }
+ //
+ //
+ // not a perfect way to do this
+ // Document.cloneNode is implementation dependent but exists in L1
+ // and implemented in IE. The alternative brute force copy
+ // only works in L2 or higher implementations and can't copy
+ // entity and notation definitions, etc.
+ var clone = null;
+ try {
+ clone = document.cloneNode(true);
+ } catch(ex) {
+ }
+ if (clone == null) {
+ clone = document.implementation.createDocument(
+ document.documentElement.namespaceURI,
+ document.documentElement.nodeName,
+ null);
+ //
+ // Work-around since
+ // Safari does not create document element
+ // create document.
+ if (clone.documentElement == null) {
+ clone.appendChild(clone.createElementNS(
+ document.documentElement.namespaceURI,
+ document.documentElement.nodeName));
+ }
+ var attrs = document.documentElement.attributes;
+ for(var i = 0; i < attrs.length; i++) {
+ var srcAttr = attrs.item(i);
+ clone.documentElement.setAttributeNS(
+ srcAttr.namespaceURI, srcAttr.nodeName, srcAttr.nodeValue);
+ }
+
+ var srcNode = document.firstChild;
+ while(srcNode != null && srcNode.nodeType != 1) {
+ if (srcNode.nodeType != 10) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ clone.insertBefore(cloneNode, clone.documentElement);
+ }
+ srcNode = srcNode.nextSibling;
+ }
+ srcNode = document.documentElement.nextSibling;
+ while(srcNode != null) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ clone.appendChild(cloneNode);
+ srcNode = srcNode.nextSibling;
+ }
+ srcNode = document.documentElement.firstChild;
+ while(srcNode != null) {
+ var cloneNode = this.cloneNode(srcNode, clone);
+ if (cloneNode != null) {
+ clone.documentElement.appendChild(cloneNode);
+ }
+ srcNode = srcNode.nextSibling;
+ }
+ }
+ return clone;
+}
+
+HTMLBuilder.prototype.getImplementationAttribute = function(attr) {
+ for (var i = 0; i < this.fixedAttributeNames.length; i++) {
+ if (this.fixedAttributeNames[i] == attr) {
+ return this.fixedAttributeValues[i];
+ }
+ }
+ throw "Unrecognized implementation attribute: " + attr;
+}
+
+
+HTMLBuilder.prototype.setImplementationAttribute = function(attribute, value) {
+ var supported = this.getImplementationAttribute(attribute);
+ if (supported != value) {
+ this.initializationError = "HTML loader does not support " + attribute + "=" + value;
+ }
+}
+
+HTMLBuilder.prototype.canSetImplementationAttribute = function(attribute, value) {
+ var supported = this.getImplementationAttribute(attribute);
+ return (supported == value);
+}
+
+
+
+
+function createConfiguredBuilder() {
+ return new HTMLBuilder();
+}
+
+function catchInitializationError(buildr, ex) {
+ buildr.initializationError = ex;
+ buildr.initializationFatalError = ex;
+}
+
+
+function checkFeature(feature, version)
+{
+ if (!builder.hasFeature(feature, version))
+ {
+ //
+ // don't throw exception so that users can select to ignore the precondition
+ //
+ builder.initializationError = "builder does not support feature " + feature + " version " + version;
+ }
+}
+
+function setResult(resultType, message) {
+ var testName = getTargetURI();
+ document.title = testName + ":" + resultType;
+ var xhtmlNS = "http://www.w3.org/1999/xhtml";
+ var newBody = document.createElementNS(xhtmlNS, "body");
+ var newTable = document.createElementNS(xhtmlNS, "table");
+ newTable.width = "100%";
+ newTable.border = "1";
+ newBody.appendChild(newTable);
+ var testRow = newTable.insertRow(-1);
+ var testDiv1 = testRow.insertCell(-1);
+ testDiv1.appendChild(document.createTextNode("Test"));
+ var testDiv2 = testRow.insertCell(-1);
+ testDiv2.appendChild(document.createTextNode(testName));
+ var statusRow = newTable.insertRow(-1);
+ var statusDiv1 = statusRow.insertCell(-1);
+ statusDiv1.appendChild(document.createTextNode("Status"));
+ var statusDiv2 = statusRow.insertCell(-1);
+ var style = "color:green";
+ if (resultType == null) {
+ statusDiv2.appendChild(document.createTextNode("Success"));
+ } else {
+ statusDiv2.appendChild(document.createTextNode(resultType));
+ if (resultType == "skip") {
+ style = "color:blue";
+ } else {
+ style = "color:red";
+ }
+ }
+ newTable.setAttributeNS(null, "style", style);
+ if (message != null) {
+ var messageRow = newTable.insertRow(-1);
+ var messageDiv1 = messageRow.insertCell(-1);
+ messageDiv1.appendChild(document.createTextNode("Message"));
+ var messageDiv2 = messageRow.insertCell(-1);
+ messageDiv2.appendChild(document.createTextNode((message instanceof Error) ? ("Line " + message.line + ": " + message.name) : message));
+ }
+ //
+ // WebKit modification: 18-August-2005
+ //
+ // Use document.body instead of the line of code below, since this is wrong for a frameset.
+ //
+ // var oldBody = document.getElementsByTagName("body")[0];
+ var oldBody = document.body;
+
+ oldBody.parentNode.replaceChild(newBody, oldBody);
+ if (parent != window && typeof(parent.setResult) != 'undefined') {
+ parent.setResult(testName, resultType, message);
+ }
+}
+
+function checkInitialization(buildr, testname) {
+ return buildr.initializationError;
+}
+
+function preload(docRef, varname, href) {
+ return builder.preload(docRef, varname, href);
+}
+
+
+function load(docRef, varname, href) {
+ return builder.load(docRef, varname, href);
+}
+
+
+function getImplementationAttribute(attr) {
+ return builder.getImplementationAttribute(attr);
+}
+
+
+function setImplementationAttribute(attribute, value) {
+ builder.setImplementationAttribute(attribute, value);
+}
+
+function createXPathEvaluator(doc) {
+ try {
+ return doc.getFeature("XPath", null);
+ }
+ catch(ex) {
+ }
+ return doc;
+}
+
+
+function getImplementation() {
+ return builder.getImplementation();
+}
+
+function assertEquals(id, expected, actual) {
+ var myActual;
+ if (expected != actual) {
+ myActual = actual;
+ if (actual == null) {
+ myActual = "null";
+ }
+ throw "failure:" + id + ": assertEquals failed, actual " + myActual + ", expected " + expected + ".";
+ }
+}
+
+function assertNull(id, actual) {
+ if (actual != null) {
+ throw "failure:" + id + ": assertNull failed, actual " + actual;
+ }
+}
+
+
+function assertTrue(id, actual) {
+ if (!actual) {
+ throw "failure:" + id + ": assertTrue failed";
+ }
+}
+
+
+function assertFalse(id, actual) {
+ if (actual) {
+ throw "failure:" + id + ": assertTrue failed";
+ }
+}
+
+function assertNotNull(id, actual) {
+ if (actual == null) {
+ throw "failure:" + id + ": assertNotNull failed";
+ }
+}
+
+function fail(id) {
+ throw "failure:" + id + ": fail";
+}
+
+
+
+function getSuffix(contentType) {
+ switch(contentType) {
+ case "text/html":
+ return ".html";
+
+ case "text/xml":
+ return ".xml";
+
+ case "image/svg+xml":
+ return ".svg";
+
+ case "text/mathml":
+ return ".mml";
+ }
+ return ".xhtml";
+}
+
+
+function getResourceURI(name, scheme, contentType) {
+ var base = document.documentURI;
+ if (base == null) {
+ base = "";
+ } else {
+ base = base.substring(0, base.lastIndexOf('/') + 1) + "files/";
+ }
+ return base + name + getSuffix(contentType);
+}
+
+
+
+function startTest() {
+
+//
+// WebKit modification: 18-August-2005
+//
+// Inform the test controller that this test has a text-format result and so should
+// be dumped as text, and also that the dump should not occur automatically.
+//
+if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+}
+//
+// End WebKit modification
+//
+
+ //
+ // invoke test setup
+ //
+ setUpPage();
+ try {
+ runTest();
+ if (builder.initializationError == null) {
+ setResult(null, null);
+ } else {
+ setResult("skip", builder.initializationError);
+ }
+ } catch(ex) {
+ if (typeof(ex.substring) != 'undefined' && ex.substring(0, 8) == "failure:") {
+ setResult("failure", ex.substring(8));
+ } else {
+ setResult("error", ex);
+ }
+ }
+
+//
+// WebKit modification: 18-August-2005
+//
+// Inform the test controller that this test is complete, so it's time to dump.
+//
+ if (window.layoutTestController) {
+ layoutTestController.notifyDone();
+ }
+//
+// End WebKit modification
+//
+
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table01-expected.txt b/LayoutTests/dom/xhtml/level2/html/table01-expected.txt
new file mode 100644
index 0000000..c08898b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table01-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table01
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table01.js b/LayoutTests/dom/xhtml/level2/html/table01.js
new file mode 100644
index 0000000..58426ca
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table01.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table01";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table1");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520
+*/
+function table01() {
+ var success;
+ if(checkInitialization(builder, "table01") != null) return;
+ var nodeList;
+ var testNode;
+ var vcaption;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table1");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vcaption = testNode.caption;
+
+ assertNull("captionLink",vcaption);
+
+}
+
+
+
+
+function runTest() {
+ table01();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table01.xhtml b/LayoutTests/dom/xhtml/level2/html/table01.xhtml
new file mode 100644
index 0000000..7ad2f7a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table01.xhtml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table01.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Empty Table">
+<tr><td>XHTML can't abide empty table</td></tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table02-expected.txt b/LayoutTests/dom/xhtml/level2/html/table02-expected.txt
new file mode 100644
index 0000000..a9ae223
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table02-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table02
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table02.js b/LayoutTests/dom/xhtml/level2/html/table02.js
new file mode 100644
index 0000000..508e081
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table02.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table02";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Caption alignment with respect to the table.
+The value of attribute align of the tablecaption element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-14594520
+*/
+function table02() {
+ var success;
+ if(checkInitialization(builder, "table02") != null) return;
+ var nodeList;
+ var testNode;
+ var vcaption;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vcaption = testNode.caption;
+
+ valign = vcaption.align;
+
+ assertEquals("alignLink","top",valign);
+
+}
+
+
+
+
+function runTest() {
+ table02();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table02.xhtml b/LayoutTests/dom/xhtml/level2/html/table02.xhtml
new file mode 100644
index 0000000..347581f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table02.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table02.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table03-expected.txt b/LayoutTests/dom/xhtml/level2/html/table03-expected.txt
new file mode 100644
index 0000000..c5dd846
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table03-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table03
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table03.js b/LayoutTests/dom/xhtml/level2/html/table03.js
new file mode 100644
index 0000000..afd9a6d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table03.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table03";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Alignment character for cells in a column.
+The value of attribute ch of the tablesection element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944
+*/
+function table03() {
+ var success;
+ if(checkInitialization(builder, "table03") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vsection = testNode.tHead;
+
+ vch = vsection.ch;
+
+ assertEquals("chLink","*",vch);
+
+}
+
+
+
+
+function runTest() {
+ table03();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table03.xhtml b/LayoutTests/dom/xhtml/level2/html/table03.xhtml
new file mode 100644
index 0000000..19b2729
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table03.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table03.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table04-expected.txt b/LayoutTests/dom/xhtml/level2/html/table04-expected.txt
new file mode 100644
index 0000000..94d4611
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table04-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table04
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table04.js b/LayoutTests/dom/xhtml/level2/html/table04.js
new file mode 100644
index 0000000..ae3d364
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table04.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table04";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Horizontal alignment of data in cells.
+The value of attribute align of the tablesection element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944
+*/
+function table04() {
+ var success;
+ if(checkInitialization(builder, "table04") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vsection = testNode.tHead;
+
+ valign = vsection.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ table04();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table04.xhtml b/LayoutTests/dom/xhtml/level2/html/table04.xhtml
new file mode 100644
index 0000000..e5bb9cb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table04.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table04.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table06-expected.txt b/LayoutTests/dom/xhtml/level2/html/table06-expected.txt
new file mode 100644
index 0000000..af15df7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table06-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table06
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table06.js b/LayoutTests/dom/xhtml/level2/html/table06.js
new file mode 100644
index 0000000..58d692d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table06.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table06";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Vertical alignment of data in cells.
+The value of attribute valign of the tablesection element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097
+*/
+function table06() {
+ var success;
+ if(checkInitialization(builder, "table06") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var vvAlign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vsection = testNode.tFoot;
+
+ vvAlign = vsection.vAlign;
+
+ assertEquals("vAlignLink","middle",vvAlign);
+
+}
+
+
+
+
+function runTest() {
+ table06();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table06.xhtml b/LayoutTests/dom/xhtml/level2/html/table06.xhtml
new file mode 100644
index 0000000..f16b738
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table06.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table06.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table07-expected.txt b/LayoutTests/dom/xhtml/level2/html/table07-expected.txt
new file mode 100644
index 0000000..989d267
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table07-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table07
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table07.js b/LayoutTests/dom/xhtml/level2/html/table07.js
new file mode 100644
index 0000000..6315a7b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table07.js
@@ -0,0 +1,118 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table07";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The collection of rows in this table section.
+The value of attribute rows of the tablesection element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097
+*/
+function table07() {
+ var success;
+ if(checkInitialization(builder, "table07") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var vcollection;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vsection = testNode.tFoot;
+
+ vcollection = vsection.rows;
+
+ vrows = vcollection.length;
+
+ assertEquals("vrowsLink",1,vrows);
+
+}
+
+
+
+
+function runTest() {
+ table07();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table07.xhtml b/LayoutTests/dom/xhtml/level2/html/table07.xhtml
new file mode 100644
index 0000000..7f11672
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table07.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table07.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table08-expected.txt b/LayoutTests/dom/xhtml/level2/html/table08-expected.txt
new file mode 100644
index 0000000..e58ebef
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table08-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table08
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table08.js b/LayoutTests/dom/xhtml/level2/html/table08.js
new file mode 100644
index 0000000..40b3146
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table08.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table08";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Horizontal alignment of data in cells.
+The value of attribute align of the tablesection element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097
+*/
+function table08() {
+ var success;
+ if(checkInitialization(builder, "table08") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vsection = testNode.tFoot;
+
+ valign = vsection.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ table08();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table08.xhtml b/LayoutTests/dom/xhtml/level2/html/table08.xhtml
new file mode 100644
index 0000000..ab292af
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table08.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table08.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table09-expected.txt b/LayoutTests/dom/xhtml/level2/html/table09-expected.txt
new file mode 100644
index 0000000..62a5023
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table09-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table09
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table09.js b/LayoutTests/dom/xhtml/level2/html/table09.js
new file mode 100644
index 0000000..6238f96
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table09.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table09";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Vertical alignment of data in cells.
+The value of attribute valign of the table element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-9530944
+*/
+function table09() {
+ var success;
+ if(checkInitialization(builder, "table09") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var vvalign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vsection = testNode.tHead;
+
+ vvalign = vsection.vAlign;
+
+ assertEquals("alignLink","middle",vvalign);
+
+}
+
+
+
+
+function runTest() {
+ table09();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table09.xhtml b/LayoutTests/dom/xhtml/level2/html/table09.xhtml
new file mode 100644
index 0000000..96edab1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table09.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table09.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table10-expected.txt b/LayoutTests/dom/xhtml/level2/html/table10-expected.txt
new file mode 100644
index 0000000..d09c71c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table10-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table10
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table10.js b/LayoutTests/dom/xhtml/level2/html/table10.js
new file mode 100644
index 0000000..62f708a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table10.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table10";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Alignment character for cells in a column.
+The value of attribute ch of the tablesection element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097
+*/
+function table10() {
+ var success;
+ if(checkInitialization(builder, "table10") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vsection = testNode.tFoot;
+
+ vch = vsection.ch;
+
+ assertEquals("chLink","+",vch);
+
+}
+
+
+
+
+function runTest() {
+ table10();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table10.xhtml b/LayoutTests/dom/xhtml/level2/html/table10.xhtml
new file mode 100644
index 0000000..aa07412
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table10.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table10.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table12-expected.txt b/LayoutTests/dom/xhtml/level2/html/table12-expected.txt
new file mode 100644
index 0000000..6c30683
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table12-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table12
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table12.js b/LayoutTests/dom/xhtml/level2/html/table12.js
new file mode 100644
index 0000000..3c576cb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table12.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table12";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Offset of alignment character.
+The value of attribute choff of the tablesection element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097
+*/
+function table12() {
+ var success;
+ if(checkInitialization(builder, "table12") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var vchoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vsection = testNode.tHead;
+
+ vchoff = vsection.chOff;
+
+ assertEquals("choffLink","1",vchoff);
+
+}
+
+
+
+
+function runTest() {
+ table12();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table12.xhtml b/LayoutTests/dom/xhtml/level2/html/table12.xhtml
new file mode 100644
index 0000000..ab8c92e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table12.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table12.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table15-expected.txt b/LayoutTests/dom/xhtml/level2/html/table15-expected.txt
new file mode 100644
index 0000000..5d10496
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table15-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table15
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table15.js b/LayoutTests/dom/xhtml/level2/html/table15.js
new file mode 100644
index 0000000..c4d752a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table15.js
@@ -0,0 +1,118 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table15";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The collection of rows in this table section.
+The value of attribute rows of the tablesection element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097
+*/
+function table15() {
+ var success;
+ if(checkInitialization(builder, "table15") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var vcollection;
+ var vrows;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vsection = testNode.tHead;
+
+ vcollection = vsection.rows;
+
+ vrows = vcollection.length;
+
+ assertEquals("vrowsLink",1,vrows);
+
+}
+
+
+
+
+function runTest() {
+ table15();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table15.xhtml b/LayoutTests/dom/xhtml/level2/html/table15.xhtml
new file mode 100644
index 0000000..1eeda11
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table15.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table15.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table17-expected.txt b/LayoutTests/dom/xhtml/level2/html/table17-expected.txt
new file mode 100644
index 0000000..90fbd12
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table17-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table17
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table17.js b/LayoutTests/dom/xhtml/level2/html/table17.js
new file mode 100644
index 0000000..945eff0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table17.js
@@ -0,0 +1,115 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table17";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablesection");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Offset of alignment character.
+The value of attribute chOff of the tablesection element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64197097
+*/
+function table17() {
+ var success;
+ if(checkInitialization(builder, "table17") != null) return;
+ var nodeList;
+ var testNode;
+ var vsection;
+ var vchoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablesection");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",2,nodeList);
+testNode = nodeList.item(1);
+ vsection = testNode.tFoot;
+
+ vchoff = vsection.chOff;
+
+ assertEquals("choffLink","2",vchoff);
+
+}
+
+
+
+
+function runTest() {
+ table17();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table17.xhtml b/LayoutTests/dom/xhtml/level2/html/table17.xhtml
new file mode 100644
index 0000000..a7ce08a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table17.xhtml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLESECTION</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table17.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tbody>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</tbody>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle" char="*" charoff="1">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle" char="+" charoff="2">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle" char="$" charoff="3">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table18-expected.txt b/LayoutTests/dom/xhtml/level2/html/table18-expected.txt
new file mode 100644
index 0000000..c12637b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table18-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table18
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table18.js b/LayoutTests/dom/xhtml/level2/html/table18.js
new file mode 100644
index 0000000..e589021
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table18.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table18";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-80748363
+*/
+function table18() {
+ var success;
+ if(checkInitialization(builder, "table18") != null) return;
+ var nodeList;
+ var testNode;
+ var vcindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vcindex = testNode.cellIndex;
+
+ assertEquals("cellIndexLink",1,vcindex);
+
+}
+
+
+
+
+function runTest() {
+ table18();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table18.xhtml b/LayoutTests/dom/xhtml/level2/html/table18.xhtml
new file mode 100644
index 0000000..0ab0691c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table18.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table18.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table19-expected.txt b/LayoutTests/dom/xhtml/level2/html/table19-expected.txt
new file mode 100644
index 0000000..5c04191
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table19-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table19
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table19.js b/LayoutTests/dom/xhtml/level2/html/table19.js
new file mode 100644
index 0000000..eb99625
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table19.js
@@ -0,0 +1,113 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table19";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74444037
+*/
+function table19() {
+ var success;
+ if(checkInitialization(builder, "table19") != null) return;
+ var nodeList;
+ var testNode;
+ var vabbr;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vabbr = testNode.abbr;
+
+ assertEquals("abbrLink","hd2",vabbr);
+
+}
+
+
+
+
+function runTest() {
+ table19();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table19.xhtml b/LayoutTests/dom/xhtml/level2/html/table19.xhtml
new file mode 100644
index 0000000..571349f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table19.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table19.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table20-expected.txt b/LayoutTests/dom/xhtml/level2/html/table20-expected.txt
new file mode 100644
index 0000000..6a87bfb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table20-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table20
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table20.js b/LayoutTests/dom/xhtml/level2/html/table20.js
new file mode 100644
index 0000000..bd59d68
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table20.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table20";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Names group of related headers.
+The value of attribute axis of the tablecell element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-76554418
+*/
+function table20() {
+ var success;
+ if(checkInitialization(builder, "table20") != null) return;
+ var nodeList;
+ var testNode;
+ var vaxis;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vaxis = testNode.axis;
+
+ assertEquals("axisLink","center",vaxis);
+
+}
+
+
+
+
+function runTest() {
+ table20();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table20.xhtml b/LayoutTests/dom/xhtml/level2/html/table20.xhtml
new file mode 100644
index 0000000..b706265
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table20.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table20.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table21-expected.txt b/LayoutTests/dom/xhtml/level2/html/table21-expected.txt
new file mode 100644
index 0000000..fc3d042
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table21-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table21
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table21.js b/LayoutTests/dom/xhtml/level2/html/table21.js
new file mode 100644
index 0000000..edb7c32
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table21.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table21";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Horizontal alignment of data in cell.
+The value of attribute align of the tablecell element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-98433879
+*/
+function table21() {
+ var success;
+ if(checkInitialization(builder, "table21") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ table21();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table21.xhtml b/LayoutTests/dom/xhtml/level2/html/table21.xhtml
new file mode 100644
index 0000000..a5099e3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table21.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table21.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table22-expected.txt b/LayoutTests/dom/xhtml/level2/html/table22-expected.txt
new file mode 100644
index 0000000..b6d7082
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table22-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table22
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table22.js b/LayoutTests/dom/xhtml/level2/html/table22.js
new file mode 100644
index 0000000..d4cc8e6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table22.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table22";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Cell background color.
+The value of attribute bgColor of the tablecell element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-88135431
+*/
+function table22() {
+ var success;
+ if(checkInitialization(builder, "table22") != null) return;
+ var nodeList;
+ var testNode;
+ var vbgcolor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vbgcolor = testNode.bgColor;
+
+ assertEquals("bgcolorLink","#FF0000".toLowerCase(),vbgcolor.toLowerCase());
+
+}
+
+
+
+
+function runTest() {
+ table22();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table22.xhtml b/LayoutTests/dom/xhtml/level2/html/table22.xhtml
new file mode 100644
index 0000000..5e20922
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table22.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table22.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table23-expected.txt b/LayoutTests/dom/xhtml/level2/html/table23-expected.txt
new file mode 100644
index 0000000..d7f4fe3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table23-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table23
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table23.js b/LayoutTests/dom/xhtml/level2/html/table23.js
new file mode 100644
index 0000000..dc6c9c1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table23.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table23";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Alignment character for cells in a column.
+The value of attribute char of the tablecell element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-30914780
+*/
+function table23() {
+ var success;
+ if(checkInitialization(builder, "table23") != null) return;
+ var nodeList;
+ var testNode;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vch = testNode.ch;
+
+ assertEquals("chLink",":",vch);
+
+}
+
+
+
+
+function runTest() {
+ table23();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table23.xhtml b/LayoutTests/dom/xhtml/level2/html/table23.xhtml
new file mode 100644
index 0000000..c600e82
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table23.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table23.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table24-expected.txt b/LayoutTests/dom/xhtml/level2/html/table24-expected.txt
new file mode 100644
index 0000000..29cae4d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table24-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table24
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table24.js b/LayoutTests/dom/xhtml/level2/html/table24.js
new file mode 100644
index 0000000..2ebdef7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table24.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table24";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+offset of alignment character.
+The value of attribute chOff of the tablecell element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-20144310
+*/
+function table24() {
+ var success;
+ if(checkInitialization(builder, "table24") != null) return;
+ var nodeList;
+ var testNode;
+ var vchoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vchoff = testNode.chOff;
+
+ assertEquals("chOffLink","1",vchoff);
+
+}
+
+
+
+
+function runTest() {
+ table24();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table24.xhtml b/LayoutTests/dom/xhtml/level2/html/table24.xhtml
new file mode 100644
index 0000000..8c3be2f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table24.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table24.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table25-expected.txt b/LayoutTests/dom/xhtml/level2/html/table25-expected.txt
new file mode 100644
index 0000000..fc04967
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table25-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table25
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table25.js b/LayoutTests/dom/xhtml/level2/html/table25.js
new file mode 100644
index 0000000..4db307c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table25.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table25";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Number of columns spanned by cell.
+The value of attribute colspan of the tablecell element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-84645244
+*/
+function table25() {
+ var success;
+ if(checkInitialization(builder, "table25") != null) return;
+ var nodeList;
+ var testNode;
+ var vcolspan;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vcolspan = testNode.colSpan;
+
+ assertEquals("colSpanLink",1,vcolspan);
+
+}
+
+
+
+
+function runTest() {
+ table25();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table25.xhtml b/LayoutTests/dom/xhtml/level2/html/table25.xhtml
new file mode 100644
index 0000000..e3694c0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table25.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table25.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table26-expected.txt b/LayoutTests/dom/xhtml/level2/html/table26-expected.txt
new file mode 100644
index 0000000..c5e5e97
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table26-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table26
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table26.js b/LayoutTests/dom/xhtml/level2/html/table26.js
new file mode 100644
index 0000000..489917b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table26.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table26";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+The value of attribute height of the tablecell element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83679212
+*/
+function table26() {
+ var success;
+ if(checkInitialization(builder, "table26") != null) return;
+ var nodeList;
+ var testNode;
+ var vheight;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vheight = testNode.height;
+
+ assertEquals("heightLink","50",vheight);
+
+}
+
+
+
+
+function runTest() {
+ table26();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table26.xhtml b/LayoutTests/dom/xhtml/level2/html/table26.xhtml
new file mode 100644
index 0000000..29554fd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table26.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table26.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table27-expected.txt b/LayoutTests/dom/xhtml/level2/html/table27-expected.txt
new file mode 100644
index 0000000..970d7f8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table27-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table27
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table27.js b/LayoutTests/dom/xhtml/level2/html/table27.js
new file mode 100644
index 0000000..97b5818
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table27.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table27";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Suppress word wrapping.
+The value of attribute nowrap of the tablecell element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-62922045
+*/
+function table27() {
+ var success;
+ if(checkInitialization(builder, "table27") != null) return;
+ var nodeList;
+ var testNode;
+ var vnowrap;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vnowrap = testNode.noWrap;
+
+ assertTrue("nowrapLink",vnowrap);
+
+}
+
+
+
+
+function runTest() {
+ table27();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table27.xhtml b/LayoutTests/dom/xhtml/level2/html/table27.xhtml
new file mode 100644
index 0000000..aa655b5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table27.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table27.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table28-expected.txt b/LayoutTests/dom/xhtml/level2/html/table28-expected.txt
new file mode 100644
index 0000000..49fa2ae
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table28-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table28
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table28.js b/LayoutTests/dom/xhtml/level2/html/table28.js
new file mode 100644
index 0000000..76f8019
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table28.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table28";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Number of rows spanned by cell.
+The value of attribute rowspan of the tablecell element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-48237625
+*/
+function table28() {
+ var success;
+ if(checkInitialization(builder, "table28") != null) return;
+ var nodeList;
+ var testNode;
+ var vrowspan;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vrowspan = testNode.rowSpan;
+
+ assertEquals("rowSpanLink",1,vrowspan);
+
+}
+
+
+
+
+function runTest() {
+ table28();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table28.xhtml b/LayoutTests/dom/xhtml/level2/html/table28.xhtml
new file mode 100644
index 0000000..a6e3671
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table28.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table28.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table29-expected.txt b/LayoutTests/dom/xhtml/level2/html/table29-expected.txt
new file mode 100644
index 0000000..07c8716
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table29-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table29
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table29.js b/LayoutTests/dom/xhtml/level2/html/table29.js
new file mode 100644
index 0000000..4b22796
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table29.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table29";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Scope covered by header cells.
+The value of attribute scope of the tablecell element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-36139952
+*/
+function table29() {
+ var success;
+ if(checkInitialization(builder, "table29") != null) return;
+ var nodeList;
+ var testNode;
+ var vscope;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vscope = testNode.scope;
+
+ assertEquals("scopeLink","col",vscope);
+
+}
+
+
+
+
+function runTest() {
+ table29();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table29.xhtml b/LayoutTests/dom/xhtml/level2/html/table29.xhtml
new file mode 100644
index 0000000..cb60025
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table29.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table29.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table30-expected.txt b/LayoutTests/dom/xhtml/level2/html/table30-expected.txt
new file mode 100644
index 0000000..0675053
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table30-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table30
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table30.js b/LayoutTests/dom/xhtml/level2/html/table30.js
new file mode 100644
index 0000000..1a9fb4c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table30.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table30";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-89104817
+*/
+function table30() {
+ var success;
+ if(checkInitialization(builder, "table30") != null) return;
+ var nodeList;
+ var testNode;
+ var vheaders;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vheaders = testNode.headers;
+
+ assertEquals("headersLink","header-3",vheaders);
+
+}
+
+
+
+
+function runTest() {
+ table30();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table30.xhtml b/LayoutTests/dom/xhtml/level2/html/table30.xhtml
new file mode 100644
index 0000000..3c65bea
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table30.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table30.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table31-expected.txt b/LayoutTests/dom/xhtml/level2/html/table31-expected.txt
new file mode 100644
index 0000000..19f131f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table31-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table31
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table31.js b/LayoutTests/dom/xhtml/level2/html/table31.js
new file mode 100644
index 0000000..8bd96a3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table31.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table31";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Vertical alignment of data in cell.
+The value of attribute valign of the tablecell element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-58284221
+*/
+function table31() {
+ var success;
+ if(checkInitialization(builder, "table31") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vvalign = testNode.vAlign;
+
+ assertEquals("vAlignLink","middle",vvalign);
+
+}
+
+
+
+
+function runTest() {
+ table31();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table31.xhtml b/LayoutTests/dom/xhtml/level2/html/table31.xhtml
new file mode 100644
index 0000000..61d0e24
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table31.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table31.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table32-expected.txt b/LayoutTests/dom/xhtml/level2/html/table32-expected.txt
new file mode 100644
index 0000000..245c463
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table32-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table32
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table32.js b/LayoutTests/dom/xhtml/level2/html/table32.js
new file mode 100644
index 0000000..c24cf6b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table32.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table32";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecell");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+cell width.
+The value of attribute width of the table element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-27480795
+*/
+function table32() {
+ var success;
+ if(checkInitialization(builder, "table32") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecell");
+ nodeList = doc.getElementsByTagName("td");
+ assertSize("Asize",4,nodeList);
+testNode = nodeList.item(1);
+ vwidth = testNode.width;
+
+ assertEquals("vwidthLink","175",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ table32();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table32.xhtml b/LayoutTests/dom/xhtml/level2/html/table32.xhtml
new file mode 100644
index 0000000..f1c9768
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table32.xhtml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECELL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table32.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<tr>
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="hd1" axis="center" align="center" bgcolor="#00FFFF" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="170">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td id="header-3">EMP0001</td>
+<td id="header-4" abbr="hd2" axis="center" align="center" bgcolor="#FF0000" char=":" charoff="1" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-3" valign="middle" width="175">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table33-expected.txt b/LayoutTests/dom/xhtml/level2/html/table33-expected.txt
new file mode 100644
index 0000000..30eea99
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table33-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table33
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table33.js b/LayoutTests/dom/xhtml/level2/html/table33.js
new file mode 100644
index 0000000..0c7ffe0
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table33.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table33";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-23180977
+*/
+function table33() {
+ var success;
+ if(checkInitialization(builder, "table33") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ table33();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table33.xhtml b/LayoutTests/dom/xhtml/level2/html/table33.xhtml
new file mode 100644
index 0000000..f0dc50f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table33.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table33.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table34-expected.txt b/LayoutTests/dom/xhtml/level2/html/table34-expected.txt
new file mode 100644
index 0000000..a7789fb
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table34-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table34
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table34.js b/LayoutTests/dom/xhtml/level2/html/table34.js
new file mode 100644
index 0000000..2843cf1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table34.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table34";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-50969400
+*/
+function table34() {
+ var success;
+ if(checkInitialization(builder, "table34") != null) return;
+ var nodeList;
+ var testNode;
+ var vborder;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vborder = testNode.border;
+
+ assertEquals("borderLink","4",vborder);
+
+}
+
+
+
+
+function runTest() {
+ table34();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table34.xhtml b/LayoutTests/dom/xhtml/level2/html/table34.xhtml
new file mode 100644
index 0000000..687cbc8
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table34.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table34.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table35-expected.txt b/LayoutTests/dom/xhtml/level2/html/table35-expected.txt
new file mode 100644
index 0000000..c562f6f
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table35-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table35
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table35.js b/LayoutTests/dom/xhtml/level2/html/table35.js
new file mode 100644
index 0000000..70ecb58
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table35.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table35";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Cell background color.
+The value of attribute bgcolor of the table element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83532985
+*/
+function table35() {
+ var success;
+ if(checkInitialization(builder, "table35") != null) return;
+ var nodeList;
+ var testNode;
+ var vbgcolor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vbgcolor = testNode.bgColor;
+
+ assertEquals("bgcolorLink","#ff0000",vbgcolor);
+
+}
+
+
+
+
+function runTest() {
+ table35();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table35.xhtml b/LayoutTests/dom/xhtml/level2/html/table35.xhtml
new file mode 100644
index 0000000..f7b5910
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table35.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table35.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table36-expected.txt b/LayoutTests/dom/xhtml/level2/html/table36-expected.txt
new file mode 100644
index 0000000..cecb4c3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table36-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table36
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table36.js b/LayoutTests/dom/xhtml/level2/html/table36.js
new file mode 100644
index 0000000..2cfb59e
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table36.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table36";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Specifies which external table borders to render.
+The value of attribute frame of the table element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-64808476
+*/
+function table36() {
+ var success;
+ if(checkInitialization(builder, "table36") != null) return;
+ var nodeList;
+ var testNode;
+ var vframe;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vframe = testNode.frame;
+
+ assertEquals("frameLink","border",vframe);
+
+}
+
+
+
+
+function runTest() {
+ table36();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table36.xhtml b/LayoutTests/dom/xhtml/level2/html/table36.xhtml
new file mode 100644
index 0000000..bd2805c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table36.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table36.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table37-expected.txt b/LayoutTests/dom/xhtml/level2/html/table37-expected.txt
new file mode 100644
index 0000000..a48a3f7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table37-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table37
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table37.js b/LayoutTests/dom/xhtml/level2/html/table37.js
new file mode 100644
index 0000000..d391ea9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table37.js
@@ -0,0 +1,111 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table37";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-59162158
+*/
+function table37() {
+ var success;
+ if(checkInitialization(builder, "table37") != null) return;
+ var nodeList;
+ var testNode;
+ var vcellpadding;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vcellpadding = testNode.cellPadding;
+
+ assertEquals("cellpaddingLink","2",vcellpadding);
+
+}
+
+
+
+
+function runTest() {
+ table37();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table37.xhtml b/LayoutTests/dom/xhtml/level2/html/table37.xhtml
new file mode 100644
index 0000000..8769523
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table37.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table37.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table38-expected.txt b/LayoutTests/dom/xhtml/level2/html/table38-expected.txt
new file mode 100644
index 0000000..6ab5176
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table38-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table38
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table38.js b/LayoutTests/dom/xhtml/level2/html/table38.js
new file mode 100644
index 0000000..76d019d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table38.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table38";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68907883
+*/
+function table38() {
+ var success;
+ if(checkInitialization(builder, "table38") != null) return;
+ var nodeList;
+ var testNode;
+ var vcellspacing;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vcellspacing = testNode.cellSpacing;
+
+ assertEquals("cellspacingLink","2",vcellspacing);
+
+}
+
+
+
+
+function runTest() {
+ table38();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table38.xhtml b/LayoutTests/dom/xhtml/level2/html/table38.xhtml
new file mode 100644
index 0000000..3a105c5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table38.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table38.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table39-expected.txt b/LayoutTests/dom/xhtml/level2/html/table39-expected.txt
new file mode 100644
index 0000000..4b11443
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table39-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table39
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table39.js b/LayoutTests/dom/xhtml/level2/html/table39.js
new file mode 100644
index 0000000..71254bf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table39.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table39";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-44998528
+*/
+function table39() {
+ var success;
+ if(checkInitialization(builder, "table39") != null) return;
+ var nodeList;
+ var testNode;
+ var vsummary;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vsummary = testNode.summary;
+
+ assertEquals("summaryLink","HTML Control Table",vsummary);
+
+}
+
+
+
+
+function runTest() {
+ table39();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table39.xhtml b/LayoutTests/dom/xhtml/level2/html/table39.xhtml
new file mode 100644
index 0000000..cc4e1cd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table39.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table39.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table40-expected.txt b/LayoutTests/dom/xhtml/level2/html/table40-expected.txt
new file mode 100644
index 0000000..bf48fd9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table40-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table40
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table40.js b/LayoutTests/dom/xhtml/level2/html/table40.js
new file mode 100644
index 0000000..534f6c6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table40.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table40";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Specifies which internal table borders to render.
+The value of attribute rules of the table element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-26347553
+*/
+function table40() {
+ var success;
+ if(checkInitialization(builder, "table40") != null) return;
+ var nodeList;
+ var testNode;
+ var vrules;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vrules = testNode.rules;
+
+ assertEquals("rulesLink","all",vrules);
+
+}
+
+
+
+
+function runTest() {
+ table40();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table40.xhtml b/LayoutTests/dom/xhtml/level2/html/table40.xhtml
new file mode 100644
index 0000000..55a00db
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table40.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table40.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table41-expected.txt b/LayoutTests/dom/xhtml/level2/html/table41-expected.txt
new file mode 100644
index 0000000..b6dc073
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table41-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table41
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table41.js b/LayoutTests/dom/xhtml/level2/html/table41.js
new file mode 100644
index 0000000..ebe8f27
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table41.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table41";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Specifies the desired table width.
+The value of attribute width of the table element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-77447361
+*/
+function table41() {
+ var success;
+ if(checkInitialization(builder, "table41") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("table");
+ assertSize("Asize",3,nodeList);
+testNode = nodeList.item(1);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink","680",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ table41();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table41.xhtml b/LayoutTests/dom/xhtml/level2/html/table41.xhtml
new file mode 100644
index 0000000..fc23e09
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table41.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table41.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table42-expected.txt b/LayoutTests/dom/xhtml/level2/html/table42-expected.txt
new file mode 100644
index 0000000..ab72bf9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table42-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table42
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table42.js b/LayoutTests/dom/xhtml/level2/html/table42.js
new file mode 100644
index 0000000..b5de1ad
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table42.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table42";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257
+*/
+function table42() {
+ var success;
+ if(checkInitialization(builder, "table42") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",8,nodeList);
+testNode = nodeList.item(1);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ table42();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table42.xhtml b/LayoutTests/dom/xhtml/level2/html/table42.xhtml
new file mode 100644
index 0000000..ffa288a
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table42.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table42.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table43-expected.txt b/LayoutTests/dom/xhtml/level2/html/table43-expected.txt
new file mode 100644
index 0000000..4f17166
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table43-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table43
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table43.js b/LayoutTests/dom/xhtml/level2/html/table43.js
new file mode 100644
index 0000000..18ebff5
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table43.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table43";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Background color for rows.
+The value of attribute bgcolor of the tablerow element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-18161327
+*/
+function table43() {
+ var success;
+ if(checkInitialization(builder, "table43") != null) return;
+ var nodeList;
+ var testNode;
+ var vbgcolor;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",8,nodeList);
+testNode = nodeList.item(1);
+ vbgcolor = testNode.bgColor;
+
+ assertEquals("bgcolorLink","#00FFFF".toLowerCase(),vbgcolor.toLowerCase());
+
+}
+
+
+
+
+function runTest() {
+ table43();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table43.xhtml b/LayoutTests/dom/xhtml/level2/html/table43.xhtml
new file mode 100644
index 0000000..9957f65
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table43.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table43.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table44-expected.txt b/LayoutTests/dom/xhtml/level2/html/table44-expected.txt
new file mode 100644
index 0000000..b7c17d3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table44-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table44
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table44.js b/LayoutTests/dom/xhtml/level2/html/table44.js
new file mode 100644
index 0000000..4c8c7f1
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table44.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table44";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "table");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-90000058
+*/
+function table44() {
+ var success;
+ if(checkInitialization(builder, "table44") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "table");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",8,nodeList);
+testNode = nodeList.item(1);
+ vvalign = testNode.vAlign;
+
+ assertEquals("valignLink","middle",vvalign);
+
+}
+
+
+
+
+function runTest() {
+ table44();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table44.xhtml b/LayoutTests/dom/xhtml/level2/html/table44.xhtml
new file mode 100644
index 0000000..996e455
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table44.xhtml
@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table44.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+<table summary="Table 3">
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+<tbody>
+<tr>
+<td>
+</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table45-expected.txt b/LayoutTests/dom/xhtml/level2/html/table45-expected.txt
new file mode 100644
index 0000000..407be0d
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table45-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table45
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table45.js b/LayoutTests/dom/xhtml/level2/html/table45.js
new file mode 100644
index 0000000..c6928ff
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table45.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table45";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Alignment character for cells in a column.
+The value of attribute ch of the tablerow element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502
+*/
+function table45() {
+ var success;
+ if(checkInitialization(builder, "table45") != null) return;
+ var nodeList;
+ var testNode;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(1);
+ vch = testNode.ch;
+
+ assertEquals("vchLink","*",vch);
+
+}
+
+
+
+
+function runTest() {
+ table45();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table45.xhtml b/LayoutTests/dom/xhtml/level2/html/table45.xhtml
new file mode 100644
index 0000000..a2a002b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table45.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table45.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table46-expected.txt b/LayoutTests/dom/xhtml/level2/html/table46-expected.txt
new file mode 100644
index 0000000..1fe4fb2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table46-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table46
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table46.js b/LayoutTests/dom/xhtml/level2/html/table46.js
new file mode 100644
index 0000000..bb17d0c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table46.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table46";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Offset of alignment character.
+The value of attribute choff of the tablerow element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461
+*/
+function table46() {
+ var success;
+ if(checkInitialization(builder, "table46") != null) return;
+ var nodeList;
+ var testNode;
+ var vchoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(1);
+ vchoff = testNode.chOff;
+
+ assertEquals("choffLink","1",vchoff);
+
+}
+
+
+
+
+function runTest() {
+ table46();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table46.xhtml b/LayoutTests/dom/xhtml/level2/html/table46.xhtml
new file mode 100644
index 0000000..e66cfbd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table46.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table46.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table47-expected.txt b/LayoutTests/dom/xhtml/level2/html/table47-expected.txt
new file mode 100644
index 0000000..9a0d344
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table47-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table47
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table47.js b/LayoutTests/dom/xhtml/level2/html/table47.js
new file mode 100644
index 0000000..ff103ab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table47.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table47";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablerow");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-67347567
+*/
+function table47() {
+ var success;
+ if(checkInitialization(builder, "table47") != null) return;
+ var nodeList;
+ var testNode;
+ var vrindex;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablerow");
+ nodeList = doc.getElementsByTagName("tr");
+ assertSize("Asize",5,nodeList);
+testNode = nodeList.item(4);
+ vrindex = testNode.rowIndex;
+
+ assertEquals("rowIndexLink",2,vrindex);
+
+}
+
+
+
+
+function runTest() {
+ table47();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table47.xhtml b/LayoutTests/dom/xhtml/level2/html/table47.xhtml
new file mode 100644
index 0000000..27336ca
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table47.xhtml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLE</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table47.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table align="center" summary="Table 1">
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+</table>
+<table id="table-1" align="center" border="4" bgcolor="#ff0000" frame="border" cellpadding="2" cellspacing="2" summary="HTML Control Table" rules="all" width="680">
+<caption align="top">Table Caption</caption>
+<thead align="center" valign="middle">
+<tr align="center" bgcolor="#00FFFF" valign="middle" char="*" charoff="1">
+<th id="header-1">Employee Id</th>
+<th id="header-2" abbr="maiden" axis="center" align="center" bgcolor="#00FFFF" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-1" valign="middle" width="100">Employee Name</th>
+<th>Position</th>
+<th>Salary</th>
+<th>Gender</th>
+<th>Address</th>
+</tr>
+</thead>
+<tfoot align="center" valign="middle">
+<tr>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+<th>next page ...</th>
+</tr>
+</tfoot>
+<tbody align="center" valign="middle">
+<tr>
+<td axis="center" id="Table-3" abbr="maiden2" align="center" bgcolor="#FF0000" colspan="1" height="50" nowrap="nowrap" rowspan="1" scope="col" headers="header-2" valign="middle" width="175">EMP0001</td>
+<td headers="header-2">Margaret Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+<td>Female</td>
+<td>1230 North Ave. Dallas, Texas 98551</td>
+</tr>
+<tr>
+<td>EMP0002</td>
+<td>Martha Raynolds</td>
+<td>Secretary</td>
+<td>35,000</td>
+<td>Female</td>
+<td>1900 Dallas Road Dallas, Texas 98554</td>
+</tr>
+</tbody>
+</table>
+</body>
+</html>
+
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table48-expected.txt b/LayoutTests/dom/xhtml/level2/html/table48-expected.txt
new file mode 100644
index 0000000..11ac3ab
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table48-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table48
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table48.js b/LayoutTests/dom/xhtml/level2/html/table48.js
new file mode 100644
index 0000000..c04e7f9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table48.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table48";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Horizontal alignment of cell data in column.
+The value of attribute align of the tablecol element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-74098257
+*/
+function table48() {
+ var success;
+ if(checkInitialization(builder, "table48") != null) return;
+ var nodeList;
+ var testNode;
+ var valign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("col");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ valign = testNode.align;
+
+ assertEquals("alignLink","center",valign);
+
+}
+
+
+
+
+function runTest() {
+ table48();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table48.xhtml b/LayoutTests/dom/xhtml/level2/html/table48.xhtml
new file mode 100644
index 0000000..8b00a9c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table48.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table48.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table49-expected.txt b/LayoutTests/dom/xhtml/level2/html/table49-expected.txt
new file mode 100644
index 0000000..a7576db
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table49-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table49
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table49.js b/LayoutTests/dom/xhtml/level2/html/table49.js
new file mode 100644
index 0000000..3bbaedd
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table49.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table49";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Alignment character for cells in a column.
+The value of attribute ch of the tablecol element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-16230502
+*/
+function table49() {
+ var success;
+ if(checkInitialization(builder, "table49") != null) return;
+ var nodeList;
+ var testNode;
+ var vch;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("col");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vch = testNode.ch;
+
+ assertEquals("chLink","*",vch);
+
+}
+
+
+
+
+function runTest() {
+ table49();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table49.xhtml b/LayoutTests/dom/xhtml/level2/html/table49.xhtml
new file mode 100644
index 0000000..6fea515
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table49.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table49.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table50-expected.txt b/LayoutTests/dom/xhtml/level2/html/table50-expected.txt
new file mode 100644
index 0000000..41f461c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table50-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table50
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table50.js b/LayoutTests/dom/xhtml/level2/html/table50.js
new file mode 100644
index 0000000..b8778aa
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table50.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table50";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Offset of alignment character.
+The value of attribute choff of the tablecol element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-68207461
+*/
+function table50() {
+ var success;
+ if(checkInitialization(builder, "table50") != null) return;
+ var nodeList;
+ var testNode;
+ var vchoff;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("col");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vchoff = testNode.chOff;
+
+ assertEquals("chOffLink","20",vchoff);
+
+}
+
+
+
+
+function runTest() {
+ table50();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table50.xhtml b/LayoutTests/dom/xhtml/level2/html/table50.xhtml
new file mode 100644
index 0000000..e67acf7
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table50.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table50.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table51-expected.txt b/LayoutTests/dom/xhtml/level2/html/table51-expected.txt
new file mode 100644
index 0000000..223c2b6
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table51-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table51
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table51.js b/LayoutTests/dom/xhtml/level2/html/table51.js
new file mode 100644
index 0000000..9ee5b48
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table51.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table51";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+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.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-96511335
+*/
+function table51() {
+ var success;
+ if(checkInitialization(builder, "table51") != null) return;
+ var nodeList;
+ var testNode;
+ var vspan;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("col");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vspan = testNode.span;
+
+ assertEquals("spanLink",1,vspan);
+
+}
+
+
+
+
+function runTest() {
+ table51();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table51.xhtml b/LayoutTests/dom/xhtml/level2/html/table51.xhtml
new file mode 100644
index 0000000..a705210
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table51.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table51.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table52-expected.txt b/LayoutTests/dom/xhtml/level2/html/table52-expected.txt
new file mode 100644
index 0000000..c624c72
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table52-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table52
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table52.js b/LayoutTests/dom/xhtml/level2/html/table52.js
new file mode 100644
index 0000000..5776d13
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table52.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table52";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Vertical alignment of cell data in column.
+The value of attribute valign of the tablecol element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-83291710
+*/
+function table52() {
+ var success;
+ if(checkInitialization(builder, "table52") != null) return;
+ var nodeList;
+ var testNode;
+ var vvalign;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("col");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vvalign = testNode.vAlign;
+
+ assertEquals("vAlignLink","middle",vvalign);
+
+}
+
+
+
+
+function runTest() {
+ table52();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table52.xhtml b/LayoutTests/dom/xhtml/level2/html/table52.xhtml
new file mode 100644
index 0000000..00a38db
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table52.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table52.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/table53-expected.txt b/LayoutTests/dom/xhtml/level2/html/table53-expected.txt
new file mode 100644
index 0000000..1a27054
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table53-expected.txt
@@ -0,0 +1,2 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/table53
+Status Success
diff --git a/LayoutTests/dom/xhtml/level2/html/table53.js b/LayoutTests/dom/xhtml/level2/html/table53.js
new file mode 100644
index 0000000..3a4069c
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table53.js
@@ -0,0 +1,112 @@
+
+/*
+Copyright © 2001-2004 World Wide Web Consortium,
+(Massachusetts Institute of Technology, European Research Consortium
+for Informatics and Mathematics, Keio University). All
+Rights Reserved. This work is distributed under the W3C® Software License [1] in the
+hope that it will be useful, but WITHOUT ANY WARRANTY; without even
+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+[1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
+*/
+
+
+
+ /**
+ * Gets URI that identifies the test.
+ * @return uri identifier of test
+ */
+function getTargetURI() {
+ return "http://www.w3.org/2001/DOM-Test-Suite/level2/html/table53";
+ }
+
+var docsLoaded = -1000000;
+var builder = null;
+
+//
+// This function is called by the testing framework before
+// running the test suite.
+//
+// If there are no configuration exceptions, asynchronous
+// document loading is started. Otherwise, the status
+// is set to complete and the exception is immediately
+// raised when entering the body of the test.
+//
+function setUpPage() {
+ setUpPageStatus = 'running';
+ try {
+ //
+ // creates test document builder, may throw exception
+ //
+ builder = createConfiguredBuilder();
+
+ docsLoaded = 0;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ docsLoaded += preload(docRef, "doc", "tablecol");
+
+ if (docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+ } catch(ex) {
+ catchInitializationError(builder, ex);
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+
+//
+// This method is called on the completion of
+// each asychronous load started in setUpTests.
+//
+// When every synchronous loaded document has completed,
+// the page status is changed which allows the
+// body of the test to be executed.
+function loadComplete() {
+ if (++docsLoaded == 1) {
+ setUpPageStatus = 'complete';
+ }
+}
+
+
+/**
+*
+Default column width.
+The value of attribute width of the tablecol element is read and checked against the expected value.
+
+* @author Netscape
+* @author Sivakiran Tummala
+* @see http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html#ID-25196799
+*/
+function table53() {
+ var success;
+ if(checkInitialization(builder, "table53") != null) return;
+ var nodeList;
+ var testNode;
+ var vwidth;
+ var doc;
+
+ var docRef = null;
+ if (typeof(this.doc) != 'undefined') {
+ docRef = this.doc;
+ }
+ doc = load(docRef, "doc", "tablecol");
+ nodeList = doc.getElementsByTagName("col");
+ assertSize("Asize",1,nodeList);
+testNode = nodeList.item(0);
+ vwidth = testNode.width;
+
+ assertEquals("widthLink","20",vwidth);
+
+}
+
+
+
+
+function runTest() {
+ table53();
+}
diff --git a/LayoutTests/dom/xhtml/level2/html/table53.xhtml b/LayoutTests/dom/xhtml/level2/html/table53.xhtml
new file mode 100644
index 0000000..4cd238b
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/table53.xhtml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "xhtml1-transitional.dtd">
+<html xmlns='http://www.w3.org/1999/xhtml'>
+<head>
+<title>NIST DOM HTML Test - TABLECOL</title>
+<script type='text/javascript' src='selfxhtml.js'></script><script charset='UTF-8' type='text/javascript' src='table53.js'></script><script type='text/javascript'>function loadComplete() { startTest(); }</script></head>
+<body onload="loadComplete()">
+<table summary="Table 1">
+<colgroup valign="middle" span="2" align="center" width="20" char="$" charoff="15">
+<col valign="middle" span="1" align="center" width="20" char="*" charoff="20"/>
+</colgroup>
+<tr>
+<th>Id</th>
+<th>Name</th>
+<th>Position</th>
+<th>Salary</th>
+</tr>
+<tr>
+<td>EMP0001</td>
+<td>Martin</td>
+<td>Accountant</td>
+<td>56,000</td>
+</tr>
+</table>
+</body>
+</html>
+
diff --git a/LayoutTests/dom/xhtml/level2/html/w3c_main.png b/LayoutTests/dom/xhtml/level2/html/w3c_main.png
new file mode 100644
index 0000000..ac0ecd3
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/w3c_main.png
Binary files differ
diff --git a/LayoutTests/dom/xhtml/level2/html/xhtml-lat1.ent b/LayoutTests/dom/xhtml/level2/html/xhtml-lat1.ent
new file mode 100644
index 0000000..ffee223
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/xhtml-lat1.ent
@@ -0,0 +1,196 @@
+<!-- Portions (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+-->
+<!-- Character entity set. Typical invocation:
+ <!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
+ %HTMLlat1;
+-->
+
+<!ENTITY nbsp "&#160;"> <!-- no-break space = non-breaking space,
+ U+00A0 ISOnum -->
+<!ENTITY iexcl "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
+<!ENTITY cent "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
+<!ENTITY pound "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
+<!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
+<!ENTITY yen "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
+<!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
+ U+00A6 ISOnum -->
+<!ENTITY sect "&#167;"> <!-- section sign, U+00A7 ISOnum -->
+<!ENTITY uml "&#168;"> <!-- diaeresis = spacing diaeresis,
+ U+00A8 ISOdia -->
+<!ENTITY copy "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
+<!ENTITY ordf "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
+<!ENTITY laquo "&#171;"> <!-- left-pointing double angle quotation mark
+ = left pointing guillemet, U+00AB ISOnum -->
+<!ENTITY not "&#172;"> <!-- not sign = angled dash,
+ U+00AC ISOnum -->
+<!ENTITY shy "&#173;"> <!-- soft hyphen = discretionary hyphen,
+ U+00AD ISOnum -->
+<!ENTITY reg "&#174;"> <!-- registered sign = registered trade mark sign,
+ U+00AE ISOnum -->
+<!ENTITY macr "&#175;"> <!-- macron = spacing macron = overline
+ = APL overbar, U+00AF ISOdia -->
+<!ENTITY deg "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
+<!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
+ U+00B1 ISOnum -->
+<!ENTITY sup2 "&#178;"> <!-- superscript two = superscript digit two
+ = squared, U+00B2 ISOnum -->
+<!ENTITY sup3 "&#179;"> <!-- superscript three = superscript digit three
+ = cubed, U+00B3 ISOnum -->
+<!ENTITY acute "&#180;"> <!-- acute accent = spacing acute,
+ U+00B4 ISOdia -->
+<!ENTITY micro "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
+<!ENTITY para "&#182;"> <!-- pilcrow sign = paragraph sign,
+ U+00B6 ISOnum -->
+<!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
+ = Greek middle dot, U+00B7 ISOnum -->
+<!ENTITY cedil "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
+<!ENTITY sup1 "&#185;"> <!-- superscript one = superscript digit one,
+ U+00B9 ISOnum -->
+<!ENTITY ordm "&#186;"> <!-- masculine ordinal indicator,
+ U+00BA ISOnum -->
+<!ENTITY raquo "&#187;"> <!-- right-pointing double angle quotation mark
+ = right pointing guillemet, U+00BB ISOnum -->
+<!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
+ = fraction one quarter, U+00BC ISOnum -->
+<!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
+ = fraction one half, U+00BD ISOnum -->
+<!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
+ = fraction three quarters, U+00BE ISOnum -->
+<!ENTITY iquest "&#191;"> <!-- inverted question mark
+ = turned question mark, U+00BF ISOnum -->
+<!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
+ = latin capital letter A grave,
+ U+00C0 ISOlat1 -->
+<!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
+ U+00C1 ISOlat1 -->
+<!ENTITY Acirc "&#194;"> <!-- latin capital letter A with circumflex,
+ U+00C2 ISOlat1 -->
+<!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
+ U+00C3 ISOlat1 -->
+<!ENTITY Auml "&#196;"> <!-- latin capital letter A with diaeresis,
+ U+00C4 ISOlat1 -->
+<!ENTITY Aring "&#197;"> <!-- latin capital letter A with ring above
+ = latin capital letter A ring,
+ U+00C5 ISOlat1 -->
+<!ENTITY AElig "&#198;"> <!-- latin capital letter AE
+ = latin capital ligature AE,
+ U+00C6 ISOlat1 -->
+<!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
+ U+00C7 ISOlat1 -->
+<!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
+ U+00C8 ISOlat1 -->
+<!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
+ U+00C9 ISOlat1 -->
+<!ENTITY Ecirc "&#202;"> <!-- latin capital letter E with circumflex,
+ U+00CA ISOlat1 -->
+<!ENTITY Euml "&#203;"> <!-- latin capital letter E with diaeresis,
+ U+00CB ISOlat1 -->
+<!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
+ U+00CC ISOlat1 -->
+<!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
+ U+00CD ISOlat1 -->
+<!ENTITY Icirc "&#206;"> <!-- latin capital letter I with circumflex,
+ U+00CE ISOlat1 -->
+<!ENTITY Iuml "&#207;"> <!-- latin capital letter I with diaeresis,
+ U+00CF ISOlat1 -->
+<!ENTITY ETH "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
+<!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
+ U+00D1 ISOlat1 -->
+<!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
+ U+00D2 ISOlat1 -->
+<!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
+ U+00D3 ISOlat1 -->
+<!ENTITY Ocirc "&#212;"> <!-- latin capital letter O with circumflex,
+ U+00D4 ISOlat1 -->
+<!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
+ U+00D5 ISOlat1 -->
+<!ENTITY Ouml "&#214;"> <!-- latin capital letter O with diaeresis,
+ U+00D6 ISOlat1 -->
+<!ENTITY times "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
+<!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
+ = latin capital letter O slash,
+ U+00D8 ISOlat1 -->
+<!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
+ U+00D9 ISOlat1 -->
+<!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
+ U+00DA ISOlat1 -->
+<!ENTITY Ucirc "&#219;"> <!-- latin capital letter U with circumflex,
+ U+00DB ISOlat1 -->
+<!ENTITY Uuml "&#220;"> <!-- latin capital letter U with diaeresis,
+ U+00DC ISOlat1 -->
+<!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
+ U+00DD ISOlat1 -->
+<!ENTITY THORN "&#222;"> <!-- latin capital letter THORN,
+ U+00DE ISOlat1 -->
+<!ENTITY szlig "&#223;"> <!-- latin small letter sharp s = ess-zed,
+ U+00DF ISOlat1 -->
+<!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
+ = latin small letter a grave,
+ U+00E0 ISOlat1 -->
+<!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
+ U+00E1 ISOlat1 -->
+<!ENTITY acirc "&#226;"> <!-- latin small letter a with circumflex,
+ U+00E2 ISOlat1 -->
+<!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
+ U+00E3 ISOlat1 -->
+<!ENTITY auml "&#228;"> <!-- latin small letter a with diaeresis,
+ U+00E4 ISOlat1 -->
+<!ENTITY aring "&#229;"> <!-- latin small letter a with ring above
+ = latin small letter a ring,
+ U+00E5 ISOlat1 -->
+<!ENTITY aelig "&#230;"> <!-- latin small letter ae
+ = latin small ligature ae, U+00E6 ISOlat1 -->
+<!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
+ U+00E7 ISOlat1 -->
+<!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
+ U+00E8 ISOlat1 -->
+<!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
+ U+00E9 ISOlat1 -->
+<!ENTITY ecirc "&#234;"> <!-- latin small letter e with circumflex,
+ U+00EA ISOlat1 -->
+<!ENTITY euml "&#235;"> <!-- latin small letter e with diaeresis,
+ U+00EB ISOlat1 -->
+<!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
+ U+00EC ISOlat1 -->
+<!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
+ U+00ED ISOlat1 -->
+<!ENTITY icirc "&#238;"> <!-- latin small letter i with circumflex,
+ U+00EE ISOlat1 -->
+<!ENTITY iuml "&#239;"> <!-- latin small letter i with diaeresis,
+ U+00EF ISOlat1 -->
+<!ENTITY eth "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
+<!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
+ U+00F1 ISOlat1 -->
+<!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
+ U+00F2 ISOlat1 -->
+<!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
+ U+00F3 ISOlat1 -->
+<!ENTITY ocirc "&#244;"> <!-- latin small letter o with circumflex,
+ U+00F4 ISOlat1 -->
+<!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
+ U+00F5 ISOlat1 -->
+<!ENTITY ouml "&#246;"> <!-- latin small letter o with diaeresis,
+ U+00F6 ISOlat1 -->
+<!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
+<!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
+ = latin small letter o slash,
+ U+00F8 ISOlat1 -->
+<!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
+ U+00F9 ISOlat1 -->
+<!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
+ U+00FA ISOlat1 -->
+<!ENTITY ucirc "&#251;"> <!-- latin small letter u with circumflex,
+ U+00FB ISOlat1 -->
+<!ENTITY uuml "&#252;"> <!-- latin small letter u with diaeresis,
+ U+00FC ISOlat1 -->
+<!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
+ U+00FD ISOlat1 -->
+<!ENTITY thorn "&#254;"> <!-- latin small letter thorn,
+ U+00FE ISOlat1 -->
+<!ENTITY yuml "&#255;"> <!-- latin small letter y with diaeresis,
+ U+00FF ISOlat1 -->
diff --git a/LayoutTests/dom/xhtml/level2/html/xhtml-special.ent b/LayoutTests/dom/xhtml/level2/html/xhtml-special.ent
new file mode 100644
index 0000000..ca358b2
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/xhtml-special.ent
@@ -0,0 +1,80 @@
+<!-- Special characters for XHTML -->
+
+<!-- Character entity set. Typical invocation:
+ <!ENTITY % HTMLspecial PUBLIC
+ "-//W3C//ENTITIES Special for XHTML//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
+ %HTMLspecial;
+-->
+
+<!-- Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+-->
+
+<!-- Relevant ISO entity set is given unless names are newly introduced.
+ New names (i.e., not in ISO 8879 list) do not clash with any
+ existing ISO 8879 entity names. ISO 10646 character numbers
+ are given for each character, in hex. values are decimal
+ conversions of the ISO 10646 values and refer to the document
+ character set. Names are Unicode names.
+-->
+
+<!-- C0 Controls and Basic Latin -->
+<!ENTITY quot "&#34;"> <!-- quotation mark, U+0022 ISOnum -->
+<!ENTITY amp "&#38;#38;"> <!-- ampersand, U+0026 ISOnum -->
+<!ENTITY lt "&#38;#60;"> <!-- less-than sign, U+003C ISOnum -->
+<!ENTITY gt "&#62;"> <!-- greater-than sign, U+003E ISOnum -->
+<!ENTITY apos "&#39;"> <!-- apostrophe = APL quote, U+0027 ISOnum -->
+
+<!-- Latin Extended-A -->
+<!ENTITY OElig "&#338;"> <!-- latin capital ligature OE,
+ U+0152 ISOlat2 -->
+<!ENTITY oelig "&#339;"> <!-- latin small ligature oe, U+0153 ISOlat2 -->
+<!-- ligature is a misnomer, this is a separate character in some languages -->
+<!ENTITY Scaron "&#352;"> <!-- latin capital letter S with caron,
+ U+0160 ISOlat2 -->
+<!ENTITY scaron "&#353;"> <!-- latin small letter s with caron,
+ U+0161 ISOlat2 -->
+<!ENTITY Yuml "&#376;"> <!-- latin capital letter Y with diaeresis,
+ U+0178 ISOlat2 -->
+
+<!-- Spacing Modifier Letters -->
+<!ENTITY circ "&#710;"> <!-- modifier letter circumflex accent,
+ U+02C6 ISOpub -->
+<!ENTITY tilde "&#732;"> <!-- small tilde, U+02DC ISOdia -->
+
+<!-- General Punctuation -->
+<!ENTITY ensp "&#8194;"> <!-- en space, U+2002 ISOpub -->
+<!ENTITY emsp "&#8195;"> <!-- em space, U+2003 ISOpub -->
+<!ENTITY thinsp "&#8201;"> <!-- thin space, U+2009 ISOpub -->
+<!ENTITY zwnj "&#8204;"> <!-- zero width non-joiner,
+ U+200C NEW RFC 2070 -->
+<!ENTITY zwj "&#8205;"> <!-- zero width joiner, U+200D NEW RFC 2070 -->
+<!ENTITY lrm "&#8206;"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->
+<!ENTITY rlm "&#8207;"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->
+<!ENTITY ndash "&#8211;"> <!-- en dash, U+2013 ISOpub -->
+<!ENTITY mdash "&#8212;"> <!-- em dash, U+2014 ISOpub -->
+<!ENTITY lsquo "&#8216;"> <!-- left single quotation mark,
+ U+2018 ISOnum -->
+<!ENTITY rsquo "&#8217;"> <!-- right single quotation mark,
+ U+2019 ISOnum -->
+<!ENTITY sbquo "&#8218;"> <!-- single low-9 quotation mark, U+201A NEW -->
+<!ENTITY ldquo "&#8220;"> <!-- left double quotation mark,
+ U+201C ISOnum -->
+<!ENTITY rdquo "&#8221;"> <!-- right double quotation mark,
+ U+201D ISOnum -->
+<!ENTITY bdquo "&#8222;"> <!-- double low-9 quotation mark, U+201E NEW -->
+<!ENTITY dagger "&#8224;"> <!-- dagger, U+2020 ISOpub -->
+<!ENTITY Dagger "&#8225;"> <!-- double dagger, U+2021 ISOpub -->
+<!ENTITY permil "&#8240;"> <!-- per mille sign, U+2030 ISOtech -->
+<!ENTITY lsaquo "&#8249;"> <!-- single left-pointing angle quotation mark,
+ U+2039 ISO proposed -->
+<!-- lsaquo is proposed but not yet ISO standardized -->
+<!ENTITY rsaquo "&#8250;"> <!-- single right-pointing angle quotation mark,
+ U+203A ISO proposed -->
+<!-- rsaquo is proposed but not yet ISO standardized -->
+
+<!-- Currency Symbols -->
+<!ENTITY euro "&#8364;"> <!-- euro sign, U+20AC NEW -->
diff --git a/LayoutTests/dom/xhtml/level2/html/xhtml-symbol.ent b/LayoutTests/dom/xhtml/level2/html/xhtml-symbol.ent
new file mode 100644
index 0000000..63c2abf
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/xhtml-symbol.ent
@@ -0,0 +1,237 @@
+<!-- Mathematical, Greek and Symbolic characters for XHTML -->
+
+<!-- Character entity set. Typical invocation:
+ <!ENTITY % HTMLsymbol PUBLIC
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
+ %HTMLsymbol;
+-->
+
+<!-- Portions (C) International Organization for Standardization 1986:
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+-->
+
+<!-- Relevant ISO entity set is given unless names are newly introduced.
+ New names (i.e., not in ISO 8879 list) do not clash with any
+ existing ISO 8879 entity names. ISO 10646 character numbers
+ are given for each character, in hex. values are decimal
+ conversions of the ISO 10646 values and refer to the document
+ character set. Names are Unicode names.
+-->
+
+<!-- Latin Extended-B -->
+<!ENTITY fnof "&#402;"> <!-- latin small letter f with hook = function
+ = florin, U+0192 ISOtech -->
+
+<!-- Greek -->
+<!ENTITY Alpha "&#913;"> <!-- greek capital letter alpha, U+0391 -->
+<!ENTITY Beta "&#914;"> <!-- greek capital letter beta, U+0392 -->
+<!ENTITY Gamma "&#915;"> <!-- greek capital letter gamma,
+ U+0393 ISOgrk3 -->
+<!ENTITY Delta "&#916;"> <!-- greek capital letter delta,
+ U+0394 ISOgrk3 -->
+<!ENTITY Epsilon "&#917;"> <!-- greek capital letter epsilon, U+0395 -->
+<!ENTITY Zeta "&#918;"> <!-- greek capital letter zeta, U+0396 -->
+<!ENTITY Eta "&#919;"> <!-- greek capital letter eta, U+0397 -->
+<!ENTITY Theta "&#920;"> <!-- greek capital letter theta,
+ U+0398 ISOgrk3 -->
+<!ENTITY Iota "&#921;"> <!-- greek capital letter iota, U+0399 -->
+<!ENTITY Kappa "&#922;"> <!-- greek capital letter kappa, U+039A -->
+<!ENTITY Lambda "&#923;"> <!-- greek capital letter lamda,
+ U+039B ISOgrk3 -->
+<!ENTITY Mu "&#924;"> <!-- greek capital letter mu, U+039C -->
+<!ENTITY Nu "&#925;"> <!-- greek capital letter nu, U+039D -->
+<!ENTITY Xi "&#926;"> <!-- greek capital letter xi, U+039E ISOgrk3 -->
+<!ENTITY Omicron "&#927;"> <!-- greek capital letter omicron, U+039F -->
+<!ENTITY Pi "&#928;"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->
+<!ENTITY Rho "&#929;"> <!-- greek capital letter rho, U+03A1 -->
+<!-- there is no Sigmaf, and no U+03A2 character either -->
+<!ENTITY Sigma "&#931;"> <!-- greek capital letter sigma,
+ U+03A3 ISOgrk3 -->
+<!ENTITY Tau "&#932;"> <!-- greek capital letter tau, U+03A4 -->
+<!ENTITY Upsilon "&#933;"> <!-- greek capital letter upsilon,
+ U+03A5 ISOgrk3 -->
+<!ENTITY Phi "&#934;"> <!-- greek capital letter phi,
+ U+03A6 ISOgrk3 -->
+<!ENTITY Chi "&#935;"> <!-- greek capital letter chi, U+03A7 -->
+<!ENTITY Psi "&#936;"> <!-- greek capital letter psi,
+ U+03A8 ISOgrk3 -->
+<!ENTITY Omega "&#937;"> <!-- greek capital letter omega,
+ U+03A9 ISOgrk3 -->
+
+<!ENTITY alpha "&#945;"> <!-- greek small letter alpha,
+ U+03B1 ISOgrk3 -->
+<!ENTITY beta "&#946;"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->
+<!ENTITY gamma "&#947;"> <!-- greek small letter gamma,
+ U+03B3 ISOgrk3 -->
+<!ENTITY delta "&#948;"> <!-- greek small letter delta,
+ U+03B4 ISOgrk3 -->
+<!ENTITY epsilon "&#949;"> <!-- greek small letter epsilon,
+ U+03B5 ISOgrk3 -->
+<!ENTITY zeta "&#950;"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->
+<!ENTITY eta "&#951;"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->
+<!ENTITY theta "&#952;"> <!-- greek small letter theta,
+ U+03B8 ISOgrk3 -->
+<!ENTITY iota "&#953;"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->
+<!ENTITY kappa "&#954;"> <!-- greek small letter kappa,
+ U+03BA ISOgrk3 -->
+<!ENTITY lambda "&#955;"> <!-- greek small letter lamda,
+ U+03BB ISOgrk3 -->
+<!ENTITY mu "&#956;"> <!-- greek small letter mu, U+03BC ISOgrk3 -->
+<!ENTITY nu "&#957;"> <!-- greek small letter nu, U+03BD ISOgrk3 -->
+<!ENTITY xi "&#958;"> <!-- greek small letter xi, U+03BE ISOgrk3 -->
+<!ENTITY omicron "&#959;"> <!-- greek small letter omicron, U+03BF NEW -->
+<!ENTITY pi "&#960;"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->
+<!ENTITY rho "&#961;"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->
+<!ENTITY sigmaf "&#962;"> <!-- greek small letter final sigma,
+ U+03C2 ISOgrk3 -->
+<!ENTITY sigma "&#963;"> <!-- greek small letter sigma,
+ U+03C3 ISOgrk3 -->
+<!ENTITY tau "&#964;"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->
+<!ENTITY upsilon "&#965;"> <!-- greek small letter upsilon,
+ U+03C5 ISOgrk3 -->
+<!ENTITY phi "&#966;"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->
+<!ENTITY chi "&#967;"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->
+<!ENTITY psi "&#968;"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->
+<!ENTITY omega "&#969;"> <!-- greek small letter omega,
+ U+03C9 ISOgrk3 -->
+<!ENTITY thetasym "&#977;"> <!-- greek theta symbol,
+ U+03D1 NEW -->
+<!ENTITY upsih "&#978;"> <!-- greek upsilon with hook symbol,
+ U+03D2 NEW -->
+<!ENTITY piv "&#982;"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->
+
+<!-- General Punctuation -->
+<!ENTITY bull "&#8226;"> <!-- bullet = black small circle,
+ U+2022 ISOpub -->
+<!-- bullet is NOT the same as bullet operator, U+2219 -->
+<!ENTITY hellip "&#8230;"> <!-- horizontal ellipsis = three dot leader,
+ U+2026 ISOpub -->
+<!ENTITY prime "&#8242;"> <!-- prime = minutes = feet, U+2032 ISOtech -->
+<!ENTITY Prime "&#8243;"> <!-- double prime = seconds = inches,
+ U+2033 ISOtech -->
+<!ENTITY oline "&#8254;"> <!-- overline = spacing overscore,
+ U+203E NEW -->
+<!ENTITY frasl "&#8260;"> <!-- fraction slash, U+2044 NEW -->
+
+<!-- Letterlike Symbols -->
+<!ENTITY weierp "&#8472;"> <!-- script capital P = power set
+ = Weierstrass p, U+2118 ISOamso -->
+<!ENTITY image "&#8465;"> <!-- black-letter capital I = imaginary part,
+ U+2111 ISOamso -->
+<!ENTITY real "&#8476;"> <!-- black-letter capital R = real part symbol,
+ U+211C ISOamso -->
+<!ENTITY trade "&#8482;"> <!-- trade mark sign, U+2122 ISOnum -->
+<!ENTITY alefsym "&#8501;"> <!-- alef symbol = first transfinite cardinal,
+ U+2135 NEW -->
+<!-- alef symbol is NOT the same as hebrew letter alef,
+ U+05D0 although the same glyph could be used to depict both characters -->
+
+<!-- Arrows -->
+<!ENTITY larr "&#8592;"> <!-- leftwards arrow, U+2190 ISOnum -->
+<!ENTITY uarr "&#8593;"> <!-- upwards arrow, U+2191 ISOnum-->
+<!ENTITY rarr "&#8594;"> <!-- rightwards arrow, U+2192 ISOnum -->
+<!ENTITY darr "&#8595;"> <!-- downwards arrow, U+2193 ISOnum -->
+<!ENTITY harr "&#8596;"> <!-- left right arrow, U+2194 ISOamsa -->
+<!ENTITY crarr "&#8629;"> <!-- downwards arrow with corner leftwards
+ = carriage return, U+21B5 NEW -->
+<!ENTITY lArr "&#8656;"> <!-- leftwards double arrow, U+21D0 ISOtech -->
+<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow
+ but also does not have any other character for that function. So lArr can
+ be used for 'is implied by' as ISOtech suggests -->
+<!ENTITY uArr "&#8657;"> <!-- upwards double arrow, U+21D1 ISOamsa -->
+<!ENTITY rArr "&#8658;"> <!-- rightwards double arrow,
+ U+21D2 ISOtech -->
+<!-- Unicode does not say this is the 'implies' character but does not have
+ another character with this function so rArr can be used for 'implies'
+ as ISOtech suggests -->
+<!ENTITY dArr "&#8659;"> <!-- downwards double arrow, U+21D3 ISOamsa -->
+<!ENTITY hArr "&#8660;"> <!-- left right double arrow,
+ U+21D4 ISOamsa -->
+
+<!-- Mathematical Operators -->
+<!ENTITY forall "&#8704;"> <!-- for all, U+2200 ISOtech -->
+<!ENTITY part "&#8706;"> <!-- partial differential, U+2202 ISOtech -->
+<!ENTITY exist "&#8707;"> <!-- there exists, U+2203 ISOtech -->
+<!ENTITY empty "&#8709;"> <!-- empty set = null set, U+2205 ISOamso -->
+<!ENTITY nabla "&#8711;"> <!-- nabla = backward difference,
+ U+2207 ISOtech -->
+<!ENTITY isin "&#8712;"> <!-- element of, U+2208 ISOtech -->
+<!ENTITY notin "&#8713;"> <!-- not an element of, U+2209 ISOtech -->
+<!ENTITY ni "&#8715;"> <!-- contains as member, U+220B ISOtech -->
+<!ENTITY prod "&#8719;"> <!-- n-ary product = product sign,
+ U+220F ISOamsb -->
+<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though
+ the same glyph might be used for both -->
+<!ENTITY sum "&#8721;"> <!-- n-ary summation, U+2211 ISOamsb -->
+<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'
+ though the same glyph might be used for both -->
+<!ENTITY minus "&#8722;"> <!-- minus sign, U+2212 ISOtech -->
+<!ENTITY lowast "&#8727;"> <!-- asterisk operator, U+2217 ISOtech -->
+<!ENTITY radic "&#8730;"> <!-- square root = radical sign,
+ U+221A ISOtech -->
+<!ENTITY prop "&#8733;"> <!-- proportional to, U+221D ISOtech -->
+<!ENTITY infin "&#8734;"> <!-- infinity, U+221E ISOtech -->
+<!ENTITY ang "&#8736;"> <!-- angle, U+2220 ISOamso -->
+<!ENTITY and "&#8743;"> <!-- logical and = wedge, U+2227 ISOtech -->
+<!ENTITY or "&#8744;"> <!-- logical or = vee, U+2228 ISOtech -->
+<!ENTITY cap "&#8745;"> <!-- intersection = cap, U+2229 ISOtech -->
+<!ENTITY cup "&#8746;"> <!-- union = cup, U+222A ISOtech -->
+<!ENTITY int "&#8747;"> <!-- integral, U+222B ISOtech -->
+<!ENTITY there4 "&#8756;"> <!-- therefore, U+2234 ISOtech -->
+<!ENTITY sim "&#8764;"> <!-- tilde operator = varies with = similar to,
+ U+223C ISOtech -->
+<!-- tilde operator is NOT the same character as the tilde, U+007E,
+ although the same glyph might be used to represent both -->
+<!ENTITY cong "&#8773;"> <!-- approximately equal to, U+2245 ISOtech -->
+<!ENTITY asymp "&#8776;"> <!-- almost equal to = asymptotic to,
+ U+2248 ISOamsr -->
+<!ENTITY ne "&#8800;"> <!-- not equal to, U+2260 ISOtech -->
+<!ENTITY equiv "&#8801;"> <!-- identical to, U+2261 ISOtech -->
+<!ENTITY le "&#8804;"> <!-- less-than or equal to, U+2264 ISOtech -->
+<!ENTITY ge "&#8805;"> <!-- greater-than or equal to,
+ U+2265 ISOtech -->
+<!ENTITY sub "&#8834;"> <!-- subset of, U+2282 ISOtech -->
+<!ENTITY sup "&#8835;"> <!-- superset of, U+2283 ISOtech -->
+<!ENTITY nsub "&#8836;"> <!-- not a subset of, U+2284 ISOamsn -->
+<!ENTITY sube "&#8838;"> <!-- subset of or equal to, U+2286 ISOtech -->
+<!ENTITY supe "&#8839;"> <!-- superset of or equal to,
+ U+2287 ISOtech -->
+<!ENTITY oplus "&#8853;"> <!-- circled plus = direct sum,
+ U+2295 ISOamsb -->
+<!ENTITY otimes "&#8855;"> <!-- circled times = vector product,
+ U+2297 ISOamsb -->
+<!ENTITY perp "&#8869;"> <!-- up tack = orthogonal to = perpendicular,
+ U+22A5 ISOtech -->
+<!ENTITY sdot "&#8901;"> <!-- dot operator, U+22C5 ISOamsb -->
+<!-- dot operator is NOT the same character as U+00B7 middle dot -->
+
+<!-- Miscellaneous Technical -->
+<!ENTITY lceil "&#8968;"> <!-- left ceiling = APL upstile,
+ U+2308 ISOamsc -->
+<!ENTITY rceil "&#8969;"> <!-- right ceiling, U+2309 ISOamsc -->
+<!ENTITY lfloor "&#8970;"> <!-- left floor = APL downstile,
+ U+230A ISOamsc -->
+<!ENTITY rfloor "&#8971;"> <!-- right floor, U+230B ISOamsc -->
+<!ENTITY lang "&#9001;"> <!-- left-pointing angle bracket = bra,
+ U+2329 ISOtech -->
+<!-- lang is NOT the same character as U+003C 'less than sign'
+ or U+2039 'single left-pointing angle quotation mark' -->
+<!ENTITY rang "&#9002;"> <!-- right-pointing angle bracket = ket,
+ U+232A ISOtech -->
+<!-- rang is NOT the same character as U+003E 'greater than sign'
+ or U+203A 'single right-pointing angle quotation mark' -->
+
+<!-- Geometric Shapes -->
+<!ENTITY loz "&#9674;"> <!-- lozenge, U+25CA ISOpub -->
+
+<!-- Miscellaneous Symbols -->
+<!ENTITY spades "&#9824;"> <!-- black spade suit, U+2660 ISOpub -->
+<!-- black here seems to mean filled as opposed to hollow -->
+<!ENTITY clubs "&#9827;"> <!-- black club suit = shamrock,
+ U+2663 ISOpub -->
+<!ENTITY hearts "&#9829;"> <!-- black heart suit = valentine,
+ U+2665 ISOpub -->
+<!ENTITY diams "&#9830;"> <!-- black diamond suit, U+2666 ISOpub -->
diff --git a/LayoutTests/dom/xhtml/level2/html/xhtml1-frameset.dtd b/LayoutTests/dom/xhtml/level2/html/xhtml1-frameset.dtd
new file mode 100644
index 0000000..01d6811
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/xhtml1-frameset.dtd
@@ -0,0 +1,1235 @@
+<!--
+ Extensible HTML version 1.0 Frameset DTD
+
+ This is the same as HTML 4 Frameset except for
+ changes due to the differences between XML and SGML.
+
+ Namespace = http://www.w3.org/1999/xhtml
+
+ For further information, see: http://www.w3.org/TR/xhtml1
+
+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+ All Rights Reserved.
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
+
+ $Revision: 10626 $
+ $Date: 2005-09-26 15:45:26 -0700 (Mon, 26 Sep 2005) $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+ "-//W3C//ENTITIES Special for XHTML//EN"
+ "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+ <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+ <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+ <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+ <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+ <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+ <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+ <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+ <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+ <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+ <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+ <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+ <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+ <!-- used for titles etc. -->
+
+<!ENTITY % FrameTarget "NMTOKEN">
+ <!-- render in this frame -->
+
+<!ENTITY % Length "CDATA">
+ <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+ <!-- pixel, percentage, or relative -->
+
+<!ENTITY % MultiLengths "CDATA">
+ <!-- comma-separated list of MultiLength -->
+
+<!ENTITY % Pixels "CDATA">
+ <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+ <!-- comma separated list of lengths -->
+
+<!-- used for object, applet, img, input and iframe -->
+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
+
+<!-- a color using sRGB: #RRGGBB as Hex values -->
+<!ENTITY % Color "CDATA">
+
+<!-- There are also 16 widely known color names with their sRGB values:
+
+ Black = #000000 Green = #008000
+ Silver = #C0C0C0 Lime = #00FF00
+ Gray = #808080 Olive = #808000
+ White = #FFFFFF Yellow = #FFFF00
+ Maroon = #800000 Navy = #000080
+ Red = #FF0000 Blue = #0000FF
+ Purple = #800080 Teal = #008080
+ Fuchsia= #FF00FF Aqua = #00FFFF
+-->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+ id document-wide unique id
+ class space separated list of classes
+ style associated style info
+ title advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id ID #IMPLIED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED"
+ >
+
+<!-- internationalization attributes
+ lang language code (backwards compatible)
+ xml:lang language code (as per XML 1.0 spec)
+ dir direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #IMPLIED"
+ >
+
+<!-- attributes for common UI events
+ onclick a pointer button was clicked
+ ondblclick a pointer button was double clicked
+ onmousedown a pointer button was pressed down
+ onmouseup a pointer button was released
+ onmousemove a pointer was moved onto the element
+ onmouseout a pointer was moved away from the element
+ onkeypress a key was pressed and released
+ onkeydown a key was pressed down
+ onkeyup a key was released
+-->
+<!ENTITY % events
+ "onclick %Script; #IMPLIED
+ ondblclick %Script; #IMPLIED
+ onmousedown %Script; #IMPLIED
+ onmouseup %Script; #IMPLIED
+ onmouseover %Script; #IMPLIED
+ onmousemove %Script; #IMPLIED
+ onmouseout %Script; #IMPLIED
+ onkeypress %Script; #IMPLIED
+ onkeydown %Script; #IMPLIED
+ onkeyup %Script; #IMPLIED"
+ >
+
+<!-- attributes for elements that can get the focus
+ accesskey accessibility key character
+ tabindex position in tabbing order
+ onfocus the element got the focus
+ onblur the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey %Character; #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED"
+ >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!-- text alignment for p, div, h1-h6. The default is
+ align="left" for ltr headings, "right" for rtl -->
+
+<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.extra
+ "object | applet | img | map | iframe">
+
+<!ENTITY % special.basic
+ "br | span | bdo">
+
+<!ENTITY % special
+ "%special.basic; | %special.extra;">
+
+<!ENTITY % fontstyle.extra "big | small | font | basefont">
+
+<!ENTITY % fontstyle.basic "tt | i | b | u
+ | s | strike ">
+
+<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
+
+<!ENTITY % phrase.extra "sub | sup">
+<!ENTITY % phrase.basic "em | strong | dfn | code | q |
+ samp | kbd | var | cite | abbr | acronym">
+
+<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl | menu | dir">
+<!ENTITY % blocktext "pre | hr | blockquote | address | center">
+
+<!ENTITY % block
+ "p | %heading; | div | %lists; | %blocktext; | isindex | fieldset | table">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
+
+<!-- pre uses %Inline excluding img, object, applet, big, small,
+ sub, sup, font, or basefont -->
+
+<!ENTITY % pre.content
+ "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
+ %inline.forms; | %misc.inline;)*">
+
+
+<!-- form uses %Flow; excluding form -->
+
+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
+
+<!ENTITY % button.content
+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+ table | br | span | bdo | object | applet | img | map |
+ %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, frameset)>
+<!ATTLIST html
+ %i18n;
+ id ID #IMPLIED
+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
+ >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
+
+<!-- content model is %head.misc; combined with a single
+ title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+ ((title, %head.misc;, (base, %head.misc;)?) |
+ (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+ %i18n;
+ id ID #IMPLIED
+ profile %URI; #IMPLIED
+ >
+
+<!-- The title element is not considered part of the flow of text.
+ It should be displayed, for example as the page header or
+ window title. Exactly one title is required per document.
+ -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title
+ %i18n;
+ id ID #IMPLIED
+ >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+ id ID #IMPLIED
+ href %URI; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+ %i18n;
+ id ID #IMPLIED
+ http-equiv CDATA #IMPLIED
+ name CDATA #IMPLIED
+ content CDATA #REQUIRED
+ scheme CDATA #IMPLIED
+ >
+
+<!--
+ Relationship values can be used in principle:
+
+ a) for document specific toolbars/menus when used
+ with the link element in document head e.g.
+ start, contents, previous, next, index, end, help
+ b) to link to a separate style sheet (rel="stylesheet")
+ c) to make a link to a script (rel="script")
+ d) by stylesheets to control how collections of
+ html nodes are rendered into printed documents
+ e) to make a link to a printable version of this document
+ e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+ %attrs;
+ charset %Charset; #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ type %ContentType; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ media %MediaDesc; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+ %i18n;
+ id ID #IMPLIED
+ type %ContentType; #REQUIRED
+ media %MediaDesc; #IMPLIED
+ title %Text; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+ id ID #IMPLIED
+ charset %Charset; #IMPLIED
+ type %ContentType; #REQUIRED
+ language CDATA #IMPLIED
+ src %URI; #IMPLIED
+ defer (defer) #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Flow;>
+<!ATTLIST noscript
+ %attrs;
+ >
+
+<!--======================= Frames =======================================-->
+
+<!-- only one noframes element permitted per document -->
+
+<!ELEMENT frameset (frameset|frame|noframes)*>
+<!ATTLIST frameset
+ %coreattrs;
+ rows %MultiLengths; #IMPLIED
+ cols %MultiLengths; #IMPLIED
+ onload %Script; #IMPLIED
+ onunload %Script; #IMPLIED
+ >
+
+<!-- reserved frame names start with "_" otherwise starts with letter -->
+
+<!-- tiled window within frameset -->
+
+<!ELEMENT frame EMPTY>
+<!ATTLIST frame
+ %coreattrs;
+ longdesc %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ src %URI; #IMPLIED
+ frameborder (1|0) "1"
+ marginwidth %Pixels; #IMPLIED
+ marginheight %Pixels; #IMPLIED
+ noresize (noresize) #IMPLIED
+ scrolling (yes|no|auto) "auto"
+ >
+
+<!-- inline subwindow -->
+
+<!ELEMENT iframe %Flow;>
+<!ATTLIST iframe
+ %coreattrs;
+ longdesc %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ src %URI; #IMPLIED
+ frameborder (1|0) "1"
+ marginwidth %Pixels; #IMPLIED
+ marginheight %Pixels; #IMPLIED
+ scrolling (yes|no|auto) "auto"
+ align %ImgAlign; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ >
+
+<!-- alternate content container for non frame-based rendering -->
+
+<!ELEMENT noframes (body)>
+<!ATTLIST noframes
+ %attrs;
+ >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Flow;>
+<!ATTLIST body
+ %attrs;
+ onload %Script; #IMPLIED
+ onunload %Script; #IMPLIED
+ background %URI; #IMPLIED
+ bgcolor %Color; #IMPLIED
+ text %Color; #IMPLIED
+ link %Color; #IMPLIED
+ vlink %Color; #IMPLIED
+ alink %Color; #IMPLIED
+ >
+
+<!ELEMENT div %Flow;> <!-- generic language/style container -->
+<!ATTLIST div
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Headings =========================================-->
+
+<!--
+ There are six levels of headings from h1 (the most important)
+ to h6 (the least important).
+-->
+
+<!ELEMENT h1 %Inline;>
+<!ATTLIST h1
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list bullet styles -->
+
+<!ENTITY % ULStyle "(disc|square|circle)">
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+ %attrs;
+ type %ULStyle; #IMPLIED
+ compact (compact) #IMPLIED
+ >
+
+<!-- Ordered list numbering style
+
+ 1 arabic numbers 1, 2, 3, ...
+ a lower alpha a, b, c, ...
+ A upper alpha A, B, C, ...
+ i lower roman i, ii, iii, ...
+ I upper roman I, II, III, ...
+
+ The style is applied to the sequence number which by default
+ is reset to 1 for the first list item in an ordered list.
+-->
+<!ENTITY % OLStyle "CDATA">
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+ %attrs;
+ type %OLStyle; #IMPLIED
+ compact (compact) #IMPLIED
+ start %Number; #IMPLIED
+ >
+
+<!-- single column list (DEPRECATED) -->
+<!ELEMENT menu (li)+>
+<!ATTLIST menu
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- multiple column list (DEPRECATED) -->
+<!ELEMENT dir (li)+>
+<!ATTLIST dir
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
+<!ENTITY % LIStyle "CDATA">
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+ %attrs;
+ type %LIStyle; #IMPLIED
+ value %Number; #IMPLIED
+ >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+ %attrs;
+ >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+ %attrs;
+ >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
+<!ATTLIST address
+ %attrs;
+ >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+ %attrs;
+ align (left|center|right) #IMPLIED
+ noshade (noshade) #IMPLIED
+ size %Pixels; #IMPLIED
+ width %Length; #IMPLIED
+ >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding
+ "img|object|applet|big|small|sub|sup|font|basefont" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+ %attrs;
+ width %Number; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Flow;>
+<!ATTLIST blockquote
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!--=================== Text alignment ===================================-->
+
+<!-- center content -->
+<!ELEMENT center %Flow;>
+<!ATTLIST center
+ %attrs;
+ >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+
+<!--
+ ins/del are allowed in block and inline content, but its
+ inappropriate to include block content within an ins element
+ occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+ %attrs;
+ %focus;
+ charset %Charset; #IMPLIED
+ type %ContentType; #IMPLIED
+ name NMTOKEN #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+ %attrs;
+ >
+
+<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+ %coreattrs;
+ %events;
+ lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #REQUIRED
+ >
+
+<!ELEMENT br EMPTY> <!-- forced line break -->
+<!ATTLIST br
+ %coreattrs;
+ clear (left|all|right|none) "none"
+ >
+
+<!ELEMENT em %Inline;> <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;> <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;> <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;> <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;> <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;> <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;> <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;> <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;> <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;> <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;> <!-- inlined quote -->
+<!ATTLIST q
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;> <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;> <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;> <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;> <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!ELEMENT u %Inline;> <!-- underline -->
+<!ATTLIST u %attrs;>
+
+<!ELEMENT s %Inline;> <!-- strike-through -->
+<!ATTLIST s %attrs;>
+
+<!ELEMENT strike %Inline;> <!-- strike-through -->
+<!ATTLIST strike %attrs;>
+
+<!ELEMENT basefont EMPTY> <!-- base font size -->
+<!ATTLIST basefont
+ id ID #IMPLIED
+ size CDATA #REQUIRED
+ color %Color; #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!ELEMENT font %Inline;> <!-- local change to font -->
+<!ATTLIST font
+ %coreattrs;
+ %i18n;
+ size CDATA #IMPLIED
+ color %Color; #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!--==================== Object ======================================-->
+<!--
+ object is used to embed objects as part of HTML pages.
+ param elements should precede other content. Parameters
+ can also be expressed as attribute/value pairs on the
+ object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
+<!ATTLIST object
+ %attrs;
+ declare (declare) #IMPLIED
+ classid %URI; #IMPLIED
+ codebase %URI; #IMPLIED
+ data %URI; #IMPLIED
+ type %ContentType; #IMPLIED
+ codetype %ContentType; #IMPLIED
+ archive %UriList; #IMPLIED
+ standby %Text; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ tabindex %Number; #IMPLIED
+ align %ImgAlign; #IMPLIED
+ border %Pixels; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!--
+ param is used to supply a named property value.
+ In XML it would seem natural to follow RDF and support an
+ abbreviated syntax where the param elements are replaced
+ by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+ id ID #IMPLIED
+ name CDATA #REQUIRED
+ value CDATA #IMPLIED
+ valuetype (data|ref|object) "data"
+ type %ContentType; #IMPLIED
+ >
+
+<!--=================== Java applet ==================================-->
+<!--
+ One of code or object attributes must be present.
+ Place param elements before other content.
+-->
+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST applet
+ %coreattrs;
+ codebase %URI; #IMPLIED
+ archive CDATA #IMPLIED
+ code CDATA #IMPLIED
+ object CDATA #IMPLIED
+ alt %Text; #IMPLIED
+ name NMTOKEN #IMPLIED
+ width %Length; #REQUIRED
+ height %Length; #REQUIRED
+ align %ImgAlign; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!--=================== Images ===========================================-->
+
+<!--
+ To avoid accessibility problems for people who aren't
+ able to see the image, you should provide a text
+ description using the alt and longdesc attributes.
+ In addition, avoid the use of server-side image maps.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+ %attrs;
+ src %URI; #REQUIRED
+ alt %Text; #REQUIRED
+ name NMTOKEN #IMPLIED
+ longdesc %URI; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ ismap (ismap) #IMPLIED
+ align %ImgAlign; #IMPLIED
+ border %Pixels; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!-- usemap points to a map element which may be in this document
+ or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+ separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+ %i18n;
+ %events;
+ id ID #REQUIRED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED
+ name NMTOKEN #IMPLIED
+ >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+ %attrs;
+ %focus;
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ href %URI; #IMPLIED
+ nohref (nohref) #IMPLIED
+ alt %Text; #REQUIRED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--================ Forms ===============================================-->
+
+<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+ %attrs;
+ action %URI; #REQUIRED
+ method (get|post) "get"
+ name NMTOKEN #IMPLIED
+ enctype %ContentType; "application/x-www-form-urlencoded"
+ onsubmit %Script; #IMPLIED
+ onreset %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ accept-charset %Charsets; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--
+ Each label must not contain more than ONE field
+ Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+ %attrs;
+ for IDREF #IMPLIED
+ accesskey %Character; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ >
+
+<!ENTITY % InputType
+ "(text | password | checkbox |
+ radio | submit | reset |
+ file | hidden | image | button)"
+ >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY> <!-- form control -->
+<!ATTLIST input
+ %attrs;
+ %focus;
+ type %InputType; "text"
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ checked (checked) #IMPLIED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ size CDATA #IMPLIED
+ maxlength %Number; #IMPLIED
+ src %URI; #IMPLIED
+ alt CDATA #IMPLIED
+ usemap %URI; #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ align %ImgAlign; #IMPLIED
+ >
+
+<!ELEMENT select (optgroup|option)+> <!-- option selector -->
+<!ATTLIST select
+ %attrs;
+ name CDATA #IMPLIED
+ size %Number; #IMPLIED
+ multiple (multiple) #IMPLIED
+ disabled (disabled) #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!ELEMENT optgroup (option)+> <!-- option group -->
+<!ATTLIST optgroup
+ %attrs;
+ disabled (disabled) #IMPLIED
+ label %Text; #REQUIRED
+ >
+
+<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
+<!ATTLIST option
+ %attrs;
+ selected (selected) #IMPLIED
+ disabled (disabled) #IMPLIED
+ label %Text; #IMPLIED
+ value CDATA #IMPLIED
+ >
+
+<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
+<!ATTLIST textarea
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ rows %Number; #REQUIRED
+ cols %Number; #REQUIRED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!--
+ The fieldset element is used to group form fields.
+ Only one legend element should occur in the content
+ and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+ %attrs;
+ >
+
+<!ENTITY % LAlign "(top|bottom|left|right)">
+
+<!ELEMENT legend %Inline;> <!-- fieldset label -->
+<!ATTLIST legend
+ %attrs;
+ accesskey %Character; #IMPLIED
+ align %LAlign; #IMPLIED
+ >
+
+<!--
+ Content is %Flow; excluding a, form, form controls, iframe
+-->
+<!ELEMENT button %button.content;> <!-- push button -->
+<!ATTLIST button
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ type (button|submit|reset) "submit"
+ disabled (disabled) #IMPLIED
+ >
+
+<!-- single-line text input control (DEPRECATED) -->
+<!ELEMENT isindex EMPTY>
+<!ATTLIST isindex
+ %coreattrs;
+ %i18n;
+ prompt %Text; #IMPLIED
+ >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+ "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+
+<!-- horizontal placement of table relative to document -->
+<!ENTITY % TAlign "(left|center|right)">
+
+<!-- horizontal alignment attributes for cell contents
+
+ char alignment char, e.g. char=":"
+ charoff offset for alignment char
+-->
+<!ENTITY % cellhalign
+ "align (left|center|right|justify|char) #IMPLIED
+ char %Character; #IMPLIED
+ charoff %Length; #IMPLIED"
+ >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+ "valign (top|middle|bottom|baseline) #IMPLIED"
+ >
+
+<!ELEMENT table
+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption %Inline;>
+<!ELEMENT thead (tr)+>
+<!ELEMENT tfoot (tr)+>
+<!ELEMENT tbody (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col EMPTY>
+<!ELEMENT tr (th|td)+>
+<!ELEMENT th %Flow;>
+<!ELEMENT td %Flow;>
+
+<!ATTLIST table
+ %attrs;
+ summary %Text; #IMPLIED
+ width %Length; #IMPLIED
+ border %Pixels; #IMPLIED
+ frame %TFrame; #IMPLIED
+ rules %TRules; #IMPLIED
+ cellspacing %Length; #IMPLIED
+ cellpadding %Length; #IMPLIED
+ align %TAlign; #IMPLIED
+ bgcolor %Color; #IMPLIED
+ >
+
+<!ENTITY % CAlign "(top|bottom|left|right)">
+
+<!ATTLIST caption
+ %attrs;
+ align %CAlign; #IMPLIED
+ >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+ width=64 width in screen pixels
+ width=0.5* relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ Use thead to duplicate headers when breaking table
+ across page boundaries, or for static headers when
+ tbody sections are rendered in scrolling panel.
+
+ Use tfoot to duplicate footers when breaking table
+ across page boundaries, or for static footers when
+ tbody sections are rendered in scrolling panel.
+
+ Use multiple tbody sections when rules are needed
+ between groups of table rows.
+-->
+<!ATTLIST thead
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tfoot
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tbody
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tr
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ bgcolor %Color; #IMPLIED
+ >
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor %Color; #IMPLIED
+ width %Pixels; #IMPLIED
+ height %Pixels; #IMPLIED
+ >
+
+<!ATTLIST td
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor %Color; #IMPLIED
+ width %Pixels; #IMPLIED
+ height %Pixels; #IMPLIED
+ >
+
diff --git a/LayoutTests/dom/xhtml/level2/html/xhtml1-strict.dtd b/LayoutTests/dom/xhtml/level2/html/xhtml1-strict.dtd
new file mode 100644
index 0000000..18528d9
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/xhtml1-strict.dtd
@@ -0,0 +1,978 @@
+<!--
+ Extensible HTML version 1.0 Strict DTD
+
+ This is the same as HTML 4 Strict except for
+ changes due to the differences between XML and SGML.
+
+ Namespace = http://www.w3.org/1999/xhtml
+
+ For further information, see: http://www.w3.org/TR/xhtml1
+
+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+ All Rights Reserved.
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
+
+ $Revision: 10626 $
+ $Date: 2005-09-26 15:45:26 -0700 (Mon, 26 Sep 2005) $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+ "-//W3C//ENTITIES Special for XHTML//EN"
+ "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+ <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+ <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+ <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+ <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+ <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+ <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+ <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+ <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+ <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+ <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+ <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+ <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+ <!-- used for titles etc. -->
+
+<!ENTITY % Length "CDATA">
+ <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+ <!-- pixel, percentage, or relative -->
+
+<!ENTITY % Pixels "CDATA">
+ <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+ <!-- comma separated list of lengths -->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+ id document-wide unique id
+ class space separated list of classes
+ style associated style info
+ title advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id ID #IMPLIED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED"
+ >
+
+<!-- internationalization attributes
+ lang language code (backwards compatible)
+ xml:lang language code (as per XML 1.0 spec)
+ dir direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #IMPLIED"
+ >
+
+<!-- attributes for common UI events
+ onclick a pointer button was clicked
+ ondblclick a pointer button was double clicked
+ onmousedown a pointer button was pressed down
+ onmouseup a pointer button was released
+ onmousemove a pointer was moved onto the element
+ onmouseout a pointer was moved away from the element
+ onkeypress a key was pressed and released
+ onkeydown a key was pressed down
+ onkeyup a key was released
+-->
+<!ENTITY % events
+ "onclick %Script; #IMPLIED
+ ondblclick %Script; #IMPLIED
+ onmousedown %Script; #IMPLIED
+ onmouseup %Script; #IMPLIED
+ onmouseover %Script; #IMPLIED
+ onmousemove %Script; #IMPLIED
+ onmouseout %Script; #IMPLIED
+ onkeypress %Script; #IMPLIED
+ onkeydown %Script; #IMPLIED
+ onkeyup %Script; #IMPLIED"
+ >
+
+<!-- attributes for elements that can get the focus
+ accesskey accessibility key character
+ tabindex position in tabbing order
+ onfocus the element got the focus
+ onblur the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey %Character; #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED"
+ >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.pre
+ "br | span | bdo | map">
+
+
+<!ENTITY % special
+ "%special.pre; | object | img ">
+
+<!ENTITY % fontstyle "tt | i | b | big | small ">
+
+<!ENTITY % phrase "em | strong | dfn | code | q |
+ samp | kbd | var | cite | abbr | acronym | sub | sup ">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl">
+<!ENTITY % blocktext "pre | hr | blockquote | address">
+
+<!ENTITY % block
+ "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
+
+<!ENTITY % Block "(%block; | form | %misc;)*">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
+
+<!-- pre uses %Inline excluding big, small, sup or sup -->
+
+<!ENTITY % pre.content
+ "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
+ | %inline.forms;)*">
+
+<!-- form uses %Block; excluding form -->
+
+<!ENTITY % form.content "(%block; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form and form controls -->
+
+<!ENTITY % button.content
+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+ table | %special; | %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, body)>
+<!ATTLIST html
+ %i18n;
+ id ID #IMPLIED
+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
+ >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object)*">
+
+<!-- content model is %head.misc; combined with a single
+ title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+ ((title, %head.misc;, (base, %head.misc;)?) |
+ (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+ %i18n;
+ id ID #IMPLIED
+ profile %URI; #IMPLIED
+ >
+
+<!-- The title element is not considered part of the flow of text.
+ It should be displayed, for example as the page header or
+ window title. Exactly one title is required per document.
+ -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title
+ %i18n;
+ id ID #IMPLIED
+ >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+ href %URI; #REQUIRED
+ id ID #IMPLIED
+ >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+ %i18n;
+ id ID #IMPLIED
+ http-equiv CDATA #IMPLIED
+ name CDATA #IMPLIED
+ content CDATA #REQUIRED
+ scheme CDATA #IMPLIED
+ >
+
+<!--
+ Relationship values can be used in principle:
+
+ a) for document specific toolbars/menus when used
+ with the link element in document head e.g.
+ start, contents, previous, next, index, end, help
+ b) to link to a separate style sheet (rel="stylesheet")
+ c) to make a link to a script (rel="script")
+ d) by stylesheets to control how collections of
+ html nodes are rendered into printed documents
+ e) to make a link to a printable version of this document
+ e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+ %attrs;
+ charset %Charset; #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ type %ContentType; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ media %MediaDesc; #IMPLIED
+ >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+ %i18n;
+ id ID #IMPLIED
+ type %ContentType; #REQUIRED
+ media %MediaDesc; #IMPLIED
+ title %Text; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+ id ID #IMPLIED
+ charset %Charset; #IMPLIED
+ type %ContentType; #REQUIRED
+ src %URI; #IMPLIED
+ defer (defer) #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Block;>
+<!ATTLIST noscript
+ %attrs;
+ >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Block;>
+<!ATTLIST body
+ %attrs;
+ onload %Script; #IMPLIED
+ onunload %Script; #IMPLIED
+ >
+
+<!ELEMENT div %Flow;> <!-- generic language/style container -->
+<!ATTLIST div
+ %attrs;
+ >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+ %attrs;
+ >
+
+<!--=================== Headings =========================================-->
+
+<!--
+ There are six levels of headings from h1 (the most important)
+ to h6 (the least important).
+-->
+
+<!ELEMENT h1 %Inline;>
+<!ATTLIST h1
+ %attrs;
+ >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+ %attrs;
+ >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+ %attrs;
+ >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+ %attrs;
+ >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+ %attrs;
+ >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+ %attrs;
+ >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+ %attrs;
+ >
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+ %attrs;
+ >
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+ %attrs;
+ >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+ %attrs;
+ >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+ %attrs;
+ >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+ %attrs;
+ >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address %Inline;>
+<!ATTLIST address
+ %attrs;
+ >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+ %attrs;
+ >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+ %attrs;
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Block;>
+<!ATTLIST blockquote
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+<!--
+ ins/del are allowed in block and inline content, but its
+ inappropriate to include block content within an ins element
+ occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+ %attrs;
+ %focus;
+ charset %Charset; #IMPLIED
+ type %ContentType; #IMPLIED
+ name NMTOKEN #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+ %attrs;
+ >
+
+<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+ %coreattrs;
+ %events;
+ lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #REQUIRED
+ >
+
+<!ELEMENT br EMPTY> <!-- forced line break -->
+<!ATTLIST br
+ %coreattrs;
+ >
+
+<!ELEMENT em %Inline;> <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;> <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;> <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;> <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;> <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;> <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;> <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;> <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;> <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;> <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;> <!-- inlined quote -->
+<!ATTLIST q
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;> <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;> <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;> <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;> <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!--==================== Object ======================================-->
+<!--
+ object is used to embed objects as part of HTML pages.
+ param elements should precede other content. Parameters
+ can also be expressed as attribute/value pairs on the
+ object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST object
+ %attrs;
+ declare (declare) #IMPLIED
+ classid %URI; #IMPLIED
+ codebase %URI; #IMPLIED
+ data %URI; #IMPLIED
+ type %ContentType; #IMPLIED
+ codetype %ContentType; #IMPLIED
+ archive %UriList; #IMPLIED
+ standby %Text; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ tabindex %Number; #IMPLIED
+ >
+
+<!--
+ param is used to supply a named property value.
+ In XML it would seem natural to follow RDF and support an
+ abbreviated syntax where the param elements are replaced
+ by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+ id ID #IMPLIED
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ valuetype (data|ref|object) "data"
+ type %ContentType; #IMPLIED
+ >
+
+<!--=================== Images ===========================================-->
+
+<!--
+ To avoid accessibility problems for people who aren't
+ able to see the image, you should provide a text
+ description using the alt and longdesc attributes.
+ In addition, avoid the use of server-side image maps.
+ Note that in this DTD there is no name attribute. That
+ is only available in the transitional and frameset DTD.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+ %attrs;
+ src %URI; #REQUIRED
+ alt %Text; #REQUIRED
+ longdesc %URI; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ ismap (ismap) #IMPLIED
+ >
+
+<!-- usemap points to a map element which may be in this document
+ or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+ separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+ %i18n;
+ %events;
+ id ID #REQUIRED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED
+ name NMTOKEN #IMPLIED
+ >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+ %attrs;
+ %focus;
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ href %URI; #IMPLIED
+ nohref (nohref) #IMPLIED
+ alt %Text; #REQUIRED
+ >
+
+<!--================ Forms ===============================================-->
+<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+ %attrs;
+ action %URI; #REQUIRED
+ method (get|post) "get"
+ enctype %ContentType; "application/x-www-form-urlencoded"
+ onsubmit %Script; #IMPLIED
+ onreset %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ accept-charset %Charsets; #IMPLIED
+ >
+
+<!--
+ Each label must not contain more than ONE field
+ Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+ %attrs;
+ for IDREF #IMPLIED
+ accesskey %Character; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ >
+
+<!ENTITY % InputType
+ "(text | password | checkbox |
+ radio | submit | reset |
+ file | hidden | image | button)"
+ >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY> <!-- form control -->
+<!ATTLIST input
+ %attrs;
+ %focus;
+ type %InputType; "text"
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ checked (checked) #IMPLIED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ size CDATA #IMPLIED
+ maxlength %Number; #IMPLIED
+ src %URI; #IMPLIED
+ alt CDATA #IMPLIED
+ usemap %URI; #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ >
+
+<!ELEMENT select (optgroup|option)+> <!-- option selector -->
+<!ATTLIST select
+ %attrs;
+ name CDATA #IMPLIED
+ size %Number; #IMPLIED
+ multiple (multiple) #IMPLIED
+ disabled (disabled) #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!ELEMENT optgroup (option)+> <!-- option group -->
+<!ATTLIST optgroup
+ %attrs;
+ disabled (disabled) #IMPLIED
+ label %Text; #REQUIRED
+ >
+
+<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
+<!ATTLIST option
+ %attrs;
+ selected (selected) #IMPLIED
+ disabled (disabled) #IMPLIED
+ label %Text; #IMPLIED
+ value CDATA #IMPLIED
+ >
+
+<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
+<!ATTLIST textarea
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ rows %Number; #REQUIRED
+ cols %Number; #REQUIRED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!--
+ The fieldset element is used to group form fields.
+ Only one legend element should occur in the content
+ and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+ %attrs;
+ >
+
+<!ELEMENT legend %Inline;> <!-- fieldset label -->
+<!ATTLIST legend
+ %attrs;
+ accesskey %Character; #IMPLIED
+ >
+
+<!--
+ Content is %Flow; excluding a, form and form controls
+-->
+<!ELEMENT button %button.content;> <!-- push button -->
+<!ATTLIST button
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ type (button|submit|reset) "submit"
+ disabled (disabled) #IMPLIED
+ >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+ "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+
+<!-- horizontal alignment attributes for cell contents
+
+ char alignment char, e.g. char=':'
+ charoff offset for alignment char
+-->
+<!ENTITY % cellhalign
+ "align (left|center|right|justify|char) #IMPLIED
+ char %Character; #IMPLIED
+ charoff %Length; #IMPLIED"
+ >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+ "valign (top|middle|bottom|baseline) #IMPLIED"
+ >
+
+<!ELEMENT table
+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption %Inline;>
+<!ELEMENT thead (tr)+>
+<!ELEMENT tfoot (tr)+>
+<!ELEMENT tbody (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col EMPTY>
+<!ELEMENT tr (th|td)+>
+<!ELEMENT th %Flow;>
+<!ELEMENT td %Flow;>
+
+<!ATTLIST table
+ %attrs;
+ summary %Text; #IMPLIED
+ width %Length; #IMPLIED
+ border %Pixels; #IMPLIED
+ frame %TFrame; #IMPLIED
+ rules %TRules; #IMPLIED
+ cellspacing %Length; #IMPLIED
+ cellpadding %Length; #IMPLIED
+ >
+
+<!ATTLIST caption
+ %attrs;
+ >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+ width=64 width in screen pixels
+ width=0.5* relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ Use thead to duplicate headers when breaking table
+ across page boundaries, or for static headers when
+ tbody sections are rendered in scrolling panel.
+
+ Use tfoot to duplicate footers when breaking table
+ across page boundaries, or for static footers when
+ tbody sections are rendered in scrolling panel.
+
+ Use multiple tbody sections when rules are needed
+ between groups of table rows.
+-->
+<!ATTLIST thead
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tfoot
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tbody
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tr
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST td
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ >
+
diff --git a/LayoutTests/dom/xhtml/level2/html/xhtml1-transitional.dtd b/LayoutTests/dom/xhtml/level2/html/xhtml1-transitional.dtd
new file mode 100644
index 0000000..1705c27
--- /dev/null
+++ b/LayoutTests/dom/xhtml/level2/html/xhtml1-transitional.dtd
@@ -0,0 +1,1201 @@
+<!--
+ Extensible HTML version 1.0 Transitional DTD
+
+ This is the same as HTML 4 Transitional except for
+ changes due to the differences between XML and SGML.
+
+ Namespace = http://www.w3.org/1999/xhtml
+
+ For further information, see: http://www.w3.org/TR/xhtml1
+
+ Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
+ All Rights Reserved.
+
+ This DTD module is identified by the PUBLIC and SYSTEM identifiers:
+
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
+
+ $Revision: 10626 $
+ $Date: 2005-09-26 15:45:26 -0700 (Mon, 26 Sep 2005) $
+
+-->
+
+<!--================ Character mnemonic entities =========================-->
+
+<!ENTITY % HTMLlat1 PUBLIC
+ "-//W3C//ENTITIES Latin 1 for XHTML//EN"
+ "xhtml-lat1.ent">
+%HTMLlat1;
+
+<!ENTITY % HTMLsymbol PUBLIC
+ "-//W3C//ENTITIES Symbols for XHTML//EN"
+ "xhtml-symbol.ent">
+%HTMLsymbol;
+
+<!ENTITY % HTMLspecial PUBLIC
+ "-//W3C//ENTITIES Special for XHTML//EN"
+ "xhtml-special.ent">
+%HTMLspecial;
+
+<!--================== Imported Names ====================================-->
+
+<!ENTITY % ContentType "CDATA">
+ <!-- media type, as per [RFC2045] -->
+
+<!ENTITY % ContentTypes "CDATA">
+ <!-- comma-separated list of media types, as per [RFC2045] -->
+
+<!ENTITY % Charset "CDATA">
+ <!-- a character encoding, as per [RFC2045] -->
+
+<!ENTITY % Charsets "CDATA">
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
+
+<!ENTITY % LanguageCode "NMTOKEN">
+ <!-- a language code, as per [RFC3066] -->
+
+<!ENTITY % Character "CDATA">
+ <!-- a single character, as per section 2.2 of [XML] -->
+
+<!ENTITY % Number "CDATA">
+ <!-- one or more digits -->
+
+<!ENTITY % LinkTypes "CDATA">
+ <!-- space-separated list of link types -->
+
+<!ENTITY % MediaDesc "CDATA">
+ <!-- single or comma-separated list of media descriptors -->
+
+<!ENTITY % URI "CDATA">
+ <!-- a Uniform Resource Identifier, see [RFC2396] -->
+
+<!ENTITY % UriList "CDATA">
+ <!-- a space separated list of Uniform Resource Identifiers -->
+
+<!ENTITY % Datetime "CDATA">
+ <!-- date and time information. ISO date format -->
+
+<!ENTITY % Script "CDATA">
+ <!-- script expression -->
+
+<!ENTITY % StyleSheet "CDATA">
+ <!-- style sheet data -->
+
+<!ENTITY % Text "CDATA">
+ <!-- used for titles etc. -->
+
+<!ENTITY % FrameTarget "NMTOKEN">
+ <!-- render in this frame -->
+
+<!ENTITY % Length "CDATA">
+ <!-- nn for pixels or nn% for percentage length -->
+
+<!ENTITY % MultiLength "CDATA">
+ <!-- pixel, percentage, or relative -->
+
+<!ENTITY % Pixels "CDATA">
+ <!-- integer representing length in pixels -->
+
+<!-- these are used for image maps -->
+
+<!ENTITY % Shape "(rect|circle|poly|default)">
+
+<!ENTITY % Coords "CDATA">
+ <!-- comma separated list of lengths -->
+
+<!-- used for object, applet, img, input and iframe -->
+<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
+
+<!-- a color using sRGB: #RRGGBB as Hex values -->
+<!ENTITY % Color "CDATA">
+
+<!-- There are also 16 widely known color names with their sRGB values:
+
+ Black = #000000 Green = #008000
+ Silver = #C0C0C0 Lime = #00FF00
+ Gray = #808080 Olive = #808000
+ White = #FFFFFF Yellow = #FFFF00
+ Maroon = #800000 Navy = #000080
+ Red = #FF0000 Blue = #0000FF
+ Purple = #800080 Teal = #008080
+ Fuchsia= #FF00FF Aqua = #00FFFF
+-->
+
+<!--=================== Generic Attributes ===============================-->
+
+<!-- core attributes common to most elements
+ id document-wide unique id
+ class space separated list of classes
+ style associated style info
+ title advisory title/amplification
+-->
+<!ENTITY % coreattrs
+ "id ID #IMPLIED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED"
+ >
+
+<!-- internationalization attributes
+ lang language code (backwards compatible)
+ xml:lang language code (as per XML 1.0 spec)
+ dir direction for weak/neutral text
+-->
+<!ENTITY % i18n
+ "lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #IMPLIED"
+ >
+
+<!-- attributes for common UI events
+ onclick a pointer button was clicked
+ ondblclick a pointer button was double clicked
+ onmousedown a pointer button was pressed down
+ onmouseup a pointer button was released
+ onmousemove a pointer was moved onto the element
+ onmouseout a pointer was moved away from the element
+ onkeypress a key was pressed and released
+ onkeydown a key was pressed down
+ onkeyup a key was released
+-->
+<!ENTITY % events
+ "onclick %Script; #IMPLIED
+ ondblclick %Script; #IMPLIED
+ onmousedown %Script; #IMPLIED
+ onmouseup %Script; #IMPLIED
+ onmouseover %Script; #IMPLIED
+ onmousemove %Script; #IMPLIED
+ onmouseout %Script; #IMPLIED
+ onkeypress %Script; #IMPLIED
+ onkeydown %Script; #IMPLIED
+ onkeyup %Script; #IMPLIED"
+ >
+
+<!-- attributes for elements that can get the focus
+ accesskey accessibility key character
+ tabindex position in tabbing order
+ onfocus the element got the focus
+ onblur the element lost the focus
+-->
+<!ENTITY % focus
+ "accesskey %Character; #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED"
+ >
+
+<!ENTITY % attrs "%coreattrs; %i18n; %events;">
+
+<!-- text alignment for p, div, h1-h6. The default is
+ align="left" for ltr headings, "right" for rtl -->
+
+<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
+
+<!--=================== Text Elements ====================================-->
+
+<!ENTITY % special.extra
+ "object | applet | img | map | iframe">
+
+<!ENTITY % special.basic
+ "br | span | bdo">
+
+<!ENTITY % special
+ "%special.basic; | %special.extra;">
+
+<!ENTITY % fontstyle.extra "big | small | font | basefont">
+
+<!ENTITY % fontstyle.basic "tt | i | b | u
+ | s | strike ">
+
+<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
+
+<!ENTITY % phrase.extra "sub | sup">
+<!ENTITY % phrase.basic "em | strong | dfn | code | q |
+ samp | kbd | var | cite | abbr | acronym">
+
+<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
+
+<!ENTITY % inline.forms "input | select | textarea | label | button">
+
+<!-- these can occur at block or inline level -->
+<!ENTITY % misc.inline "ins | del | script">
+
+<!-- these can only occur at block level -->
+<!ENTITY % misc "noscript | %misc.inline;">
+
+<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
+
+<!-- %Inline; covers inline or "text-level" elements -->
+<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
+
+<!--================== Block level elements ==============================-->
+
+<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
+<!ENTITY % lists "ul | ol | dl | menu | dir">
+<!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">
+
+<!ENTITY % block
+ "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
+
+<!-- %Flow; mixes block and inline and is used for list items etc. -->
+<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
+
+<!--================== Content models for exclusions =====================-->
+
+<!-- a elements use %Inline; excluding a -->
+
+<!ENTITY % a.content
+ "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
+
+<!-- pre uses %Inline excluding img, object, applet, big, small,
+ font, or basefont -->
+
+<!ENTITY % pre.content
+ "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
+ %inline.forms; | %misc.inline;)*">
+
+<!-- form uses %Flow; excluding form -->
+
+<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
+
+<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
+
+<!ENTITY % button.content
+ "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
+ table | br | span | bdo | object | applet | img | map |
+ %fontstyle; | %phrase; | %misc;)*">
+
+<!--================ Document Structure ==================================-->
+
+<!-- the namespace URI designates the document profile -->
+
+<!ELEMENT html (head, body)>
+<!ATTLIST html
+ %i18n;
+ id ID #IMPLIED
+ xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
+ >
+
+<!--================ Document Head =======================================-->
+
+<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
+
+<!-- content model is %head.misc; combined with a single
+ title and an optional base element in any order -->
+
+<!ELEMENT head (%head.misc;,
+ ((title, %head.misc;, (base, %head.misc;)?) |
+ (base, %head.misc;, (title, %head.misc;))))>
+
+<!ATTLIST head
+ %i18n;
+ id ID #IMPLIED
+ profile %URI; #IMPLIED
+ >
+
+<!-- The title element is not considered part of the flow of text.
+ It should be displayed, for example as the page header or
+ window title. Exactly one title is required per document.
+ -->
+<!ELEMENT title (#PCDATA)>
+<!ATTLIST title
+ %i18n;
+ id ID #IMPLIED
+ >
+
+<!-- document base URI -->
+
+<!ELEMENT base EMPTY>
+<!ATTLIST base
+ id ID #IMPLIED
+ href %URI; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!-- generic metainformation -->
+<!ELEMENT meta EMPTY>
+<!ATTLIST meta
+ %i18n;
+ id ID #IMPLIED
+ http-equiv CDATA #IMPLIED
+ name CDATA #IMPLIED
+ content CDATA #REQUIRED
+ scheme CDATA #IMPLIED
+ >
+
+<!--
+ Relationship values can be used in principle:
+
+ a) for document specific toolbars/menus when used
+ with the link element in document head e.g.
+ start, contents, previous, next, index, end, help
+ b) to link to a separate style sheet (rel="stylesheet")
+ c) to make a link to a script (rel="script")
+ d) by stylesheets to control how collections of
+ html nodes are rendered into printed documents
+ e) to make a link to a printable version of this document
+ e.g. a PostScript or PDF version (rel="alternate" media="print")
+-->
+
+<!ELEMENT link EMPTY>
+<!ATTLIST link
+ %attrs;
+ charset %Charset; #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ type %ContentType; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ media %MediaDesc; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!-- style info, which may include CDATA sections -->
+<!ELEMENT style (#PCDATA)>
+<!ATTLIST style
+ %i18n;
+ id ID #IMPLIED
+ type %ContentType; #REQUIRED
+ media %MediaDesc; #IMPLIED
+ title %Text; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- script statements, which may include CDATA sections -->
+<!ELEMENT script (#PCDATA)>
+<!ATTLIST script
+ id ID #IMPLIED
+ charset %Charset; #IMPLIED
+ type %ContentType; #REQUIRED
+ language CDATA #IMPLIED
+ src %URI; #IMPLIED
+ defer (defer) #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!-- alternate content container for non script-based rendering -->
+
+<!ELEMENT noscript %Flow;>
+<!ATTLIST noscript
+ %attrs;
+ >
+
+<!--======================= Frames =======================================-->
+
+<!-- inline subwindow -->
+
+<!ELEMENT iframe %Flow;>
+<!ATTLIST iframe
+ %coreattrs;
+ longdesc %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ src %URI; #IMPLIED
+ frameborder (1|0) "1"
+ marginwidth %Pixels; #IMPLIED
+ marginheight %Pixels; #IMPLIED
+ scrolling (yes|no|auto) "auto"
+ align %ImgAlign; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ >
+
+<!-- alternate content container for non frame-based rendering -->
+
+<!ELEMENT noframes %Flow;>
+<!ATTLIST noframes
+ %attrs;
+ >
+
+<!--=================== Document Body ====================================-->
+
+<!ELEMENT body %Flow;>
+<!ATTLIST body
+ %attrs;
+ onload %Script; #IMPLIED
+ onunload %Script; #IMPLIED
+ background %URI; #IMPLIED
+ bgcolor %Color; #IMPLIED
+ text %Color; #IMPLIED
+ link %Color; #IMPLIED
+ vlink %Color; #IMPLIED
+ alink %Color; #IMPLIED
+ >
+
+<!ELEMENT div %Flow;> <!-- generic language/style container -->
+<!ATTLIST div
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Paragraphs =======================================-->
+
+<!ELEMENT p %Inline;>
+<!ATTLIST p
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Headings =========================================-->
+
+<!--
+ There are six levels of headings from h1 (the most important)
+ to h6 (the least important).
+-->
+
+<!ELEMENT h1 %Inline;>
+<!ATTLIST h1
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h2 %Inline;>
+<!ATTLIST h2
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h3 %Inline;>
+<!ATTLIST h3
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h4 %Inline;>
+<!ATTLIST h4
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h5 %Inline;>
+<!ATTLIST h5
+ %attrs;
+ %TextAlign;
+ >
+
+<!ELEMENT h6 %Inline;>
+<!ATTLIST h6
+ %attrs;
+ %TextAlign;
+ >
+
+<!--=================== Lists ============================================-->
+
+<!-- Unordered list bullet styles -->
+
+<!ENTITY % ULStyle "(disc|square|circle)">
+
+<!-- Unordered list -->
+
+<!ELEMENT ul (li)+>
+<!ATTLIST ul
+ %attrs;
+ type %ULStyle; #IMPLIED
+ compact (compact) #IMPLIED
+ >
+
+<!-- Ordered list numbering style
+
+ 1 arabic numbers 1, 2, 3, ...
+ a lower alpha a, b, c, ...
+ A upper alpha A, B, C, ...
+ i lower roman i, ii, iii, ...
+ I upper roman I, II, III, ...
+
+ The style is applied to the sequence number which by default
+ is reset to 1 for the first list item in an ordered list.
+-->
+<!ENTITY % OLStyle "CDATA">
+
+<!-- Ordered (numbered) list -->
+
+<!ELEMENT ol (li)+>
+<!ATTLIST ol
+ %attrs;
+ type %OLStyle; #IMPLIED
+ compact (compact) #IMPLIED
+ start %Number; #IMPLIED
+ >
+
+<!-- single column list (DEPRECATED) -->
+<!ELEMENT menu (li)+>
+<!ATTLIST menu
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- multiple column list (DEPRECATED) -->
+<!ELEMENT dir (li)+>
+<!ATTLIST dir
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
+<!ENTITY % LIStyle "CDATA">
+
+<!-- list item -->
+
+<!ELEMENT li %Flow;>
+<!ATTLIST li
+ %attrs;
+ type %LIStyle; #IMPLIED
+ value %Number; #IMPLIED
+ >
+
+<!-- definition lists - dt for term, dd for its definition -->
+
+<!ELEMENT dl (dt|dd)+>
+<!ATTLIST dl
+ %attrs;
+ compact (compact) #IMPLIED
+ >
+
+<!ELEMENT dt %Inline;>
+<!ATTLIST dt
+ %attrs;
+ >
+
+<!ELEMENT dd %Flow;>
+<!ATTLIST dd
+ %attrs;
+ >
+
+<!--=================== Address ==========================================-->
+
+<!-- information on author -->
+
+<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
+<!ATTLIST address
+ %attrs;
+ >
+
+<!--=================== Horizontal Rule ==================================-->
+
+<!ELEMENT hr EMPTY>
+<!ATTLIST hr
+ %attrs;
+ align (left|center|right) #IMPLIED
+ noshade (noshade) #IMPLIED
+ size %Pixels; #IMPLIED
+ width %Length; #IMPLIED
+ >
+
+<!--=================== Preformatted Text ================================-->
+
+<!-- content is %Inline; excluding
+ "img|object|applet|big|small|sub|sup|font|basefont" -->
+
+<!ELEMENT pre %pre.content;>
+<!ATTLIST pre
+ %attrs;
+ width %Number; #IMPLIED
+ xml:space (preserve) #FIXED 'preserve'
+ >
+
+<!--=================== Block-like Quotes ================================-->
+
+<!ELEMENT blockquote %Flow;>
+<!ATTLIST blockquote
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!--=================== Text alignment ===================================-->
+
+<!-- center content -->
+<!ELEMENT center %Flow;>
+<!ATTLIST center
+ %attrs;
+ >
+
+<!--=================== Inserted/Deleted Text ============================-->
+
+<!--
+ ins/del are allowed in block and inline content, but its
+ inappropriate to include block content within an ins element
+ occurring in inline content.
+-->
+<!ELEMENT ins %Flow;>
+<!ATTLIST ins
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!ELEMENT del %Flow;>
+<!ATTLIST del
+ %attrs;
+ cite %URI; #IMPLIED
+ datetime %Datetime; #IMPLIED
+ >
+
+<!--================== The Anchor Element ================================-->
+
+<!-- content is %Inline; except that anchors shouldn't be nested -->
+
+<!ELEMENT a %a.content;>
+<!ATTLIST a
+ %attrs;
+ %focus;
+ charset %Charset; #IMPLIED
+ type %ContentType; #IMPLIED
+ name NMTOKEN #IMPLIED
+ href %URI; #IMPLIED
+ hreflang %LanguageCode; #IMPLIED
+ rel %LinkTypes; #IMPLIED
+ rev %LinkTypes; #IMPLIED
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--===================== Inline Elements ================================-->
+
+<!ELEMENT span %Inline;> <!-- generic language/style container -->
+<!ATTLIST span
+ %attrs;
+ >
+
+<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
+<!ATTLIST bdo
+ %coreattrs;
+ %events;
+ lang %LanguageCode; #IMPLIED
+ xml:lang %LanguageCode; #IMPLIED
+ dir (ltr|rtl) #REQUIRED
+ >
+
+<!ELEMENT br EMPTY> <!-- forced line break -->
+<!ATTLIST br
+ %coreattrs;
+ clear (left|all|right|none) "none"
+ >
+
+<!ELEMENT em %Inline;> <!-- emphasis -->
+<!ATTLIST em %attrs;>
+
+<!ELEMENT strong %Inline;> <!-- strong emphasis -->
+<!ATTLIST strong %attrs;>
+
+<!ELEMENT dfn %Inline;> <!-- definitional -->
+<!ATTLIST dfn %attrs;>
+
+<!ELEMENT code %Inline;> <!-- program code -->
+<!ATTLIST code %attrs;>
+
+<!ELEMENT samp %Inline;> <!-- sample -->
+<!ATTLIST samp %attrs;>
+
+<!ELEMENT kbd %Inline;> <!-- something user would type -->
+<!ATTLIST kbd %attrs;>
+
+<!ELEMENT var %Inline;> <!-- variable -->
+<!ATTLIST var %attrs;>
+
+<!ELEMENT cite %Inline;> <!-- citation -->
+<!ATTLIST cite %attrs;>
+
+<!ELEMENT abbr %Inline;> <!-- abbreviation -->
+<!ATTLIST abbr %attrs;>
+
+<!ELEMENT acronym %Inline;> <!-- acronym -->
+<!ATTLIST acronym %attrs;>
+
+<!ELEMENT q %Inline;> <!-- inlined quote -->
+<!ATTLIST q
+ %attrs;
+ cite %URI; #IMPLIED
+ >
+
+<!ELEMENT sub %Inline;> <!-- subscript -->
+<!ATTLIST sub %attrs;>
+
+<!ELEMENT sup %Inline;> <!-- superscript -->
+<!ATTLIST sup %attrs;>
+
+<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
+<!ATTLIST tt %attrs;>
+
+<!ELEMENT i %Inline;> <!-- italic font -->
+<!ATTLIST i %attrs;>
+
+<!ELEMENT b %Inline;> <!-- bold font -->
+<!ATTLIST b %attrs;>
+
+<!ELEMENT big %Inline;> <!-- bigger font -->
+<!ATTLIST big %attrs;>
+
+<!ELEMENT small %Inline;> <!-- smaller font -->
+<!ATTLIST small %attrs;>
+
+<!ELEMENT u %Inline;> <!-- underline -->
+<!ATTLIST u %attrs;>
+
+<!ELEMENT s %Inline;> <!-- strike-through -->
+<!ATTLIST s %attrs;>
+
+<!ELEMENT strike %Inline;> <!-- strike-through -->
+<!ATTLIST strike %attrs;>
+
+<!ELEMENT basefont EMPTY> <!-- base font size -->
+<!ATTLIST basefont
+ id ID #IMPLIED
+ size CDATA #REQUIRED
+ color %Color; #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!ELEMENT font %Inline;> <!-- local change to font -->
+<!ATTLIST font
+ %coreattrs;
+ %i18n;
+ size CDATA #IMPLIED
+ color %Color; #IMPLIED
+ face CDATA #IMPLIED
+ >
+
+<!--==================== Object ======================================-->
+<!--
+ object is used to embed objects as part of HTML pages.
+ param elements should precede other content. Parameters
+ can also be expressed as attribute/value pairs on the
+ object element itself when brevity is desired.
+-->
+
+<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST object
+ %attrs;
+ declare (declare) #IMPLIED
+ classid %URI; #IMPLIED
+ codebase %URI; #IMPLIED
+ data %URI; #IMPLIED
+ type %ContentType; #IMPLIED
+ codetype %ContentType; #IMPLIED
+ archive %UriList; #IMPLIED
+ standby %Text; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ name NMTOKEN #IMPLIED
+ tabindex %Number; #IMPLIED
+ align %ImgAlign; #IMPLIED
+ border %Pixels; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!--
+ param is used to supply a named property value.
+ In XML it would seem natural to follow RDF and support an
+ abbreviated syntax where the param elements are replaced
+ by attribute value pairs on the object start tag.
+-->
+<!ELEMENT param EMPTY>
+<!ATTLIST param
+ id ID #IMPLIED
+ name CDATA #REQUIRED
+ value CDATA #IMPLIED
+ valuetype (data|ref|object) "data"
+ type %ContentType; #IMPLIED
+ >
+
+<!--=================== Java applet ==================================-->
+<!--
+ One of code or object attributes must be present.
+ Place param elements before other content.
+-->
+<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
+<!ATTLIST applet
+ %coreattrs;
+ codebase %URI; #IMPLIED
+ archive CDATA #IMPLIED
+ code CDATA #IMPLIED
+ object CDATA #IMPLIED
+ alt %Text; #IMPLIED
+ name NMTOKEN #IMPLIED
+ width %Length; #REQUIRED
+ height %Length; #REQUIRED
+ align %ImgAlign; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!--=================== Images ===========================================-->
+
+<!--
+ To avoid accessibility problems for people who aren't
+ able to see the image, you should provide a text
+ description using the alt and longdesc attributes.
+ In addition, avoid the use of server-side image maps.
+-->
+
+<!ELEMENT img EMPTY>
+<!ATTLIST img
+ %attrs;
+ src %URI; #REQUIRED
+ alt %Text; #REQUIRED
+ name NMTOKEN #IMPLIED
+ longdesc %URI; #IMPLIED
+ height %Length; #IMPLIED
+ width %Length; #IMPLIED
+ usemap %URI; #IMPLIED
+ ismap (ismap) #IMPLIED
+ align %ImgAlign; #IMPLIED
+ border %Length; #IMPLIED
+ hspace %Pixels; #IMPLIED
+ vspace %Pixels; #IMPLIED
+ >
+
+<!-- usemap points to a map element which may be in this document
+ or an external document, although the latter is not widely supported -->
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+ separate document although this isn't yet widely supported -->
+
+<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
+<!ATTLIST map
+ %i18n;
+ %events;
+ id ID #REQUIRED
+ class CDATA #IMPLIED
+ style %StyleSheet; #IMPLIED
+ title %Text; #IMPLIED
+ name CDATA #IMPLIED
+ >
+
+<!ELEMENT area EMPTY>
+<!ATTLIST area
+ %attrs;
+ %focus;
+ shape %Shape; "rect"
+ coords %Coords; #IMPLIED
+ href %URI; #IMPLIED
+ nohref (nohref) #IMPLIED
+ alt %Text; #REQUIRED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--================ Forms ===============================================-->
+
+<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
+
+<!ATTLIST form
+ %attrs;
+ action %URI; #REQUIRED
+ method (get|post) "get"
+ name NMTOKEN #IMPLIED
+ enctype %ContentType; "application/x-www-form-urlencoded"
+ onsubmit %Script; #IMPLIED
+ onreset %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ accept-charset %Charsets; #IMPLIED
+ target %FrameTarget; #IMPLIED
+ >
+
+<!--
+ Each label must not contain more than ONE field
+ Label elements shouldn't be nested.
+-->
+<!ELEMENT label %Inline;>
+<!ATTLIST label
+ %attrs;
+ for IDREF #IMPLIED
+ accesskey %Character; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ >
+
+<!ENTITY % InputType
+ "(text | password | checkbox |
+ radio | submit | reset |
+ file | hidden | image | button)"
+ >
+
+<!-- the name attribute is required for all but submit & reset -->
+
+<!ELEMENT input EMPTY> <!-- form control -->
+<!ATTLIST input
+ %attrs;
+ %focus;
+ type %InputType; "text"
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ checked (checked) #IMPLIED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ size CDATA #IMPLIED
+ maxlength %Number; #IMPLIED
+ src %URI; #IMPLIED
+ alt CDATA #IMPLIED
+ usemap %URI; #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ accept %ContentTypes; #IMPLIED
+ align %ImgAlign; #IMPLIED
+ >
+
+<!ELEMENT select (optgroup|option)+> <!-- option selector -->
+<!ATTLIST select
+ %attrs;
+ name CDATA #IMPLIED
+ size %Number; #IMPLIED
+ multiple (multiple) #IMPLIED
+ disabled (disabled) #IMPLIED
+ tabindex %Number; #IMPLIED
+ onfocus %Script; #IMPLIED
+ onblur %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!ELEMENT optgroup (option)+> <!-- option group -->
+<!ATTLIST optgroup
+ %attrs;
+ disabled (disabled) #IMPLIED
+ label %Text; #REQUIRED
+ >
+
+<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
+<!ATTLIST option
+ %attrs;
+ selected (selected) #IMPLIED
+ disabled (disabled) #IMPLIED
+ label %Text; #IMPLIED
+ value CDATA #IMPLIED
+ >
+
+<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
+<!ATTLIST textarea
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ rows %Number; #REQUIRED
+ cols %Number; #REQUIRED
+ disabled (disabled) #IMPLIED
+ readonly (readonly) #IMPLIED
+ onselect %Script; #IMPLIED
+ onchange %Script; #IMPLIED
+ >
+
+<!--
+ The fieldset element is used to group form fields.
+ Only one legend element should occur in the content
+ and if present should only be preceded by whitespace.
+-->
+<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
+<!ATTLIST fieldset
+ %attrs;
+ >
+
+<!ENTITY % LAlign "(top|bottom|left|right)">
+
+<!ELEMENT legend %Inline;> <!-- fieldset label -->
+<!ATTLIST legend
+ %attrs;
+ accesskey %Character; #IMPLIED
+ align %LAlign; #IMPLIED
+ >
+
+<!--
+ Content is %Flow; excluding a, form, form controls, iframe
+-->
+<!ELEMENT button %button.content;> <!-- push button -->
+<!ATTLIST button
+ %attrs;
+ %focus;
+ name CDATA #IMPLIED
+ value CDATA #IMPLIED
+ type (button|submit|reset) "submit"
+ disabled (disabled) #IMPLIED
+ >
+
+<!-- single-line text input control (DEPRECATED) -->
+<!ELEMENT isindex EMPTY>
+<!ATTLIST isindex
+ %coreattrs;
+ %i18n;
+ prompt %Text; #IMPLIED
+ >
+
+<!--======================= Tables =======================================-->
+
+<!-- Derived from IETF HTML table standard, see [RFC1942] -->
+
+<!--
+ The border attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The frame attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the valign attribute.
+-->
+<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The rules attribute defines which rules to draw between cells:
+
+ If rules is absent then assume:
+ "none" if border is absent or border="0" otherwise "all"
+-->
+
+<!ENTITY % TRules "(none | groups | rows | cols | all)">
+
+<!-- horizontal placement of table relative to document -->
+<!ENTITY % TAlign "(left|center|right)">
+
+<!-- horizontal alignment attributes for cell contents
+
+ char alignment char, e.g. char=':'
+ charoff offset for alignment char
+-->
+<!ENTITY % cellhalign
+ "align (left|center|right|justify|char) #IMPLIED
+ char %Character; #IMPLIED
+ charoff %Length; #IMPLIED"
+ >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cellvalign
+ "valign (top|middle|bottom|baseline) #IMPLIED"
+ >
+
+<!ELEMENT table
+ (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
+<!ELEMENT caption %Inline;>
+<!ELEMENT thead (tr)+>
+<!ELEMENT tfoot (tr)+>
+<!ELEMENT tbody (tr)+>
+<!ELEMENT colgroup (col)*>
+<!ELEMENT col EMPTY>
+<!ELEMENT tr (th|td)+>
+<!ELEMENT th %Flow;>
+<!ELEMENT td %Flow;>
+
+<!ATTLIST table
+ %attrs;
+ summary %Text; #IMPLIED
+ width %Length; #IMPLIED
+ border %Pixels; #IMPLIED
+ frame %TFrame; #IMPLIED
+ rules %TRules; #IMPLIED
+ cellspacing %Length; #IMPLIED
+ cellpadding %Length; #IMPLIED
+ align %TAlign; #IMPLIED
+ bgcolor %Color; #IMPLIED
+ >
+
+<!ENTITY % CAlign "(top|bottom|left|right)">
+
+<!ATTLIST caption
+ %attrs;
+ align %CAlign; #IMPLIED
+ >
+
+<!--
+colgroup groups a set of col elements. It allows you to group
+several semantically related columns together.
+-->
+<!ATTLIST colgroup
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ col elements define the alignment properties for cells in
+ one or more columns.
+
+ The width attribute specifies the width of the columns, e.g.
+
+ width=64 width in screen pixels
+ width=0.5* relative width of 0.5
+
+ The span attribute causes the attributes of one
+ col element to apply to more than one column.
+-->
+<!ATTLIST col
+ %attrs;
+ span %Number; "1"
+ width %MultiLength; #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!--
+ Use thead to duplicate headers when breaking table
+ across page boundaries, or for static headers when
+ tbody sections are rendered in scrolling panel.
+
+ Use tfoot to duplicate footers when breaking table
+ across page boundaries, or for static footers when
+ tbody sections are rendered in scrolling panel.
+
+ Use multiple tbody sections when rules are needed
+ between groups of table rows.
+-->
+<!ATTLIST thead
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tfoot
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tbody
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tr
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ bgcolor %Color; #IMPLIED
+ >
+
+<!-- Scope is simpler than headers attribute for common tables -->
+<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
+
+<!-- th is for headers, td for data and for cells acting as both -->
+
+<!ATTLIST th
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor %Color; #IMPLIED
+ width %Length; #IMPLIED
+ height %Length; #IMPLIED
+ >
+
+<!ATTLIST td
+ %attrs;
+ abbr %Text; #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope %Scope; #IMPLIED
+ rowspan %Number; "1"
+ colspan %Number; "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor %Color; #IMPLIED
+ width %Length; #IMPLIED
+ height %Length; #IMPLIED
+ >
+
diff --git a/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument17-expected.txt b/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument17-expected.txt
new file mode 100644
index 0000000..9127312
--- /dev/null
+++ b/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument17-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument17
+Status error
+Message Line undefined: TypeError
diff --git a/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument18-expected.txt b/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument18-expected.txt
new file mode 100644
index 0000000..2cc3c43
--- /dev/null
+++ b/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument18-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument18
+Status error
+Message Line undefined: TypeError
diff --git a/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument19-expected.txt b/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument19-expected.txt
new file mode 100644
index 0000000..adb8fc0
--- /dev/null
+++ b/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument19-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument19
+Status error
+Message Line undefined: TypeError
diff --git a/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument20-expected.txt b/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument20-expected.txt
new file mode 100644
index 0000000..f0fa6c9
--- /dev/null
+++ b/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument20-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument20
+Status error
+Message Line undefined: TypeError
diff --git a/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument21-expected.txt b/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument21-expected.txt
new file mode 100644
index 0000000..08f758c
--- /dev/null
+++ b/LayoutTests/platform/android-v8/dom/xhtml/level2/html/HTMLDocument21-expected.txt
@@ -0,0 +1,3 @@
+Test http://www.w3.org/2001/DOM-Test-Suite/level2/html/HTMLDocument21
+Status error
+Message Line undefined: TypeError
diff --git a/LayoutTests/platform/android/dom/xhtml/level2/html/HTMLFormElement10-expected.txt b/LayoutTests/platform/android/dom/xhtml/level2/html/HTMLFormElement10-expected.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/LayoutTests/platform/android/dom/xhtml/level2/html/HTMLFormElement10-expected.txt