32 lines
1.5 KiB
HTML
32 lines
1.5 KiB
HTML
<script src="../../resources/testharness.js"></script>
|
|
<script src="../../resources/testharnessreport.js"></script>
|
|
|
|
<div id=test><div></div></div>
|
|
|
|
<script>
|
|
var testDiv = document.querySelector('#test');
|
|
var testDivChild = testDiv.firstChild;
|
|
|
|
function testInvalidation(cssText, shouldInvalidate, name)
|
|
{
|
|
test(() => {
|
|
internals.updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks();
|
|
|
|
testDiv.style.cssText = cssText;
|
|
|
|
assert_equals(internals.styleChangeType(testDiv), shouldInvalidate ? "InlineStyleChange" : "NoStyleChange");
|
|
assert_equals(internals.styleChangeType(testDivChild), "NoStyleChange");
|
|
}, name);
|
|
}
|
|
|
|
testInvalidation("color:red", true, "Setting cssText invalidates style");
|
|
testInvalidation("color:red; transform: scale3d(0, 0, 1);", true, "Adding more properties to cssText invalidates style");
|
|
testInvalidation("color:blue; transform: scale3d(0, 0, 1);", true, "Changing a property value invalidates style");
|
|
testInvalidation("color:blue; transform: scale3d(0, 1, 1);", true, "Changing another property value invalidates style");
|
|
testInvalidation("color:blue; transform: scale3d(0, 1, 1);", false, "Setting cssText without changing it doesn't invalidate style");
|
|
testInvalidation(" color:blue; transform: scale3d(0,1,1)", false, "Non-semantic change to cssText doesn't invalidate style");
|
|
testInvalidation("transform: scale3d(0,1,1)", true, "Removing a property invalidates style");
|
|
testInvalidation("", true, "Clearing cssText invalidates style");
|
|
|
|
</script>
|