<!DOCTYPE html>
<script src="../../resources/js-test.js"></script>
<style>
:empty + div { background-color: green; }
</style>
<div id="empty">To be removed</div>
<div id="sibling">This text should be green</div>
<script>
description("Check that the sibling of an element that becomes :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.removeChild(empty.firstChild);
empty.offsetTop; // force recalc
shouldBe("getComputedStyle(sibling, '').backgroundColor", "green");
</script>