diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-overflow/scrollbar-gutter-rtl-001.html')
-rw-r--r-- | testing/web-platform/tests/css/css-overflow/scrollbar-gutter-rtl-001.html | 261 |
1 files changed, 261 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-overflow/scrollbar-gutter-rtl-001.html b/testing/web-platform/tests/css/css-overflow/scrollbar-gutter-rtl-001.html new file mode 100644 index 0000000000..0d553c87b4 --- /dev/null +++ b/testing/web-platform/tests/css/css-overflow/scrollbar-gutter-rtl-001.html @@ -0,0 +1,261 @@ +<!doctype html> +<meta charset="utf-8"> +<title>CSS Overflow: test scrollbar-gutter with horizontal right to left content</title> +<link rel="author" title="Felipe Erias Morandeira" href="mailto:felipeerias@igalia.com" /> +<link rel="help" href="https://drafts.csswg.org/css-overflow-4/#scrollbar-gutter-property" /> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/support/parsing-testcommon.js"></script> +<style> + .line { + display: flex; + } + + .container { + writing-mode: horizontal-tb; + direction: rtl; + + height: 200px; + width: 200px; + margin: 10px; + padding: 0px; + border-width: 0px; + overflow-x: auto; + flex: none; + background: deepskyblue; + } + + .content { + width: 100%; + height: 100%; + padding: 0px; + border-width: 0px; + background: lightsalmon; + } + + /* scrollbar-gutter */ + .sg_auto { + scrollbar-gutter: auto; + } + + .sg_stable { + scrollbar-gutter: stable; + } + + .sg_stable_mirror { + scrollbar-gutter: stable both-edges; + } + + /* overflow */ + .container.ov_auto { + overflow-y: auto; + } + + .container.ov_scroll { + overflow-y: scroll; + } + + .container.ov_visible { + overflow: visible; + } + + .container.ov_hidden { + overflow-y: hidden; + } + + .container.ov_clip { + overflow: clip; + } +</style> +<body> + + <div class="line"> + <div class="container ov_auto sg_auto" id="container_auto_auto"> + <div class="content" id="content_auto_auto">auto/auto</div> + </div> + + <div class="container ov_scroll sg_auto" id="container_scroll_auto"> + <div class="content" id="content_scroll_auto">scroll/auto</div> + </div> + + <div class="container ov_visible sg_auto" id="container_visible_auto"> + <div class="content" id="content_visible_auto">visible/auto</div> + </div> + + <div class="container ov_hidden sg_auto" id="container_hidden_auto"> + <div class="content" id="content_hidden_auto">hidden/auto</div> + </div> + + <div class="container ov_clip sg_auto" id="container_clip_auto"> + <div class="content" id="content_clip_auto">clip/auto</div> + </div> + </div> + + <div class="line"> + <div class="container ov_auto sg_stable" id="container_auto_stable"> + <div class="content" id="content_auto_stable">auto/stable</div> + </div> + + <div class="container ov_scroll sg_stable" id="container_scroll_stable"> + <div class="content" id="content_scroll_stable">scroll/stable</div> + </div> + + <div class="container ov_visible sg_stable" id="container_visible_stable"> + <div class="content" id="content_visible_stable">visible/stable</div> + </div> + + <div class="container ov_hidden sg_stable" id="container_hidden_stable"> + <div class="content" id="content_hidden_stable">hidden/stable</div> + </div> + + <div class="container ov_clip sg_stable" id="container_clip_stable"> + <div class="content" id="content_clip_stable">clip/stable</div> + </div> + </div> + + <div class="line"> + <div class="container ov_auto sg_stable_mirror" id="container_auto_stable_mirror"> + <div class="content" id="content_auto_stable_mirror">auto/stable both-edges</div> + </div> + + <div class="container ov_scroll sg_stable_mirror" id="container_scroll_stable_mirror"> + <div class="content" id="content_scroll_stable_mirror">scroll/stable both-edges</div> + </div> + + <div class="container ov_visible sg_stable_mirror" id="container_visible_stable_mirror"> + <div class="content" id="content_visible_stable_mirror">visible/stable both-edges</div> + </div> + + <div class="container ov_hidden sg_stable_mirror" id="container_hidden_stable_mirror"> + <div class="content" id="content_hidden_stable_mirror">hidden/stable both-edges</div> + </div> + + <div class="container ov_clip sg_stable_mirror" id="container_clip_stable_mirror"> + <div class="content" id="content_clip_stable_mirror">clip/stable both-edges</div> + </div> + </div> + + <script type="text/javascript"> + setup({ explicit_done: true }); + + // scrollbar-gutter: auto + + test(function () { + let container = document.getElementById('container_auto_auto'); + let content = document.getElementById('content_auto_auto'); + assert_equals(container.offsetWidth, content.offsetWidth, "content width"); + assert_equals(container.offsetLeft, content.offsetLeft, "content position"); + }, "overflow auto, scrollbar-gutter auto"); + + test(function () { + let container = document.getElementById('container_scroll_auto'); + let content = document.getElementById('content_scroll_auto'); + assert_greater_than(container.offsetWidth, content.offsetWidth, "content width"); + assert_less_than(container.offsetLeft, content.offsetLeft, "content position"); + }, "overflow scroll, scrollbar-gutter auto"); + + test(function () { + let container = document.getElementById('container_visible_auto'); + let content = document.getElementById('content_visible_auto'); + assert_equals(container.offsetWidth, content.offsetWidth, "content width"); + assert_equals(container.offsetLeft, content.offsetLeft, "content position"); + }, "overflow visible, scrollbar-gutter auto"); + + test(function () { + let container = document.getElementById('container_hidden_auto'); + let content = document.getElementById('content_hidden_auto'); + assert_equals(container.offsetWidth, content.offsetWidth, "content width"); + assert_equals(container.offsetLeft, content.offsetLeft, "content position"); + }, "overflow hidden, scrollbar-gutter auto"); + + test(function () { + let container = document.getElementById('container_clip_auto'); + let content = document.getElementById('content_clip_auto'); + assert_equals(container.offsetWidth, content.offsetWidth, "content width"); + assert_equals(container.offsetLeft, content.offsetLeft, "content position"); + }, "overflow clip, scrollbar-gutter auto"); + + // scrollbar-gutter: stable + + test(function () { + let container = document.getElementById('container_auto_stable'); + let content = document.getElementById('content_auto_stable'); + assert_greater_than(container.offsetWidth, content.offsetWidth, "content width"); + assert_less_than(container.offsetLeft, content.offsetLeft, "content position"); + }, "overflow auto, scrollbar-gutter stable"); + + test(function () { + let container = document.getElementById('container_scroll_stable'); + let content = document.getElementById('content_scroll_stable'); + assert_greater_than(container.offsetWidth, content.offsetWidth, "content width"); + assert_less_than(container.offsetLeft, content.offsetLeft, "content position"); + }, "overflow scroll, scrollbar-gutter stable"); + + test(function () { + let container = document.getElementById('container_visible_stable'); + let content = document.getElementById('content_visible_stable'); + assert_equals(container.offsetWidth, content.offsetWidth, "content width"); + assert_equals(container.offsetLeft, content.offsetLeft, "content position"); + }, "overflow visible, scrollbar-gutter stable"); + + test(function () { + let container = document.getElementById('container_hidden_stable'); + let content = document.getElementById('content_hidden_stable'); + assert_greater_than(container.offsetWidth, content.offsetWidth, "content width"); + assert_less_than(container.offsetLeft, content.offsetLeft, "content position"); + }, "overflow hidden, scrollbar-gutter stable"); + + test(function () { + let container = document.getElementById('container_clip_stable'); + let content = document.getElementById('content_clip_stable'); + assert_equals(container.offsetWidth, content.offsetWidth, "content width"); + assert_equals(container.offsetLeft, content.offsetLeft, "content position"); + }, "overflow clip, scrollbar-gutter stable"); + + // scrollbar-gutter: stable both-edges + + test(function () { + let container = document.getElementById('container_auto_stable_mirror'); + let content = document.getElementById('content_auto_stable_mirror'); + assert_greater_than(container.offsetWidth, content.offsetWidth, "content width"); + assert_less_than(container.offsetLeft, content.offsetLeft, "content position"); + let reference = document.getElementById('content_auto_stable'); + assert_less_than(content.offsetWidth, reference.offsetWidth, "compare with \"stable\""); + }, "overflow auto, scrollbar-gutter stable both-edges"); + + test(function () { + let container = document.getElementById('container_scroll_stable_mirror'); + let content = document.getElementById('content_scroll_stable_mirror'); + assert_greater_than(container.offsetWidth, content.offsetWidth, "content width"); + assert_less_than(container.offsetLeft, content.offsetLeft, "content position"); + let reference = document.getElementById('content_scroll_stable'); + assert_less_than(content.offsetWidth, reference.offsetWidth, "compare with \"stable\""); + }, "overflow scroll, scrollbar-gutter stable both-edges"); + + test(function () { + let container = document.getElementById('container_visible_stable_mirror'); + let content = document.getElementById('content_visible_stable_mirror'); + assert_equals(container.offsetWidth, content.offsetWidth, "content width"); + assert_equals(container.offsetLeft, content.offsetLeft, "content position"); + }, "overflow visible, scrollbar-gutter stable both-edges"); + + test(function () { + let container = document.getElementById('container_hidden_stable_mirror'); + let content = document.getElementById('content_hidden_stable_mirror'); + assert_greater_than(container.offsetWidth, content.offsetWidth, "content width"); + assert_less_than(container.offsetLeft, content.offsetLeft, "content position"); + let reference = document.getElementById('content_auto_stable'); + assert_less_than(content.offsetWidth, reference.offsetWidth, "compare with \"stable\""); + }, "overflow hidden, scrollbar-gutter stable both-edges"); + + test(function () { + let container = document.getElementById('container_clip_stable_mirror'); + let content = document.getElementById('content_clip_stable_mirror'); + assert_equals(container.offsetWidth, content.offsetWidth, "content width"); + assert_equals(container.offsetLeft, content.offsetLeft, "content position"); + }, "overflow clip, scrollbar-gutter stable both-edges"); + + done(); + + </script> +</body> |