184 lines
6.1 KiB
HTML
184 lines
6.1 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<style>
|
|
span.target {
|
|
background-color:rgb(0,0,0);
|
|
}
|
|
|
|
a:-webkit-any(.house, .horse) span.target {
|
|
background-color:rgb(1,2,3);
|
|
}
|
|
|
|
b.rabbit:-webkit-any(.house, .horse):-webkit-any(.cocoa, .cappuccino) span.target {
|
|
background-color:rgb(2,3,4);
|
|
}
|
|
|
|
c.rabbit:-webkit-any(.house, :not(.horse)) span.target {
|
|
background-color:rgb(3,4,5);
|
|
}
|
|
|
|
/* Maximum register case */
|
|
d > d:-webkit-any([rel="drink"][data-cocoa][data-cappuccino], .ok) > d > d span.target {
|
|
background-color:rgb(4,5,6);
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div style="display:none">
|
|
<!-- a:any(.house, .horse) span.target -->
|
|
<test1>
|
|
<a class="house">
|
|
<span class="target" id="target1"></span>
|
|
</a>
|
|
|
|
<a class="house">
|
|
<span class="target" id="target2"></span>
|
|
</a>
|
|
|
|
<a>
|
|
<span class="target" id="target3"></span>
|
|
</a>
|
|
</test1>
|
|
|
|
<!-- b.rabbit:-webkit-any(.house, .horse):-webkit-any(.cocoa, .cappuccino) span.target -->
|
|
<test2>
|
|
<b class="rabbit horse cocoa">
|
|
<span class="target" id="target4"></span>
|
|
</b>
|
|
|
|
<b class="rabbit house cappuccino">
|
|
<span class="target" id="target5"></span>
|
|
</b>
|
|
|
|
<b class="rabbit house horse">
|
|
<span class="target" id="target6"></span>
|
|
</b>
|
|
|
|
<b class="horse cocoa">
|
|
<span class="target" id="target7"></span>
|
|
</b>
|
|
|
|
<b class="rabbit cocoa cappuccino">
|
|
<span class="target" id="target8"></span>
|
|
</b>
|
|
</test2>
|
|
|
|
<!-- c.rabbit:-webkit-any(.house, :not(.horse)) span.target -->
|
|
<test3>
|
|
<c class="rabbit house">
|
|
<span class="target" id="target9"></span>
|
|
</c>
|
|
|
|
<c class="rabbit cappuccino">
|
|
<span class="target" id="target10"></span>
|
|
</c>
|
|
|
|
<c class="rabbit">
|
|
<span class="target" id="target11"></span>
|
|
</c>
|
|
|
|
<c class="rabbit horse">
|
|
<span class="target" id="target12"></span>
|
|
</c>
|
|
|
|
<c class="house">
|
|
<span class="target" id="target13"></span>
|
|
</c>
|
|
</test3>
|
|
|
|
<!-- d > d:-webkit-any([rel="drink"][data-cocoa][data-cappuccino], .ok) > d > d span.target -->
|
|
<test4>
|
|
<d> <!-- Matched. -->
|
|
<d rel="drink" data-cocoa data-cappuccino>
|
|
<d data-cocoa> <!-- Failed. Backtracking from the tail. -->
|
|
<d>
|
|
<d>
|
|
<span class="target" id="target14"></span>
|
|
</d>
|
|
</d>
|
|
</d>
|
|
</d>
|
|
</d>
|
|
|
|
<d> <!-- Matched. -->
|
|
<d class="ok">
|
|
<d data-cocoa> <!-- Failed. Backtracking from the tail. -->
|
|
<d>
|
|
<d>
|
|
<span class="target" id="target15"></span>
|
|
</d>
|
|
</d>
|
|
</d>
|
|
</d>
|
|
</d>
|
|
|
|
<a> <!-- Failed. -->
|
|
<d class="ok">
|
|
<d data-cocoa> <!-- Failed. Backtracking from the tail. -->
|
|
<d>
|
|
<d>
|
|
<span class="target" id="target16"></span>
|
|
</d>
|
|
</d>
|
|
</d>
|
|
</d>
|
|
</a>
|
|
</test4>
|
|
</div>
|
|
</body>
|
|
<script>
|
|
description('The pseudo class :any');
|
|
|
|
debug("simple :any selector list matched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target1")).backgroundColor', 'rgb(1, 2, 3)');
|
|
|
|
debug("simple :any selector list matched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target2")).backgroundColor', 'rgb(1, 2, 3)');
|
|
|
|
debug("simple :any selector unmatched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target3")).backgroundColor', 'rgb(0, 0, 0)');
|
|
|
|
debug("multiple :any selector list matched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target4")).backgroundColor', 'rgb(2, 3, 4)');
|
|
|
|
debug("multiple :any selector list matched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target5")).backgroundColor', 'rgb(2, 3, 4)');
|
|
|
|
debug("multiple :any selector list unmatched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target6")).backgroundColor', 'rgb(0, 0, 0)');
|
|
|
|
debug("multiple :any selector list unmatched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target7")).backgroundColor', 'rgb(0, 0, 0)');
|
|
|
|
debug("multiple :any selector list unmatched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target8")).backgroundColor', 'rgb(0, 0, 0)');
|
|
|
|
debug("simple :any selector list including :not matched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target9")).backgroundColor', 'rgb(3, 4, 5)');
|
|
|
|
debug("simple :any selector list including :not matched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target10")).backgroundColor', 'rgb(3, 4, 5)');
|
|
|
|
debug("simple :any selector list including :not matched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target11")).backgroundColor', 'rgb(3, 4, 5)');
|
|
|
|
debug("simple :any selector list including :not unmatched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target12")).backgroundColor', 'rgb(0, 0, 0)');
|
|
|
|
debug("simple :any selector list including :not unmatched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target13")).backgroundColor', 'rgb(0, 0, 0)');
|
|
|
|
debug(":any selector including attributes matched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target14")).backgroundColor', 'rgb(4, 5, 6)');
|
|
|
|
debug(":any selector including attributes matched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target15")).backgroundColor', 'rgb(4, 5, 6)');
|
|
|
|
debug(":any selector including attributes unmatched.");
|
|
shouldBeEqualToString('getComputedStyle(document.getElementById("target16")).backgroundColor', 'rgb(0, 0, 0)');
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</html>
|