blob: 3bc0481e4449de54097751a3e7ab4632ed3a47ee [file] [log] [blame]
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<div id="test-cases" style="display:none;">
<CONTAINER id="container1">
<container id="container2">
<Container id="container3">
</Container>
</container>
</CONTAINER>
<svg xmlns="http://www.w3.org/2000/svg">
<CONTAINER id="container4">
<container id="container5">
<Container id="container6">
</Container>
</container>
</CONTAINER>
</svg>
</div>
</body>
<script><![CDATA[
description("Test tagname's case-sensitivity when matching SVG-in-XHTML with Element.matches().");
var testCases = document.getElementById("test-cases");
var svgDocument = new DOMParser().parseFromString('<svg xmlns="http://www.w3.org/2000/svg"><CONTAINER id="container7"><container id="container8"><Container id="container9"></Container></container></CONTAINER></svg>', 'text/xml');
testCases.appendChild(document.importNode(svgDocument.documentElement, true));
function shouldMatch(sourceID, selector)
{
shouldBeTrue("document.getElementById('" + sourceID + "').matches('" + selector + "')")
}
function shouldNotMatch(sourceID, selector)
{
shouldBeFalse("document.getElementById('" + sourceID + "').matches('" + selector + "')")
}
debug("Basic cases, tagname alone.");
shouldNotMatch("container1", "Container");
shouldNotMatch("container1", "container");
shouldMatch("container1", "CONTAINER");
shouldNotMatch("container2", "Container");
shouldMatch("container2", "container");
shouldNotMatch("container2", "CONTAINER");
shouldMatch("container3", "Container");
shouldNotMatch("container3", "container");
shouldNotMatch("container3", "CONTAINER");
shouldNotMatch("container4", "Container");
shouldNotMatch("container4", "container");
shouldMatch("container4", "CONTAINER");
shouldNotMatch("container5", "Container");
shouldMatch("container5", "container");
shouldNotMatch("container5", "CONTAINER");
shouldMatch("container6", "Container");
shouldNotMatch("container6", "container");
shouldNotMatch("container6", "CONTAINER");
shouldNotMatch("container7", "Container");
shouldNotMatch("container7", "container");
shouldMatch("container7", "CONTAINER");
shouldNotMatch("container8", "Container");
shouldMatch("container8", "container");
shouldNotMatch("container8", "CONTAINER");
shouldMatch("container9", "Container");
shouldNotMatch("container9", "container");
shouldNotMatch("container9", "CONTAINER");
debug("");
debug("Complex selectors");
shouldNotMatch("container1", "div Container");
shouldNotMatch("container1", "div container");
shouldMatch("container1", "div CONTAINER");
shouldNotMatch("container2", "div Container");
shouldMatch("container2", "div container");
shouldNotMatch("container2", "div CONTAINER");
shouldMatch("container3", "div Container");
shouldNotMatch("container3", "div container");
shouldNotMatch("container3", "div CONTAINER");
shouldNotMatch("container4", "div Container");
shouldNotMatch("container4", "div container");
shouldMatch("container4", "div CONTAINER");
shouldNotMatch("container5", "div Container");
shouldMatch("container5", "div container");
shouldNotMatch("container5", "div CONTAINER");
shouldMatch("container6", "div Container");
shouldNotMatch("container6", "div container");
shouldNotMatch("container6", "div CONTAINER");
shouldNotMatch("container7", "div Container");
shouldNotMatch("container7", "div container");
shouldMatch("container7", "div CONTAINER");
shouldNotMatch("container8", "div Container");
shouldMatch("container8", "div container");
shouldNotMatch("container8", "div CONTAINER");
shouldMatch("container9", "div Container");
shouldNotMatch("container9", "div container");
shouldNotMatch("container9", "div CONTAINER");
]]></script>
<script src="../../resources/js-test-post.js"></script>
</html>