| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>beforematch fired on ScrollToTextFragment</title> |
| <link rel="author" title="Joey Arhar" href="mailto:jarhar@chromium.org"> |
| <link rel="help" href="https://html.spec.whatwg.org/multipage/interactive-elements.html#the-details-element"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| |
| <script src="/common/utils.js"></script> |
| <script src="/scroll-to-text-fragment/stash.js"></script> |
| |
| <script> |
| promise_test(t => new Promise((resolve, reject) => { |
| const key = token(); |
| test_driver.bless('Open a scroll to text fragment URL', () => { |
| window.open( |
| `resources/auto-expand-details-text-fragment.html?key=${key}#:~:text=foo`, |
| '_blank', |
| 'noopener'); |
| }); |
| fetchResults(key, resolve, reject); |
| }).then(results => { |
| assert_true(results.detailsHasOpenAttribute, |
| 'The matching closed details element should be open.'); |
| assert_true(results.pageYOffsetAfterRaf > 0, |
| 'The page should be scrolled down to the match.'); |
| }), 'Verifies that the target page has scrolled as a result of a ScrollToTextFragment navigation.'); |
| </script> |