blob: 8925588aac20741b3f6dd43c0b80ef24ef41c93a [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script src="../../../resources/js-test-pre.js"></script>
</head>
<body>
<!-- Testing that in XHTML documents CSS selectors use case-sensitive tag name matching. -->
<div id="content">
<div style="display: none">
<ul>
<li>
<textarea id="textarea1"></textarea>
<SPAN id="upper1"></SPAN>
</li>
</ul>
<unknownTag id="unknownTag1"></unknownTag>
</div>
</div>
<script>
<![CDATA[
var content = document.getElementById("content");
function checkMatchingSelector(selector, elementId) {
shouldBe("content.querySelector('" + selector + "')", "document.getElementById('" + elementId + "')");
shouldBeTrue("document.getElementById('" + elementId + "').webkitMatchesSelector('" + selector + "')");
}
function checkNonMatchingSelector(selector) {
shouldBeNull("content.querySelector('" + selector + "')");
}
checkMatchingSelector("div ul li SPAN", "upper1");
checkMatchingSelector("div ul li textarea + SPAN", "upper1");
checkNonMatchingSelector("div ul li span");
checkNonMatchingSelector("div ul li spAn");
checkNonMatchingSelector("DIV ul li span");
checkNonMatchingSelector("div UL li span");
checkMatchingSelector("unknownTag", "unknownTag1");
checkMatchingSelector("div unknownTag", "unknownTag1");
checkMatchingSelector("ul + unknownTag", "unknownTag1");
checkNonMatchingSelector("DIV unknownTag");
checkNonMatchingSelector("UL + unknownTag");
checkNonMatchingSelector("unknownTag1");
checkNonMatchingSelector("unknowntag");
checkNonMatchingSelector("Unknowntag");
checkNonMatchingSelector("div unknowntag");
]]>
</script>
<script src="../../../resources/js-test-post.js"></script>
</body>
</html>