30 lines
1.1 KiB
HTML
30 lines
1.1 KiB
HTML
<!doctype html>
|
|
<meta charset="utf-8">
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<div class="before">
|
|
mozilla before
|
|
</div>
|
|
<input value="mozilla">
|
|
<div class="after">
|
|
mozilla after
|
|
</div>
|
|
<script>
|
|
function selectionContainedWithin(selector) {
|
|
for (let node = getSelection().anchorNode; node; node = node.parentNode) {
|
|
if (node.matches && node.matches(selector))
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
test(function () {
|
|
let input = document.querySelector("input");
|
|
input.focus();
|
|
assert_true(window.find("mozilla"), "Found the string, didn't throw");
|
|
assert_true(selectionContainedWithin(".after"), "Should've found the following node");
|
|
assert_true(!window.find("mozilla"), "No more matches forward");
|
|
assert_true(window.find("mozilla", /* caseSensitive = */ false, /* backwards = */ true), "Should find stuff backwards");
|
|
assert_true(selectionContainedWithin(".before"), "Should've found the node before the input (should not return the NAC range)");
|
|
}, "window.find() doesn't throw if focused on an <input>");
|
|
</script>
|