summaryrefslogtreecommitdiffstats
path: root/dom/base/test/test_find_bug1654683.html
blob: c4a8aea8aff846523660b2b6bf94e2432f3da672 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!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>