blob: 2b6ca0075b75c6db05c6e2290364767f3503af5d [file] [log] [blame]
<!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>