62 lines
1.5 KiB
HTML
62 lines
1.5 KiB
HTML
<!DOCTYPE HTML>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
|
|
<style>
|
|
#test0 * { background-color: red; }
|
|
#test0 :first-of-type { background-color: blue; }
|
|
#test1 :-webkit-any(*) { background-color: red; }
|
|
#test1 :-webkit-any(:first-of-type) { background-color: blue; }
|
|
#test2 :not(i) { background-color: red; }
|
|
#test2 :not(:last-of-type) { background-color: blue; }
|
|
</style>
|
|
|
|
<div id="test0">
|
|
<p>test0 foo</p>
|
|
<p>test0 bar</p>
|
|
</div>
|
|
<div id="test1">
|
|
<p>test1 foo</p>
|
|
<p>test1 bar</p>
|
|
</div>
|
|
<div id="test2">
|
|
<p>test2 foo</p>
|
|
<p>test2 bar</p>
|
|
</div>
|
|
<pre id="console"></pre>
|
|
|
|
<script>
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
function assertColor(selectorOrElement, rbgColor)
|
|
{
|
|
debug("");
|
|
|
|
if (typeof selectorOrElement == "string") {
|
|
debug(selectorOrElement);
|
|
element = document.querySelector(selectorOrElement);
|
|
} else {
|
|
debug("Element: " + element.nodeName);
|
|
element = selectorOrElement;
|
|
}
|
|
|
|
shouldBe("document.defaultView.getComputedStyle(element, null).getPropertyValue('background-color')", rbgColor);
|
|
}
|
|
|
|
function assertBlue(selectorOrElement)
|
|
{
|
|
assertColor(selectorOrElement, "'rgb(0, 0, 255)'")
|
|
}
|
|
|
|
function assertRed(selectorOrElement)
|
|
{
|
|
assertColor(selectorOrElement, "'rgb(255, 0, 0)'")
|
|
}
|
|
|
|
assertBlue("#test0 :first-of-type");
|
|
assertRed("#test0 :last-of-type");
|
|
assertBlue("#test1 :first-of-type");
|
|
assertRed("#test1 :last-of-type");
|
|
assertBlue("#test2 :first-of-type");
|
|
assertRed("#test2 :last-of-type");
|
|
</script> |