blob: dab422ff1c5509707dfbc2dbab043616e0f12d55 [file] [log] [blame]
<!DOCTYPE html>
<style>
x-x {
color: rgb(0, 222, 0);
}
[is=x-y]:not(:unresolved) {
color: rgb(0, 111, 0);
}
:unresolved {
color: rgb(0, 0, 222);
}
[is=x-y]:unresolved {
border-color: rgb(0, 0, 111);
}
</style>
<script src="../../../resources/js-test.js"></script>
<div id="container"></div>
<x-x id="a"></x-x>
<span id="b" is="x-y"></span>
<script>
description('Tests the :unresolved pseudoclass.');
var a = document.querySelector('#a');
shouldBe('document.querySelector("x-x:unresolved")', 'a');
shouldBe('window.getComputedStyle(a).color', '"rgb(0, 0, 222)"');
var b = document.querySelector('#b');
shouldBe('window.getComputedStyle(b).color', '"rgb(0, 0, 222)"');
shouldBe('window.getComputedStyle(b).borderColor', '"rgb(0, 0, 111)"');
var X = document.registerElement('x-x', {prototype: Object.create(HTMLElement.prototype)});
var c = new X();
document.body.insertBefore(c, b);
shouldBe('window.getComputedStyle(c).color', '"rgb(0, 222, 0)"');
// Registering x-x should have changed the styles of #a.
shouldBe('window.getComputedStyle(a).color', '"rgb(0, 222, 0)"');
var Y = document.registerElement('x-y', {extends: 'span', prototype: Object.create(HTMLSpanElement.prototype)});
var d = new Y();
document.body.insertBefore(d, b);
shouldBe('window.getComputedStyle(d).color', '"rgb(0, 111, 0)"');
// Registering is="x-y" should have changed the styles of #b.
shouldBe('window.getComputedStyle(b).color', '"rgb(0, 111, 0)"');
successfullyParsed = true;
</script>