| <!DOCTYPE html> |
| <script src="../../resources/js-test.js"></script> |
| <style> |
| #empty:not(:empty) + div { background-color: green; } |
| </style> |
| <div id="empty"></div> |
| <div id="sibling">This text should be green</div> |
| <script> |
| description("Check that the sibling of an element that becomes :not(:empty) is properly recalculated"); |
| |
| var transparent = "rgba(0, 0, 0, 0)"; |
| var green = "rgb(0, 128, 0)"; |
| |
| empty.offsetTop; // force recalc |
| empty.style.color = "red"; // force LocalStyleChange on #empty |
| empty.offsetTop; // force recalc |
| |
| shouldBe("getComputedStyle(sibling, '').backgroundColor", "transparent"); |
| |
| empty.appendChild(document.createElement("div")); |
| empty.offsetTop; // force recalc |
| |
| shouldBe("getComputedStyle(sibling, '').backgroundColor", "green"); |
| </script> |