| <!DOCTYPE html> |
| <title>Scroll back to initial position</title> |
| <meta name="timeout" content="long"> |
| <link rel="author" title="Yupei Wang" href="mailto:perryuwang@tencent.com"> |
| <link rel="help" href="https://drafts.csswg.org/cssom-view/#smooth-scrolling"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="support/scroll-behavior.js"></script> |
| <style> |
| .filler { height: 1000px } |
| |
| #scrollable { |
| overflow: scroll; |
| width: 100px; |
| height: 100px; |
| } |
| </style> |
| <div id="log"></div> |
| <div id="testContainer"> |
| <div id="scrollable"> |
| <div class="filler"></div> |
| </div> |
| </div> |
| <script> |
| promise_test(() => { |
| resetScroll(scrollable); |
| assert_equals(scrollable.scrollTop, 0, "Inital value of scrollTop"); |
| scrollNode(scrollable, "scroll", "smooth", 0, 500); |
| scrollNode(scrollable, "scroll", "smooth", 0, 0); |
| return waitForScrollEnd(scrollable).then(() => { |
| assert_equals(scrollable.scrollTop, 0, "Final value of scrollTop"); |
| }); |
| }, "Element should scroll back to initial position with smooth behavior"); |
| |
| promise_test(() => { |
| resetScroll(scrollable); |
| assert_equals(scrollable.scrollTop, 0, "Inital value of scrollTop"); |
| scrollNode(scrollable, "scroll", "smooth", 0, 500); |
| scrollNode(scrollable, "scroll", "auto", 0, 0); |
| return waitForScrollEnd(scrollable).then(() => { |
| assert_equals(scrollable.scrollTop, 0, "Final value of scrollTop"); |
| }); |
| }, "Element should scroll back to initial position with auto behavior"); |
| </script> |