blob: e61a67068647ac58ea67c339e495489c50578386 [file] [log] [blame]
<!doctype html>
<html>
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<!-- Testing that in SVG tags inside HTML documents match using case-insensitive mode. -->
<div id="content">
<div style="display: none">
<ul>
<li>
<SPAN id="upper1"></SPAN>
<svg xmlns="http://www.w3.org/2000/svg">
<g id="group1"></g>
<textPath id="textPath1"></textPath>
<foreignObject id="foreignObject1"></foreignObject>
</svg>
</li>
</ul>
<unknownTag id="unknownTag1"></unknownTag>
</div>
</div>
<script>
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 + "')");
}
// Checking that tag name selectors still work on HTML elements when SVG is around.
checkMatchingSelector("SPAN", "upper1");
checkMatchingSelector("div ul li SPAN", "upper1");
checkMatchingSelector("unknownTag", "unknownTag1");
checkMatchingSelector("unknowntag", "unknownTag1");
checkMatchingSelector("g", "group1");
checkNonMatchingSelector("G");
checkMatchingSelector("textPath", "textPath1");
checkMatchingSelector("svg textPath", "textPath1");
checkNonMatchingSelector("textpath");
checkNonMatchingSelector("TextPath");
checkMatchingSelector("foreignObject", "foreignObject1");
checkMatchingSelector("svg foreignObject", "foreignObject1");
checkNonMatchingSelector("foreignobject");
checkNonMatchingSelector("ForeignObject");
checkMatchingSelector("textPath + foreignObject", "foreignObject1");
checkMatchingSelector("svg textPath + foreignObject", "foreignObject1");
checkNonMatchingSelector("textPath + foreignobject");
checkNonMatchingSelector("textPath + ForeignObject");
checkNonMatchingSelector("textpath + foreignObject");
checkNonMatchingSelector("TextPath + foreignObject");
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>