summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/mozilla/tests/css
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/mozilla/tests/css')
-rw-r--r--testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print-ref.html41
-rw-r--r--testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print.html46
-rw-r--r--testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print-ref.html41
-rw-r--r--testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print.html59
-rw-r--r--testing/web-platform/mozilla/tests/css/cssom/window_size_rounding.html58
5 files changed, 219 insertions, 26 deletions
diff --git a/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print-ref.html b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print-ref.html
new file mode 100644
index 0000000000..c3acd7e90a
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print-ref.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+
+<style>
+@page { size: 5in 3in; margin: 0.5in; }
+body { margin: 0; }
+
+td {
+ border: 3px solid purple;
+ vertical-align: top;
+}
+ol {
+ margin: 0;
+}
+</style>
+
+<table>
+ <tr>
+ <td>
+ <ol>
+ <li></li><li></li><li></li><li></li>
+ <li></li><li></li><li></li><li></li>
+ <li></li><li></li><li></li><li></li>
+ </ol>
+ </td>
+ <td>top</td>
+ <td>middle</td>
+ <td>bottom</td>
+ <td rowspan="2">bottom</td>
+ </tr>
+ <tr>
+ <td colspan="4">
+ <ol>
+ <li></li><li></li>
+ <li></li><li></li>
+ </ol>
+ </td>
+ </tr>
+</table>
diff --git a/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print.html b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print.html
new file mode 100644
index 0000000000..a5812ce42e
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-001-print.html
@@ -0,0 +1,46 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1648947">
+<link rel="match" href="table-cell-vertical-align-001-print-ref.html">
+
+<style>
+@page { size: 5in 3in; margin: 0.5in; }
+body { margin: 0; }
+
+td {
+ border: 3px solid purple;
+}
+ol {
+ margin: 0;
+}
+</style>
+
+<table>
+ <!-- This table row is fragmented across page boundary, and that makes Firefox
+ force table-cells to behave as if they have vertical-align:top, to avoid
+ data loss from the complexity of fragmenting arbitrarily-aligned cells.
+ -->
+ <tr>
+ <td style="vertical-align: baseline">
+ <ol>
+ <li></li><li></li><li></li><li></li>
+ <li></li><li></li><li></li><li></li>
+ <li></li><li></li><li></li><li></li>
+ </ol>
+ </td>
+ <td style="vertical-align: top">top</td>
+ <td style="vertical-align: middle">middle</td>
+ <td style="vertical-align: bottom">bottom</td>
+ <td style="vertical-align: bottom" rowspan="2">bottom</td>
+ </tr>
+ <tr>
+ <td colspan="4">
+ <ol>
+ <li></li><li></li>
+ <li></li><li></li>
+ </ol>
+ </td>
+ </tr>
+</table>
diff --git a/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print-ref.html b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print-ref.html
new file mode 100644
index 0000000000..f525414684
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print-ref.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1648947">
+<link rel="match" href="table-cell-vertical-align-002-print-ref.html">
+
+<style>
+@page { size: 5in 3in; margin: 0.5in; }
+body { margin: 0; }
+
+.tbody {
+ display: flex;
+ inline-size: min-content;
+}
+.tbody:nth-child(1) {
+ background: cyan;
+}
+.tbody:nth-child(2) {
+ background: yellow;
+}
+ol {
+ margin: 0;
+}
+</style>
+
+<div class="tbody">
+ <ol class="td">
+ <li></li><li></li><li></li><li></li>
+ </ol>
+ <div class="td" style="align-self: end">bottom</div>
+</div>
+
+<div class="tbody">
+ <ol class="td">
+ <li></li><li></li><li></li><li></li>
+ <li></li><li></li><li></li><li></li>
+ <li></li><li></li><li></li><li></li>
+ </ol>
+ <div class="td">bottom</div>
+</div>
diff --git a/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print.html b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print.html
new file mode 100644
index 0000000000..91416ee543
--- /dev/null
+++ b/testing/web-platform/mozilla/tests/css/css-break/table/table-cell-vertical-align-002-print.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org/">
+<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1648947">
+<link rel="match" href="table-cell-vertical-align-002-print-ref.html">
+
+<style>
+@page { size: 5in 3in; margin: 0.5in; }
+body { margin: 0; }
+
+table {
+ border-spacing: 0;
+}
+tbody:nth-child(1) > tr {
+ background: cyan;
+}
+tbody:nth-child(2) > tr {
+ background: yellow;
+}
+td {
+ padding: 0;
+}
+ol {
+ margin: 0;
+}
+</style>
+
+<table>
+ <tbody>
+ <!-- This table row can be fit in the first page. The table-cells'
+ vertical-align should be respected.
+ -->
+ <tr>
+ <td style="vertical-align: baseline">
+ <ol>
+ <li></li><li></li><li></li><li></li>
+ </ol>
+ </td>
+ <td style="vertical-align: bottom">bottom</td>
+ </tr>
+ </tbody>
+ <tbody>
+ <!-- This table row is fragmented across page boundary, and that makes Firefox
+ force table-cells to behave as if they have vertical-align:top, to avoid
+ data loss from the complexity of fragmenting arbitrarily-aligned cells.
+ -->
+ <tr>
+ <td style="vertical-align: baseline">
+ <ol>
+ <li></li><li></li><li></li><li></li>
+ <li></li><li></li><li></li><li></li>
+ <li></li><li></li><li></li><li></li>
+ </ol>
+ </td>
+ <td style="vertical-align: bottom">bottom</td>
+ </tr>
+ </tbody>
+</table>
diff --git a/testing/web-platform/mozilla/tests/css/cssom/window_size_rounding.html b/testing/web-platform/mozilla/tests/css/cssom/window_size_rounding.html
index 695bf8f34b..c49f7cbae8 100644
--- a/testing/web-platform/mozilla/tests/css/cssom/window_size_rounding.html
+++ b/testing/web-platform/mozilla/tests/css/cssom/window_size_rounding.html
@@ -1,35 +1,41 @@
<!doctype html>
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
-<pre>
+<iframe style="border: 0; padding: 0; width: 100.75px; height: 100.75px" srcdoc="<html style='width: 100vw; height: 100vh'>"></iframe>
<script>
-test(function() {
- let originalWidth = window.innerWidth;
- let originalHeight = window.innerHeight;
+onload = function() {
+ test(() => {
+ assert_equals(window.devicePixelRatio, 1, `precondition: ${window.innerWidth}x${window.innerHeight}`);
- assert_equals(window.devicePixelRatio, 1, `precondition: ${originalWidth}x${originalHeight}`);
+ // So that the 100.75 is fractional css pixel, but whole dev pixels, and representable in app units.
+ SpecialPowers.setFullZoom(window, 4);
- // This precondition holds because of:
- // https://searchfox.org/mozilla-central/rev/50215d649d4854812837f1343e8f47bd998dacb5/browser/base/content/browser.js#1717
- //
- // But if this test starts failing you can just update the assert and the
- // factor below accordingly so that the asserts keep passing.
- assert_equals(originalWidth, 1280, "precondition");
+ let win = document.querySelector("iframe").contentWindow;
+ const rounded = 101;
+ const truncated = 100;
+ const raw = 100.75;
- // Set a fractional scale factor that guarantees that we get a fractional innerWidth
- const kFactor = 1.5;
- const kOneAppUnit = 1 / 60;
+ const rect = win.document.documentElement.getBoundingClientRect();
+ assert_equals(rect.height, raw);
+ assert_equals(rect.width, raw);
- SpecialPowers.setFullZoom(window, kFactor);
- assert_approx_equals(window.devicePixelRatio, kFactor, kOneAppUnit);
- assert_not_equals(window.innerWidth, originalWidth);
- assert_not_equals(window.innerHeight, originalHeight);
- if (SpecialPowers.getBoolPref("dom.innerSize.rounded")) {
- assert_equals(window.innerWidth, Math.round(originalWidth / kFactor));
- assert_equals(window.innerHeight, Math.round(originalHeight / kFactor));
- } else {
- assert_not_equals(window.innerWidth, Math.round(window.innerWidth));
- }
- SpecialPowers.setFullZoom(window, 1); // Restore zoom so results can be seen fine...
-});
+ switch (SpecialPowers.getIntPref("dom.innerSize.rounding")) {
+ case 1:
+ assert_equals(win.innerWidth, rounded);
+ assert_equals(win.innerHeight, rounded);
+ break;
+ case 2:
+ assert_equals(win.innerWidth, truncated);
+ assert_equals(win.innerHeight, truncated);
+ break;
+ default:
+ assert_equals(win.innerWidth, raw);
+ assert_equals(win.innerHeight, raw);
+ break;
+ }
+
+ SpecialPowers.setFullZoom(window, 1);
+ })
+};
</script>