diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/html/semantics/tabular-data/processing-model-1 | |
parent | Initial commit. (diff) | |
download | firefox-43a97878ce14b72f0981164f87f2e35e14151312.tar.xz firefox-43a97878ce14b72f0981164f87f2e35e14151312.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/html/semantics/tabular-data/processing-model-1')
2 files changed, 125 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/tabular-data/processing-model-1/col-span-limits.html b/testing/web-platform/tests/html/semantics/tabular-data/processing-model-1/col-span-limits.html new file mode 100644 index 0000000000..a4a425b9c1 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/tabular-data/processing-model-1/col-span-limits.html @@ -0,0 +1,59 @@ +<!DOCTYPE html> +<title>Limits on col/colgroup.span</title> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> +<style> + div.square { + height:20px; + width:20px; + border:1px solid lime; + } + main table { + border-collapse:collapse; + border:1px solid blue; + } + main table col { + border-left:2px solid black; + } +</style> +<div id=log></div> +<main> +<table id=table1> + <col span=1000> + <tr> + <td colspan=999><div class="square"></div></td> + <td><div class="square"></div></td> + </tr> + <tr> + <td colspan=1000><div class="square"></div></td> + </tr> +</table> +<br> +These two must look the same, each having 2 cells in one row: +<table id=table2> + <col span=1000> + <tr> + <td colspan=1000><div class="square"></div></td> + <td><div class="square"></div></td> + </tr> +</table> +<br> +<table id=table3> + <col span=1001> + <tr> + <td colspan=1000><div class="square"></div></td> + <td><div class="square"></div></td> + </tr> +</table> +</main> + +<script> +test(() => { + assert_equals(table1.offsetWidth, 53); +}, "col span of 1000 must work"); + +test(() => { + assert_equals(table2.offsetWidth, 51, "table2 width"); + assert_equals(table3.offsetWidth, 51, "table3 width"); +}, "col span of 1001 must be treated as 1000"); +</script> 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> |