browser/devtools/inspector/test/browser_inspector_pseudoClass_menu.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* Any copyright is dedicated to the Public Domain.
     2    http://creativecommons.org/publicdomain/zero/1.0/ */
     4 function test() {
     6   let DOMUtils = Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils);
     8   let pseudos = ["hover", "active", "focus"];
    10   let doc;
    11   let div;
    12   let menu;
    13   let inspector;
    15   waitForExplicitFinish();
    16   ignoreAllUncaughtExceptions();
    17   gBrowser.selectedTab = gBrowser.addTab();
    18   gBrowser.selectedBrowser.addEventListener("load", function() {
    19     gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
    20     doc = content.document;
    21     waitForFocus(createDocument, content);
    22   }, true);
    24   content.location = "data:text/html,pseudo-class lock node menu tests";
    26   function createDocument()
    27   {
    28     div = doc.createElement("div");
    29     div.textContent = "test div";
    31     doc.body.appendChild(div);
    33     openInspector(selectNode);
    34   }
    36   function selectNode(aInspector)
    37   {
    38     inspector = aInspector;
    39     inspector.selection.setNode(div);
    40     inspector.once("inspector-updated", performTests);
    41   }
    43   function performTests()
    44   {
    45     menu = inspector.panelDoc.getElementById("inspector-node-popup");
    46     menu.addEventListener("popupshowing", testMenuItems, true);
    47     menu.openPopup();
    48   }
    50   function testMenuItems()
    51   {
    52     menu.removeEventListener("popupshowing", testMenuItems, true);
    54     var tryNext = () => {
    55       if (pseudos.length === 0) {
    56         finishUp();
    57         return;
    58       }
    59       let pseudo = pseudos.shift();
    61       let menuitem = inspector.panelDoc.getElementById("node-menu-pseudo-" + pseudo);
    62       ok(menuitem, ":" + pseudo + " menuitem exists");
    64       menuitem.doCommand();
    65       inspector.selection.once("pseudoclass", () => {
    66         is(DOMUtils.hasPseudoClassLock(div, ":" + pseudo), true,
    67           "pseudo-class lock has been applied");
    68         tryNext();
    69       });
    70     }
    71     tryNext();
    72   }
    74   function finishUp()
    75   {
    76     gBrowser.removeCurrentTab();
    77     finish();
    78   }
    79 }

mercurial