diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-scroll-snap-2/scroll-start-target/scroll-start-target-with-scroll-snap.tentative.html')
-rw-r--r-- | testing/web-platform/tests/css/css-scroll-snap-2/scroll-start-target/scroll-start-target-with-scroll-snap.tentative.html | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-scroll-snap-2/scroll-start-target/scroll-start-target-with-scroll-snap.tentative.html b/testing/web-platform/tests/css/css-scroll-snap-2/scroll-start-target/scroll-start-target-with-scroll-snap.tentative.html new file mode 100644 index 0000000000..9cb66c01fc --- /dev/null +++ b/testing/web-platform/tests/css/css-scroll-snap-2/scroll-start-target/scroll-start-target-with-scroll-snap.tentative.html @@ -0,0 +1,79 @@ +<!DOCTYPE html> +<html> + +<head> + <meta charset="utf-8"> + <title> CSS Scroll Snap 2 Test: scroll-start-target*</title> + <link rel="help" href="https://drafts.csswg.org/css-scroll-snap-2/#scroll-start-target"> + <script src="/resources/testharness.js"></script> + <script src="/resources/testharnessreport.js"></script> +</head> + +<body> + <style> + .spacer { + width: 1000px; + height: 1000px; + } + + .scroller { + width: 300px; + height: 300px; + border: solid 1px black; + overflow: scroll; + margin: 0px; + position: absolute; + scroll-snap-type: y mandatory; + } + + .box { + position: absolute; + width: 200px; + height: 200px; + } + + .top_left { + top: 0px; + left: 0px; + background-color: red; + } + + .center { + top: 200px; + left: 200px; + background-color: purple; + scroll-start-target: auto auto; + } + + .bottom_right { + top: 400px; + left: 400px; + background-color: yellow; + /* Expect scroller to snap to the top and left border of the bottom right div. */ + scroll-snap-align: start start; + } + </style> + <div class="scroller" id="scroller"> + <div class="spacer"></div> + <div class="top_left box" id="top_left_box"></div> + <div class="center box" id="centerbox"></div> + <div class="bottom_right box"></div> + </div> + <script> + test((t) => { + let scroller = document.getElementById("scroller"); + let top_left_box = document.getElementById("top_left_box"); + let center_box = document.getElementById("center_box"); + + const expected_scroll_top = top_left_box.getBoundingClientRect().height + + centerbox.getBoundingClientRect().height; + const expected_scroll_left = top_left_box.getBoundingClientRect().width; + centerbox.getBoundingClientRect().width; + + assert_approx_equals(scroller.scrollTop, expected_scroll_top, 1, + "scroll-start-target sets initial vertical scroll position"); + assert_approx_equals(scroller.scrollLeft, expected_scroll_left, 1, + "scroll-start-target sets initial horizontal scroll position"); + }); + </script> +</body>
\ No newline at end of file |