browser/devtools/webconsole/test/browser_webconsole_dont_navigate_on_doubleclick.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/browser/devtools/webconsole/test/browser_webconsole_dont_navigate_on_doubleclick.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,48 @@
     1.4 +/* vim:set ts=2 sw=2 sts=2 et: */
     1.5 +/* Any copyright is dedicated to the Public Domain.
     1.6 + * http://creativecommons.org/publicdomain/zero/1.0/ */
     1.7 +
     1.8 +// Tests that if a link in console is double clicked, the console frame doesn't
     1.9 +// navigate to that destination (bug 975707).
    1.10 +
    1.11 +function test() {
    1.12 +  let originalNetPref = Services.prefs.getBoolPref("devtools.webconsole.filter.networkinfo");
    1.13 +  registerCleanupFunction(() => {
    1.14 +    Services.prefs.setBoolPref("devtools.webconsole.filter.networkinfo", originalNetPref);
    1.15 +  });
    1.16 +  Services.prefs.setBoolPref("devtools.webconsole.filter.networkinfo", true);
    1.17 +  Task.spawn(runner).then(finishTest);
    1.18 +
    1.19 +  function* runner() {
    1.20 +    const TEST_PAGE_URI = "http://example.com/browser/browser/devtools/webconsole/test/test-console.html" + "?_uniq=" + Date.now();
    1.21 +
    1.22 +    const {tab} = yield loadTab("data:text/html;charset=utf8,<p>hello</p>");
    1.23 +    const hud = yield openConsole(tab);
    1.24 +
    1.25 +    content.location = TEST_PAGE_URI;
    1.26 +
    1.27 +    let messages = yield waitForMessages({
    1.28 +      webconsole: hud,
    1.29 +      messages: [{
    1.30 +        name: "Network request message",
    1.31 +        url: TEST_PAGE_URI,
    1.32 +        category: CATEGORY_NETWORK
    1.33 +      }]
    1.34 +    });
    1.35 +
    1.36 +    let networkEventMessage = messages[0].matched.values().next().value;
    1.37 +    let urlNode = networkEventMessage.querySelector(".url");
    1.38 +
    1.39 +    let deferred = promise.defer();
    1.40 +    urlNode.addEventListener("click", function onClick(aEvent) {
    1.41 +      urlNode.removeEventListener("click", onClick);
    1.42 +      ok(aEvent.defaultPrevented, "The default action was prevented.");
    1.43 +
    1.44 +      deferred.resolve();
    1.45 +    });
    1.46 +
    1.47 +    EventUtils.synthesizeMouseAtCenter(urlNode, {clickCount: 2}, hud.iframeWindow);
    1.48 +
    1.49 +    yield deferred.promise;
    1.50 +  }
    1.51 +}

mercurial