diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/tabular-data/processing-model-1/span-limits.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/tabular-data/processing-model-1/span-limits.html | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/tabular-data/processing-model-1/span-limits.html b/testing/web-platform/tests/html/semantics/tabular-data/processing-model-1/span-limits.html new file mode 100644 index 0000000000..cdfa61bbcd --- /dev/null +++ b/testing/web-platform/tests/html/semantics/tabular-data/processing-model-1/span-limits.html @@ -0,0 +1,66 @@ +<!DOCTYPE html> +<title>Limits on colSpan/rowSpan</title> +<meta name="timeout" content="long"> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<div id=log></div> + +<table border=1> + <tr><td colspan=500>a<td colspan=500 id=a1>a + <!-- This cell must span the previous two --> + <tr><td colspan=1000 id=a2>a +</table> + +<table border=1> + <tr><td colspan=1000 id=b1>a<td>a + <!-- This cell must span only the first cell in the previous row --> + <tr><td colspan=1001 id=b2>a +</table> + +<table border=1 style="float:left"> + <!-- The first column must go all the way down to the bottom --> + <tr><td rowspan=65534 id=c1>a<td> + <!-- We'll add another 65533 rows later --> +</table> + +<table border=1> + <!-- The first column must go one cell below the bottom --> + <tr><td rowspan=65535 id=d1>a<td> + <!-- We'll add another 65534 rows later --> +</table> + +<script> +var $ = document.querySelector.bind(document); + +test(() => { + assert_equals($("#a2").getBoundingClientRect().right, + $("#a1").getBoundingClientRect().right); +}, "colspan of 1000 must work"); + +test(() => { + assert_equals($("#b2").getBoundingClientRect().right, + $("#b1").getBoundingClientRect().right); +}, "colspan of 1001 must be treated as 1000"); + +test(() => { + var s = ""; + for (var i = 0; i < 65532; i++) { + s += "<tr><td>"; + } + s += "<tr><td id=c2>"; + document.querySelectorAll("table")[2].firstElementChild.innerHTML += s; + assert_equals($("#c1").getBoundingClientRect().bottom, + $("#c2").getBoundingClientRect().bottom); +}, "rowspan of 65534 must work"); + +test(() => { + var s = ""; + for (var i = 0; i < 65532; i++) { + s += "<tr><td>"; + } + s += "<tr><td id=d2><tr><td>a<td>"; + document.querySelectorAll("table")[3].firstElementChild.innerHTML += s; + assert_equals($("#d1").getBoundingClientRect().bottom, + $("#d2").getBoundingClientRect().bottom); +}, "rowspan of 65535 must be treated as 65534"); +</script> |