<!DOCTYPE html>
<html>

<head>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
</head>

<body>
<span>One two</span>
<script>
promise_test(async function (t) {
    await new Promise(resolve => {
        window.onload = resolve;
    })
    const range = document.createRange();
    range.setStart(document.body, 0);
    range.setEnd(document.body, 1);
    const highlight = new Highlight(range);
    CSS.highlights.set("foo", highlight);
    document.getSelection().addRange(range);

    const highlightRange = highlight.entries().next().value[0];
    const selectionRange = document.getSelection().getRangeAt(0);
    assert_equals(
        highlightRange,
        selectionRange,
        "The same range must be present in the highlight and the Selection."
    );
}, "Range is shared between a custom highlight and the document's Selection.");
</script>
</body>

</html>
