Bug 1483502 [wpt PR 12494] - HTML: fieldset used value for CSS 'display', a=testonly
authorSimon Pieters <zcorpan@gmail.com>
Wed, 22 Aug 2018 13:25:04 +0000
changeset 488215 c9a3742b7ec5508b95d194f0aecb7d3d352ff594
parent 488214 3fde62d7eadf79faf634f1a16703a41052d8c25c
child 488216 1c9b6e275c9c860b222e497a08b4f0a064f0134b
push id9719
push userffxbld-merge
push dateFri, 24 Aug 2018 17:49:46 +0000
treeherdermozilla-beta@719ec98fba77 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly
bugs1483502, 12494
milestone63.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1483502 [wpt PR 12494] - HTML: fieldset used value for CSS 'display', a=testonly Automatic update from web-platform-testsHTML: fieldset used value for CSS 'display' See https://github.com/whatwg/html/issues/3915. -- wpt-commits: 1fbb6c1db6321c617158e2291168e75e1af1d209 wpt-pr: 12494
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/html/rendering/non-replaced-elements/the-fieldset-element-0/fieldset-display.html
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -355914,16 +355914,22 @@
     ]
    ],
    "html/rendering/non-replaced-elements/the-fieldset-element-0/fieldset-default-style.html": [
     [
      "/html/rendering/non-replaced-elements/the-fieldset-element-0/fieldset-default-style.html",
      {}
     ]
    ],
+   "html/rendering/non-replaced-elements/the-fieldset-element-0/fieldset-display.html": [
+    [
+     "/html/rendering/non-replaced-elements/the-fieldset-element-0/fieldset-display.html",
+     {}
+    ]
+   ],
    "html/rendering/non-replaced-elements/the-fieldset-element-0/legend-block-formatting-context.html": [
     [
      "/html/rendering/non-replaced-elements/the-fieldset-element-0/legend-block-formatting-context.html",
      {}
     ]
    ],
    "html/rendering/non-replaced-elements/the-fieldset-element-0/legend.html": [
     [
@@ -596817,16 +596823,20 @@
   "html/rendering/non-replaced-elements/tables/table-width.html": [
    "59c5ca70d41cc969aed7ac6a531c1ca9a5f82f0f",
    "reftest"
   ],
   "html/rendering/non-replaced-elements/the-fieldset-element-0/fieldset-default-style.html": [
    "f07c84f406cefc7054e8a13c2796d3d82673bdf7",
    "testharness"
   ],
+  "html/rendering/non-replaced-elements/the-fieldset-element-0/fieldset-display.html": [
+   "953328982032dae2d508619b90188534179a26a8",
+   "testharness"
+  ],
   "html/rendering/non-replaced-elements/the-fieldset-element-0/legend-block-formatting-context.html": [
    "4e9539179739a3690aab276f2ba98c25bd4dfe9b",
    "testharness"
   ],
   "html/rendering/non-replaced-elements/the-fieldset-element-0/legend-position-relative-ref.html": [
    "fd6c11a00566759fbf1e749d49ad396cf1a7ee08",
    "support"
   ],
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/html/rendering/non-replaced-elements/the-fieldset-element-0/fieldset-display.html
@@ -0,0 +1,41 @@
+<!doctype html>
+<title>fieldset and CSS display</title>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<style>
+ #inline-ref { display: inline-block; }
+</style>
+<fieldset id="block-ref">x</fieldset>
+<fieldset id="inline-ref">x</fieldset>
+<fieldset id="test">x</fieldset>
+<script>
+  const blockWidth = getComputedStyle(document.querySelector('#block-ref')).width;
+  const inlineWidth = getComputedStyle(document.querySelector('#inline-ref')).width;
+  const testElm = document.querySelector('#test');
+  const blocks = ['block', 'table', 'table-row-group', 'table-header-group', 'table-footer-group', 'table-row', 'table-cell',
+                  'table-column-group', 'table-column', 'table-caption', 'list-item', 'flow', 'flow-root','run-in'];
+  const inlines = ['inline', 'inline-block', 'inline-table', 'ruby', 'ruby-base', 'ruby-text', 'ruby-base-container', 'ruby-text-container'];
+
+  function test_display(val, expectedWidth) {
+    test(() => {
+      testElm.style.removeProperty('display');
+      testElm.style.display = val;
+      const computed = getComputedStyle(testElm);
+      // Note that computed value is different from the used value.
+      // E.g., if ruby is not supported, the following assertion will
+      // fail as the computed value of display will be block.
+      // If ruby is supported, computed.display will return "ruby",
+      // but the used value is supposed to be "inline".
+      assert_equals(computed.display, val, `display: ${val} is not supported`);
+      assert_equals(computed.width, expectedWidth);
+    }, `fieldset with display: ${val}`);
+  }
+
+  for (const val of blocks) {
+    test_display(val, blockWidth);
+  }
+
+  for (const val of inlines) {
+    test_display(val, inlineWidth);
+  }
+</script>