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

Quelle  browser_bug396843.js   Sprache: JAVA

 
/** Test for Bug 396843 **/

function testInDocument(doc, documentID) {
  var allNodes = [];
  var XMLNodes = [];

  // HTML
  function HTML_TAG(name) {
    allNodes.push(doc.createElementNS("http://www.w3.org/1999/xhtml", name));
  }

  /* List copy/pasted from nsHTMLTagList.h */
  HTML_TAG("a""Anchor");
  HTML_TAG("abbr""Span");
  HTML_TAG("acronym""Span");
  HTML_TAG("address""Span");
  HTML_TAG("applet""Unknown");
  HTML_TAG("area""Area");
  HTML_TAG("b""Span");
  HTML_TAG("base""Shared");
  HTML_TAG("basefont""Span");
  HTML_TAG("bdi""");
  HTML_TAG("bdo""Span");
  HTML_TAG("bgsound""Span");
  HTML_TAG("big""Span");
  HTML_TAG("blockquote""Shared");
  HTML_TAG("body""Body");
  HTML_TAG("br""BR");
  HTML_TAG("button""Button");
  HTML_TAG("canvas""Canvas");
  HTML_TAG("caption""TableCaption");
  HTML_TAG("center""Span");
  HTML_TAG("cite""Span");
  HTML_TAG("code""Span");
  HTML_TAG("col""TableCol");
  HTML_TAG("colgroup""TableCol");
  HTML_TAG("dd""Span");
  HTML_TAG("del""Mod");
  HTML_TAG("dfn""Span");
  HTML_TAG("dir""Shared");
  HTML_TAG("div""Div");
  HTML_TAG("dl""SharedList");
  HTML_TAG("dt""Span");
  HTML_TAG("em""Span");
  HTML_TAG("embed""Embed");
  HTML_TAG("fieldset""FieldSet");
  HTML_TAG("font""Font");
  HTML_TAG("form""Form");
  HTML_TAG("frame""Frame");
  HTML_TAG("frameset""FrameSet");
  HTML_TAG("h1""Heading");
  HTML_TAG("h2""Heading");
  HTML_TAG("h3""Heading");
  HTML_TAG("h4""Heading");
  HTML_TAG("h5""Heading");
  HTML_TAG("h6""Heading");
  HTML_TAG("head""Head");
  HTML_TAG("hr""HR");
  HTML_TAG("html""Html");
  HTML_TAG("i""Span");
  HTML_TAG("iframe""IFrame");
  HTML_TAG("image""");
  HTML_TAG("img""Image");
  HTML_TAG("input""Input");
  HTML_TAG("ins""Mod");
  HTML_TAG("isindex""Unknown");
  HTML_TAG("kbd""Span");
  HTML_TAG("keygen""Span");
  HTML_TAG("label""Label");
  HTML_TAG("legend""Legend");
  HTML_TAG("li""LI");
  HTML_TAG("link""Link");
  HTML_TAG("listing""Span");
  HTML_TAG("map""Map");
  HTML_TAG("marquee""Div");
  HTML_TAG("menu""Shared");
  HTML_TAG("meta""Meta");
  HTML_TAG("multicol""Unknown");
  HTML_TAG("nobr""Span");
  HTML_TAG("noembed""Div");
  HTML_TAG("noframes""Div");
  HTML_TAG("noscript""Div");
  HTML_TAG("object""Object");
  HTML_TAG("ol""SharedList");
  HTML_TAG("optgroup""OptGroup");
  HTML_TAG("option""Option");
  HTML_TAG("p""Paragraph");
  HTML_TAG("param""Shared");
  HTML_TAG("plaintext""Span");
  HTML_TAG("pre""Pre");
  HTML_TAG("q""Shared");
  HTML_TAG("s""Span");
  HTML_TAG("samp""Span");
  HTML_TAG("script""Script");
  HTML_TAG("select""Select");
  HTML_TAG("small""Span");
  HTML_TAG("spacer""Unknown");
  HTML_TAG("span""Span");
  HTML_TAG("strike""Span");
  HTML_TAG("strong""Span");
  HTML_TAG("style""Style");
  HTML_TAG("sub""Span");
  HTML_TAG("sup""Span");
  HTML_TAG("table""Table");
  HTML_TAG("tbody""TableSection");
  HTML_TAG("td""TableCell");
  HTML_TAG("textarea""TextArea");
  HTML_TAG("tfoot""TableSection");
  HTML_TAG("th""TableCell");
  HTML_TAG("thead""TableSection");
  HTML_TAG("template""Template");
  HTML_TAG("title""Title");
  HTML_TAG("tr""TableRow");
  HTML_TAG("tt""Span");
  HTML_TAG("u""Span");
  HTML_TAG("ul""SharedList");
  HTML_TAG("var""Span");
  HTML_TAG("wbr""Shared");
  HTML_TAG("xmp""Span");

  function SVG_TAG(name) {
    allNodes.push(doc.createElementNS("http://www.w3.org/2000/svg", name));
  }

  // List sorta stolen from SVG element factory.
  SVG_TAG("a");
  SVG_TAG("polyline");
  SVG_TAG("polygon");
  SVG_TAG("circle");
  SVG_TAG("ellipse");
  SVG_TAG("line");
  SVG_TAG("rect");
  SVG_TAG("svg");
  SVG_TAG("g");
  SVG_TAG("foreignObject");
  SVG_TAG("path");
  SVG_TAG("text");
  SVG_TAG("tspan");
  SVG_TAG("image");
  SVG_TAG("style");
  SVG_TAG("linearGradient");
  SVG_TAG("metadata");
  SVG_TAG("radialGradient");
  SVG_TAG("stop");
  SVG_TAG("defs");
  SVG_TAG("desc");
  SVG_TAG("script");
  SVG_TAG("use");
  SVG_TAG("symbol");
  SVG_TAG("marker");
  SVG_TAG("title");
  SVG_TAG("clipPath");
  SVG_TAG("textPath");
  SVG_TAG("filter");
  SVG_TAG("feBlend");
  SVG_TAG("feColorMatrix");
  SVG_TAG("feComponentTransfer");
  SVG_TAG("feComposite");
  SVG_TAG("feFuncR");
  SVG_TAG("feFuncG");
  SVG_TAG("feFuncB");
  SVG_TAG("feFuncA");
  SVG_TAG("feGaussianBlur");
  SVG_TAG("feMerge");
  SVG_TAG("feMergeNode");
  SVG_TAG("feMorphology");
  SVG_TAG("feOffset");
  SVG_TAG("feFlood");
  SVG_TAG("feTile");
  SVG_TAG("feTurbulence");
  SVG_TAG("feConvolveMatrix");
  SVG_TAG("feDistantLight");
  SVG_TAG("fePointLight");
  SVG_TAG("feSpotLight");
  SVG_TAG("feDiffuseLighting");
  SVG_TAG("feSpecularLighting");
  SVG_TAG("feDisplacementMap");
  SVG_TAG("feImage");
  SVG_TAG("pattern");
  SVG_TAG("mask");
  SVG_TAG("svgSwitch");

  // Toss in some other namespaced stuff too, for good measure
  // XUL stuff might not be creatable in content documents
  try {
    allNodes.push(
      doc.createElementNS(
        "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",
        "window"
      )
    );
  } catch (e) {}
  allNodes.push(
    doc.createElementNS("http://www.w3.org/1998/Math/MathML", "math")
  );
  allNodes.push(
    doc.createElementNS("http://www.w3.org/2001/xml-events", "testname")
  );
  allNodes.push(doc.createElementNS("bogus.namespace""testname"));

  var XMLDoc = doc.implementation.createDocument(""""null);

  // And non-elements
  allNodes.push(doc.createTextNode("some text"));
  allNodes.push(doc.createComment("some text"));
  allNodes.push(doc.createDocumentFragment());
  XMLNodes.push(XMLDoc.createCDATASection("some text"));
  XMLNodes.push(XMLDoc.createProcessingInstruction("PI""data"));

  function runTestUnwrapped() {
    if (!("wrappedJSObject" in doc)) {
      return;
    }
    Assert.strictEqual(
      doc.wrappedJSObject.nodePrincipal,
      undefined,
      "Must not have document principal for " + documentID
    );
    Assert.strictEqual(
      doc.wrappedJSObject.baseURIObject,
      undefined,
      "Must not have document base URI for " + documentID
    );
    Assert.strictEqual(
      doc.wrappedJSObject.documentURIObject,
      undefined,
      "Must not have document URI for " + documentID
    );

    for (var i = 0; i < allNodes.length; ++i) {
      Assert.strictEqual(
        allNodes[i].wrappedJSObject.nodePrincipal,
        undefined,
        "Unexpected principal appears for " +
          allNodes[i].nodeName +
          " in " +
          documentID
      );
      Assert.strictEqual(
        allNodes[i].wrappedJSObject.baseURIObject,
        undefined,
        "Unexpected base URI appears for " +
          allNodes[i].nodeName +
          " in " +
          documentID
      );
    }
  }

  function runTestProps() {
    isnot(
      doc.nodePrincipal,
      null,
      "Must have document principal in " + documentID
    );
    is(
      doc.nodePrincipal instanceof Ci.nsIPrincipal,
      true,
      "document principal must be a principal in " + documentID
    );
    isnot(
      doc.baseURIObject,
      null,
      "Must have document base URI in" + documentID
    );
    is(
      doc.baseURIObject instanceof Ci.nsIURI,
      true,
      "document base URI must be a URI in " + documentID
    );
    isnot(doc.documentURIObject, null"Must have document URI " + documentID);
    is(
      doc.documentURIObject instanceof Ci.nsIURI,
      true,
      "document URI must be a URI in " + documentID
    );
    is(
      doc.documentURIObject.spec,
      doc.documentURI,
      "document URI must be the right URI in " + documentID
    );

    for (var i = 0; i < allNodes.length; ++i) {
      is(
        allNodes[i].nodePrincipal,
        doc.nodePrincipal,
        "Unexpected principal for " + allNodes[i].nodeName + " in " + documentID
      );
      is(
        allNodes[i].baseURIObject,
        doc.baseURIObject,
        "Unexpected base URI for " + allNodes[i].nodeName + " in " + documentID
      );
    }

    for (i = 0; i < XMLNodes.length; ++i) {
      is(
        XMLNodes[i].nodePrincipal,
        doc.nodePrincipal,
        "Unexpected principal for " + XMLNodes[i].nodeName + " in " + documentID
      );
      is(
        XMLNodes[i].baseURIObject.spec,
        "about:blank",
        "Unexpected base URI for " + XMLNodes[i].nodeName + " in " + documentID
      );
    }
  }

  runTestUnwrapped();
  runTestProps();
  runTestUnwrapped();
}

add_task(async function test1() {
  testInDocument(document, "browser window");
});

async function newTabTest(location) {
  await BrowserTestUtils.withNewTab(
    { gBrowser, url: location },
    async function (browser) {
      await SpecialPowers.spawn(
        browser,
        [{ location, testInDocument_: testInDocument.toSource() }],
        async function ({ location, testInDocument_ }) {
          // eslint-disable-next-line no-eval
          let testInDocument = eval(`(() => (${testInDocument_}))()`);
          testInDocument(content.document, location);
        }
      );
    }
  );
}

add_task(async function test2() {
  await newTabTest("about:blank");
});

add_task(async function test3() {
  await newTabTest("about:config");
});

Messung V0.5
C=93 H=62 G=78

¤ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ¤

*© 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.