Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/dom/base/test/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 3 kB image not shown  

Quelle  test_bug493881.js   Sprache: JAVA

 
/**
 * 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".
 */


SimpleTest.waitForExplicitFinish();

var legacyProps = [
  "fgColor",
  "bgColor",
  "linkColor",
  "vlinkColor",
  "alinkColor",
];
var testColors = ["blue""silver""green""orange""red"];
var rgbTestColors = [
  "rgb(255, 0, 0)",
  "rgb(192, 192, 192)",
  "rgb(0, 128, 0)",
  "rgb(255, 165, 0)",
  "rgb(255, 0, 0)",
];
var idPropList = [
  { id: "plaintext", prop: "color" },
  { id: "body", prop: "background-color" },
  { id: "nonvisitedlink", prop: "color" },
  { id: "visitedlink", prop: "color" },
];
var initialValues = [];

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
C=94 H=96 G=94

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.