summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/selectors/querySelector-leftmost-selector-matches-ancestor.html
blob: 2b6ca0075b75c6db05c6e2290364767f3503af5d (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<!doctype html>
<html>
<head>
<script src="../../resources/js-test.js"></script>
</head>
<body id="body" class="body">
  <div class="parentSibling"></div>
  <div class="parent">
    <div id="sibling" class="sibling"></div>
    <div id="rootNode" class="rootNode">
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
      <div></div>
    </div>
  </div>
</body>
<script>
description('Test for crbug.com/304069: querySelectorAll regression.');

var rootNode = document.getElementById('rootNode');
shouldBe("rootNode.querySelectorAll('#body div').length", "6");
shouldBe("rootNode.querySelectorAll('#body').length", "0");
shouldBe("rootNode.querySelectorAll('div + #rootNode div').length", "6");

shouldBe("rootNode.querySelectorAll('.sibling + .rootNode div').length", "6");
shouldBe("rootNode.querySelectorAll('.sibling ~ .rootNode div').length", "6");
shouldBe("rootNode.querySelectorAll('.sibling .rootNode div').length", "0");
shouldBe("rootNode.querySelectorAll('.sibling div').length", "0");
shouldBe("rootNode.querySelectorAll('.body .rootNode div').length", "6");
shouldBe("rootNode.querySelectorAll('.body .sibling + .rootNode div').length", "6");
shouldBe("rootNode.querySelectorAll('.body .parentSibling + .parent div').length", "6");
shouldBe("rootNode.querySelectorAll('.body .parentSibling ~ .parent div').length", "6");
shouldBe("rootNode.querySelectorAll('.body div').length", "6");
shouldBe("rootNode.querySelectorAll('.body').length", "0");

shouldBe("rootNode.querySelectorAll('body div').length", "6");
shouldBe("rootNode.querySelectorAll('body').length", "0");

shouldBeNull("rootNode.querySelector('#body')");
shouldBeNull("rootNode.querySelector('.body')");
shouldBeNull("rootNode.querySelector('body')");
</script>
</html>