Javascript  |  57行  |  1.22 KB

description('Test behavior of the HTMLTableRowElement cells attribute in cases where there is unusual nesting.');

function checkCellNesting(tag)
{
    var row = document.createElement("tr");
    var container = document.createElement(tag);
    var cell = document.createElement("td");
    row.appendChild(container);
    container.appendChild(cell);
    return row.cells.length;
}

function checkHeaderCellNesting(tag)
{
    var row = document.createElement("tr");
    var container = document.createElement(tag);
    var cell = document.createElement("th");
    row.appendChild(container);
    container.appendChild(cell);
    return row.cells.length;
}

var tags = [
    "col",
    "colgroup",
    "div",
    "form",
    "script",
    "table",
    "tbody",
    "tfoot",
    "thead",
    "tr",
];

for (i = 0; i < tags.length; ++i)
    shouldBe('checkCellNesting("' + tags[i] + '")', '0');

debug('');

shouldBe('checkCellNesting("td")', '1');
shouldBe('checkCellNesting("th")', '1');

debug('');

for (i = 0; i < tags.length; ++i)
    shouldBe('checkHeaderCellNesting("' + tags[i] + '")', '0');

debug('');

shouldBe('checkHeaderCellNesting("td")', '1');
shouldBe('checkHeaderCellNesting("th")', '1');

debug('');

var successfullyParsed = true;