1eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockdescription('Test behavior of the HTMLTableSectionElement rows attribute in cases where there is unusual nesting.');
2eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
3eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockfunction checkRowNesting(tag)
4eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block{
5eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    var body = document.createElement("tbody");
6eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    var container = document.createElement(tag);
7eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    var row = document.createElement("tr");
8eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    body.appendChild(container);
9eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    container.appendChild(row);
10eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    return body.rows.length;
11eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block}
12eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
13eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockvar sectionTags = [
14eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    "tbody",
15eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    "tfoot",
16eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    "thead",
17eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block];
18eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
19eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockvar otherTags = [
20eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    "col",
21eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    "colgroup",
22eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    "div",
23eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    "form",
24eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    "script",
25eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    "table",
26eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    "td",
27eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    "th",
28eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block];
29eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
30eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockfor (i = 0; i < otherTags.length; ++i)
31eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    shouldBe('checkRowNesting("' + otherTags[i] + '")', '0');
32eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
33eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockdebug('');
34eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
35eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockfor (i = 0; i < sectionTags.length; ++i)
36eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block    shouldBe('checkRowNesting("' + sectionTags[i] + '")', '0');
37eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
38eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockdebug('');
39eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
40eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve BlockshouldBe('checkRowNesting("tr")', '1');
41eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
42eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockdebug('');
43eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Block
44eff69b907ef2cd3a9af0351287a929c66f58e3f6Steve Blockvar successfullyParsed = true;
45