77 lines
3.2 KiB
HTML
77 lines
3.2 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<div style="display:none">
|
|
<div id="target1" data-æøå="WebKit!"></div>
|
|
<div id="target2" data-Æøå="WebKit!"></div>
|
|
<div id="target3" data-ÆØÅ="WebKit!"></div>
|
|
<div id="target4" data-æøå="WebKit!" data-Æøå="WebKit!" data-ÆØÅ="WebKit!"></div>
|
|
</div>
|
|
</body>
|
|
<script>
|
|
description('Attribute matching is ASCII case-insensitive in HTML.');
|
|
|
|
function testSelector(selector, expected) {
|
|
var allTargets = document.querySelectorAll('[id^=target]');
|
|
for (var i = 0; i < allTargets.length; ++i) {
|
|
if (expected.indexOf(i + 1) >= 0)
|
|
shouldBeTrue('document.querySelectorAll(\'[id^=target]\')[' + i + '].matches(\'' + selector + '\')');
|
|
else
|
|
shouldBeFalse('document.querySelectorAll(\'[id^=target]\')[' + i + '].matches(\'' + selector + '\')');
|
|
}
|
|
}
|
|
|
|
// Simple selectors.
|
|
testSelector('[data-æøå]', [1, 4]);
|
|
testSelector('[data-Æøå]', [2, 4]);
|
|
testSelector('[data-ÆØÅ]', [3, 4]);
|
|
testSelector('[data-æØå]', []);
|
|
|
|
testSelector('[Data-æøå="WebKit!"]', [1, 4]);
|
|
testSelector('[Data-Æøå="WebKit!"]', [2, 4]);
|
|
testSelector('[Data-ÆØÅ="WebKit!"]', [3, 4]);
|
|
testSelector('[Data-æØå="WebKit!"]', []);
|
|
|
|
testSelector('[DATA-æøå^="Web"]', [1, 4]);
|
|
testSelector('[DATA-Æøå^="Web"]', [2, 4]);
|
|
testSelector('[DATA-ÆØÅ^="Web"]', [3, 4]);
|
|
testSelector('[DATA-æØå^="Web"]', []);
|
|
|
|
// Complex selectors.
|
|
testSelector(':root :is(body, html) [data-æøå]', [1, 4]);
|
|
testSelector(':root :is(body, html) [data-Æøå]', [2, 4]);
|
|
testSelector(':root :is(body, html) [data-ÆØÅ]', [3, 4]);
|
|
testSelector(':root :is(body, html) [data-æØå]', []);
|
|
|
|
testSelector(':root :is(body, html) [Data-æøå="WebKit!"]', [1, 4]);
|
|
testSelector(':root :is(body, html) [Data-Æøå="WebKit!"]', [2, 4]);
|
|
testSelector(':root :is(body, html) [Data-ÆØÅ="WebKit!"]', [3, 4]);
|
|
testSelector(':root :is(body, html) [Data-æØå="WebKit!"]', []);
|
|
|
|
testSelector(':root :is(body, html) [DATA-æøå^="Web"]', [1, 4]);
|
|
testSelector(':root :is(body, html) [DATA-Æøå^="Web"]', [2, 4]);
|
|
testSelector(':root :is(body, html) [DATA-ÆØÅ^="Web"]', [3, 4]);
|
|
testSelector(':root :is(body, html) [DATA-æØå^="Web"]', []);
|
|
|
|
testSelector(':root :matches(body, html) [data-æøå]', [1, 4]);
|
|
testSelector(':root :matches(body, html) [data-Æøå]', [2, 4]);
|
|
testSelector(':root :matches(body, html) [data-ÆØÅ]', [3, 4]);
|
|
testSelector(':root :matches(body, html) [data-æØå]', []);
|
|
|
|
testSelector(':root :matches(body, html) [Data-æøå="WebKit!"]', [1, 4]);
|
|
testSelector(':root :matches(body, html) [Data-Æøå="WebKit!"]', [2, 4]);
|
|
testSelector(':root :matches(body, html) [Data-ÆØÅ="WebKit!"]', [3, 4]);
|
|
testSelector(':root :matches(body, html) [Data-æØå="WebKit!"]', []);
|
|
|
|
testSelector(':root :matches(body, html) [DATA-æøå^="Web"]', [1, 4]);
|
|
testSelector(':root :matches(body, html) [DATA-Æøå^="Web"]', [2, 4]);
|
|
testSelector(':root :matches(body, html) [DATA-ÆØÅ^="Web"]', [3, 4]);
|
|
testSelector(':root :matches(body, html) [DATA-æØå^="Web"]', []);
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</html>
|