96 lines
4.2 KiB
HTML
96 lines
4.2 KiB
HTML
<html>
|
|
<head>
|
|
<script>
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
log = function(msg)
|
|
{
|
|
document.getElementById('console').appendChild(document.createTextNode(msg + "\n"));
|
|
}
|
|
|
|
shouldThrow = function(_a)
|
|
{
|
|
try {
|
|
eval(_a);
|
|
log("FAIL: " + _a + " did not throw");
|
|
} catch(ex) {
|
|
log("PASS: " + _a + " throws: " + ex);
|
|
}
|
|
}
|
|
|
|
shouldNotThrow = function(_a)
|
|
{
|
|
try {
|
|
eval(_a);
|
|
log("PASS: " + _a + " did not throw");
|
|
} catch(ex) {
|
|
log("FAIL: " + _a + " throws: " + ex);
|
|
}
|
|
}
|
|
|
|
onload = function()
|
|
{
|
|
shouldThrow("document.querySelector('bbb|pre')");
|
|
shouldThrow("document.querySelectorAll('bbb|pre')");
|
|
shouldThrow("document.body.matches('bbb|pre')");
|
|
shouldThrow("document.body.webkitMatchesSelector('bbb|pre')");
|
|
shouldNotThrow("document.querySelector('*|pre')");
|
|
shouldNotThrow("document.querySelectorAll('*|pre')");
|
|
shouldNotThrow("document.body.matches('*|pre')");
|
|
shouldNotThrow("document.body.webkitMatchesSelector('*|pre')");
|
|
shouldNotThrow("document.querySelector('|pre')");
|
|
shouldNotThrow("document.querySelectorAll('|pre')");
|
|
shouldNotThrow("document.body.matches('|pre')");
|
|
shouldNotThrow("document.body.webkitMatchesSelector('|pre')");
|
|
|
|
shouldThrow("document.querySelector('div bbb|pre')");
|
|
shouldThrow("document.querySelectorAll('div bbb|pre')");
|
|
shouldThrow("document.body.matches('div bbb|pre')");
|
|
shouldThrow("document.body.webkitMatchesSelector('div bbb|pre')");
|
|
shouldNotThrow("document.querySelector('div *|pre')");
|
|
shouldNotThrow("document.querySelectorAll('div *|pre')");
|
|
shouldNotThrow("document.body.matches('div *|pre')");
|
|
shouldNotThrow("document.body.webkitMatchesSelector('div *|pre')");
|
|
shouldNotThrow("document.querySelector('div |pre')");
|
|
shouldNotThrow("document.querySelectorAll('div |pre')");
|
|
shouldNotThrow("document.body.matches('div |pre')");
|
|
shouldNotThrow("document.body.webkitMatchesSelector('div |pre')");
|
|
|
|
shouldThrow("document.querySelector('[bbb|name=value]')");
|
|
shouldThrow("document.querySelectorAll('[bbb|name=value]')");
|
|
shouldThrow("document.body.matches('[bbb|name=value]')");
|
|
shouldThrow("document.body.webkitMatchesSelector('[bbb|name=value]')");
|
|
shouldNotThrow("document.querySelector('[*|name=value]')");
|
|
shouldNotThrow("document.querySelectorAll('[*|name=value]')");
|
|
shouldNotThrow("document.body.matches('[*|name=value]')");
|
|
shouldNotThrow("document.body.webkitMatchesSelector('[*|name=value]')");
|
|
shouldNotThrow("document.querySelector('[|name=value]')");
|
|
shouldNotThrow("document.querySelectorAll('[|name=value]')");
|
|
shouldNotThrow("document.body.matches('[|name=value]')");
|
|
shouldNotThrow("document.body.webkitMatchesSelector('[|name=value]')");
|
|
|
|
shouldThrow("document.querySelector(':-webkit-any(bbb|pre)')");
|
|
|
|
shouldThrow("document.querySelector('div [bbb|name=value]')");
|
|
shouldThrow("document.querySelectorAll('div [bbb|name=value]')");
|
|
shouldThrow("document.body.matches('div [bbb|name=value]')");
|
|
shouldThrow("document.body.webkitMatchesSelector('div [bbb|name=value]')");
|
|
shouldNotThrow("document.querySelector('div [*|name=value]')");
|
|
shouldNotThrow("document.querySelectorAll('div [*|name=value]')");
|
|
shouldNotThrow("document.body.matches('div [*|name=value]')");
|
|
shouldNotThrow("document.body.webkitMatchesSelector('div [*|name=value]')");
|
|
shouldNotThrow("document.querySelector('div [|name=value]')");
|
|
shouldNotThrow("document.querySelectorAll('div [|name=value]')");
|
|
shouldNotThrow("document.body.matches('div [|name=value]')");
|
|
shouldNotThrow("document.body.webkitMatchesSelector('div [|name=value]')");
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<p>This tests that we throw a NAMESPACE_ERR when parsing a selector string for querySelector and querySelectorAll
|
|
that contains a namespace.</p>
|
|
<pre id="console" name="value"></pre>
|
|
</body>
|
|
</html>
|