Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!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>