Implement the table section IDL attributes for HTML tables

This commit is contained in:
Yoav Alon 2016-03-13 21:47:35 +02:00
parent dfb482a2b7
commit 5e3dcae71f
9 changed files with 285 additions and 66 deletions

View file

@ -35059,7 +35059,22 @@
},
"local_changes": {
"deleted": [],
"items": {},
"items": {
"testharness": {
"html/semantics/tabular-data/the-table-element/tFoot.html": [
{
"path": "html/semantics/tabular-data/the-table-element/tFoot.html",
"url": "/html/semantics/tabular-data/the-table-element/tFoot.html"
}
],
"html/semantics/tabular-data/the-table-element/tHead.html": [
{
"path": "html/semantics/tabular-data/the-table-element/tHead.html",
"url": "/html/semantics/tabular-data/the-table-element/tHead.html"
}
]
}
},
"reftest_nodes": {}
},
"reftest_nodes": {

View file

@ -1,5 +0,0 @@
[getElementsByClassName-20.htm]
type: testharness
[get elements in document then add element to collection]
expected: FAIL

View file

@ -1,5 +0,0 @@
[getElementsByClassName-22.htm]
type: testharness
[move item in collection order]
expected: FAIL

View file

@ -1,5 +0,0 @@
[getElementsByClassName-25.htm]
type: testharness
[verify spacing is handled correctly]
expected: FAIL

View file

@ -4152,27 +4152,6 @@
[HTMLAreaElement interface: document.createElement("area") must inherit property "noHref" with the proper type (10)]
expected: FAIL
[HTMLTableElement interface: attribute tHead]
expected: FAIL
[HTMLTableElement interface: operation createTHead()]
expected: FAIL
[HTMLTableElement interface: operation deleteTHead()]
expected: FAIL
[HTMLTableElement interface: attribute tFoot]
expected: FAIL
[HTMLTableElement interface: operation createTFoot()]
expected: FAIL
[HTMLTableElement interface: operation deleteTFoot()]
expected: FAIL
[HTMLTableElement interface: attribute tBodies]
expected: FAIL
[HTMLTableElement interface: operation insertRow(long)]
expected: FAIL
@ -4206,27 +4185,6 @@
[HTMLTableElement interface: attribute cellSpacing]
expected: FAIL
[HTMLTableElement interface: document.createElement("table") must inherit property "tHead" with the proper type (3)]
expected: FAIL
[HTMLTableElement interface: document.createElement("table") must inherit property "createTHead" with the proper type (4)]
expected: FAIL
[HTMLTableElement interface: document.createElement("table") must inherit property "deleteTHead" with the proper type (5)]
expected: FAIL
[HTMLTableElement interface: document.createElement("table") must inherit property "tFoot" with the proper type (6)]
expected: FAIL
[HTMLTableElement interface: document.createElement("table") must inherit property "createTFoot" with the proper type (7)]
expected: FAIL
[HTMLTableElement interface: document.createElement("table") must inherit property "deleteTFoot" with the proper type (8)]
expected: FAIL
[HTMLTableElement interface: document.createElement("table") must inherit property "tBodies" with the proper type (9)]
expected: FAIL
[HTMLTableElement interface: document.createElement("table") must inherit property "insertRow" with the proper type (12)]
expected: FAIL

View file

@ -0,0 +1,48 @@
<!doctype html>
<meta charset="utf-8">
<title>tFoot tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<table id="t">
<caption id="tcaption"></caption><thead id="thead"></thead><tbody id="tbody1"></tbody><tbody id="tbody2"></tbody><tfoot id="tfoot1"></tfoot><tfoot id="tfoot2"></tfoot><tfoot id="tfoot3"></tfoot></table>
<script>
test(function() {
var t = document.getElementById("t");
var tfoot1 = document.getElementById("tfoot1");
assert_equals(t.tFoot, tfoot1);
var tfoot2 = document.getElementById("tfoot2");
t.tFoot = null;
assert_equals(t.tFoot, tfoot2);
var tfoot3 = document.getElementById("tfoot3");
t.deleteTFoot();
assert_equals(t.tFoot, tfoot3);
var tfoot = t.createTFoot();
assert_equals(t.tFoot, tfoot);
assert_equals(tfoot, tfoot3);
t.deleteTFoot();
assert_equals(t.tFoot, null);
var tbody2 = document.getElementById("tbody2");
tfoot = t.createTFoot();
assert_equals(t.tFoot, tfoot);
assert_equals(t.tFoot.previousSibling, tbody2);
assert_equals(t.tFoot.nextSibling, null);
assert_throws(new TypeError(), function(){
t.tFoot = document.createElement("div");
});
assert_throws("HierarchyRequestError", function(){
t.tFoot = document.createElement("thead");
});
})
</script>

View file

@ -0,0 +1,66 @@
<!doctype html>
<meta charset="utf-8">
<title>tHead tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<table id="t">
<caption id="tcaption"></caption><thead id="thead1"></thead><thead id="thead2"></thead><thead id="thead3"></thead><tbody id="tbody1"></tbody><tbody id="tbody2"></tbody><tfoot id="tfoot"></tfoot>
</table>
<table>
<thead id="t2thead">
<td>
<table id="t2">
</table>
</table>
<script>
test(function() {
var t = document.getElementById("t");
var thead1 = document.getElementById("thead1");
assert_equals(t.tHead, thead1);
var thead2 = document.getElementById("thead2");
t.tHead = null;
assert_equals(t.tHead, thead2);
var thead3 = document.getElementById("thead3");
t.deleteTHead();
assert_equals(t.tHead, thead3);
var thead = t.createTHead();
assert_equals(t.tHead, thead);
assert_equals(thead, thead3);
t.deleteTHead();
assert_equals(t.tHead, null);
var tcaption = document.getElementById("tcaption");
var tbody1 = document.getElementById("tbody1");
thead = t.createTHead();
assert_equals(t.tHead, thead);
assert_equals(t.tHead.previousSibling, tcaption);
assert_equals(t.tHead.nextSibling, tbody1);
assert_throws(new TypeError(), function(){
t.tHead = document.createElement("div");
});
assert_throws("HierarchyRequestError", function(){
t.tHead = document.createElement("tbody");
});
});
test(function() {
var t2 = document.getElementById("t2");
var t2thead = document.getElementById("t2thead");
assert_throws("HierarchyRequestError", function() {
t2.tHead = t2thead;
});
});
</script>