Bug 1475033 part 8 - Add some basic tests for scrollbar-width. r?heycam draft
authorXidorn Quan <me@upsuper.org>
Tue, 07 Aug 2018 16:06:28 +1000
changeset 829856 f0041762b3958a1f3626e403fe3ee344fc482e8d
parent 829855 9e9a53592fce925d62220fec3253aa3f297c8efa
push id118798
push userxquan@mozilla.com
push dateFri, 17 Aug 2018 01:17:12 +0000
reviewersheycam
bugs1475033
milestone63.0a1
Bug 1475033 part 8 - Add some basic tests for scrollbar-width. r?heycam MozReview-Commit-ID: IZ9j7UIZDqe
testing/web-platform/meta/MANIFEST.json
testing/web-platform/meta/css/css-scrollbars/scrollbar-width-keywords.html.ini
testing/web-platform/tests/css/css-scrollbars/scrollbar-width-keywords.html
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -331769,16 +331769,22 @@
     ]
    ],
    "css/css-scroll-snap/snap-to-visible-areas.html": [
     [
      "/css/css-scroll-snap/snap-to-visible-areas.html",
      {}
     ]
    ],
+   "css/css-scrollbars/scrollbar-width-keywords.html": [
+    [
+     "/css/css-scrollbars/scrollbar-width-keywords.html",
+     {}
+    ]
+   ],
    "css/css-shadow-parts/all-hosts.html": [
     [
      "/css/css-shadow-parts/all-hosts.html",
      {}
     ]
    ],
    "css/css-shadow-parts/chaining-invalid-selector.html": [
     [
@@ -542252,16 +542258,20 @@
   "css/css-scroll-snap/snap-to-visible-areas.html": [
    "822743445263368eb2c26c0004b25fe4b1aeaa5f",
    "testharness"
   ],
   "css/css-scrollbars/META.yml": [
    "9209d5d1f4174d1e22258c0571db89b51f4f3a59",
    "support"
   ],
+  "css/css-scrollbars/scrollbar-width-keywords.html": [
+   "94ccd6ef6d550c83c97ba9525135cc309cc35842",
+   "testharness"
+  ],
   "css/css-scrollbars/support/viewport-scrollbar-body-frame.html": [
    "74c02f994e3103daabfaf40a7fb84d3169451d2c",
    "support"
   ],
   "css/css-scrollbars/support/viewport-scrollbar-frame.html": [
    "95101024b4f27e93eb2c61c52df70845ae5842bf",
    "support"
   ],
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/meta/css/css-scrollbars/scrollbar-width-keywords.html.ini
@@ -0,0 +1,2 @@
+[scrollbar-width-keywords.html]
+    prefs: [layout.css.scrollbar-width.enabled:true]
new file mode 100644
--- /dev/null
+++ b/testing/web-platform/tests/css/css-scrollbars/scrollbar-width-keywords.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<meta charset="UTF-8">
+<link rel="author" title="Xidorn Quan" href="mailto:me@upsuper.org">
+<link rel="author" title="Mozilla" href="https://www.mozilla.org">
+<link rel="help" href="https://drafts.csswg.org/css-scrollbars-1/#scrollbar-width">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<style>
+  .area {
+    width: 100px;
+    height: 100px;
+    overflow: auto;
+    display: inline-block;
+  }
+  .area::before {
+    content: "";
+    display: block;
+    width: 200px;
+    height: 200px;
+  }
+</style>
+<div id="scrollbar-none" class="area" style="scrollbar-width: none"></div>
+<div id="scrollbar-thin" class="area" style="scrollbar-width: thin"></div>
+<div id="scrollbar-auto" class="area" style="scrollbar-width: auto"></div>
+<script>
+test(function() {
+  let elem = document.getElementById("scrollbar-none");
+  assert_equals(elem.clientWidth, 100);
+  assert_equals(elem.clientHeight, 100);
+}, "scrollbar-width: none should have no scrollbar");
+
+test(function() {
+  let thin = document.getElementById("scrollbar-thin");
+  let auto = document.getElementById("scrollbar-auto");
+  assert_greater_than_equal(thin.clientWidth, auto.clientWidth);
+  assert_greater_than_equal(thin.clientHeight, auto.clientHeight);
+}, "scrollbar-width: thin should have scrollbar no wider than auto");
+</script>