/** * Test for Bug 493881: Changes to legacy HTML color properties before the BODY is loaded * should be ignored. Additionally, after BODY loads, setting any of these properties to undefined * should cause them to be returned as the string "undefined".
*/
function setAndTestProperty(prop, color) { var initial = document[prop];
document[prop] = color;
is(document[prop], initial, "document[" + prop + "] not ignored before body"); return initial;
}
/** * Attempt to set legacy color properties before BODY exists, and verify that such * attempts are ignored.
*/ for (let i = 0; i < legacyProps.length; i++) {
initialValues[i] = setAndTestProperty(legacyProps[i], testColors[i]);
}
/** * After BODY loads, run some more tests.
*/
addLoadEvent(function () { // Verify that the legacy color properties still have their original values. for (let i = 0; i < legacyProps.length; i++) {
is(
document[legacyProps[i]],
initialValues[i], "document[" + legacyProps[i] + "] altered after body load"
);
}
// Verify that legacy color properties applied before BODY are really ignored when rendering. // Save current computed style colors for later use. for (let i = 0; i < idPropList.length; i++) { var style = window.getComputedStyle(
document.getElementById(idPropList[i].id)
); var color = style.getPropertyValue(idPropList[i].prop);
idPropList[i].initialComputedColor = color;
isnot(color, rgbTestColors[i], "element rendered using before-body style");
} // XXX: Can't get links to visually activate via script events, so can't verify // that the alinkColor property was not applied.
// Verify that setting legacy color props to undefined after BODY loads will cause them // to be read as the string "undefined". for (let i = 0; i < legacyProps.length; i++) {
document[legacyProps[i]] = undefined;
is(
document[legacyProps[i]], "undefined", "Unexpected value of " + legacyProps[i] + " after setting to undefined"
);
}
// Verify that setting legacy color props to undefined led to result // of parsing undefined as a color. for (let i = 0; i < idPropList.length; i++) { var style = window.getComputedStyle(
document.getElementById(idPropList[i].id)
); var color = style.getPropertyValue(idPropList[i].prop);
is(
color, "rgb(0, 239, 14)", "element's style should get result of parsing undefined as a color"
);
}
// Mark the test as finished.
setTimeout(SimpleTest.finish, 0);
});
Messung V0.5
¤ Dauer der Verarbeitung: 0.18 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.