browser/devtools/webconsole/test/browser_webconsole_bug_658368_time_methods.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 /* vim:set ts=2 sw=2 sts=2 et: */
     2 /*
     3  * Any copyright is dedicated to the Public Domain.
     4  * http://creativecommons.org/publicdomain/zero/1.0/
     5  */
     7 // Tests that the Console API implements the time() and timeEnd() methods.
     9 function test() {
    10   addTab("http://example.com/browser/browser/devtools/webconsole/" +
    11          "test/test-bug-658368-time-methods.html");
    12   browser.addEventListener("load", function onLoad() {
    13     browser.removeEventListener("load", onLoad, true);
    14     Task.spawn(runner);
    15   }, true);
    17   function* runner() {
    18     let hud1 = yield openConsole();
    20     yield waitForMessages({
    21       webconsole: hud1,
    22       messages: [{
    23         name: "aTimer started",
    24         consoleTime: "aTimer",
    25       }, {
    26         name: "aTimer end",
    27         consoleTimeEnd: "aTimer",
    28       }],
    29     });
    31     let deferred = promise.defer();
    33     // The next test makes sure that timers with the same name but in separate
    34     // tabs, do not contain the same value.
    35     addTab("data:text/html;charset=utf-8,<script>" +
    36            "console.timeEnd('bTimer');</script>");
    37     browser.addEventListener("load", function onLoad() {
    38       browser.removeEventListener("load", onLoad, true);
    39       openConsole().then((hud) => {
    40         deferred.resolve(hud);
    41       });
    42     }, true);
    44     let hud2 = yield deferred.promise;
    46     testLogEntry(hud2.outputNode, "bTimer: timer started",
    47                  "bTimer was not started", false, true);
    49     // The next test makes sure that timers with the same name but in separate
    50     // pages, do not contain the same value.
    51     content.location = "data:text/html;charset=utf-8,<script>" +
    52                        "console.time('bTimer');</script>";
    54     yield waitForMessages({
    55       webconsole: hud2,
    56       messages: [{
    57         name: "bTimer started",
    58         consoleTime: "bTimer",
    59       }],
    60     });
    62     hud2.jsterm.clearOutput();
    64     deferred = promise.defer();
    66     // Now the following console.timeEnd() call shouldn't display anything,
    67     // if the timers in different pages are not related.
    68     browser.addEventListener("load", function onLoad() {
    69       browser.removeEventListener("load", onLoad, true);
    70       deferred.resolve(null);
    71     }, true);
    73     content.location = "data:text/html;charset=utf-8," +
    74                        "<script>console.timeEnd('bTimer');</script>";
    76     yield deferred.promise;
    78     testLogEntry(hud2.outputNode, "bTimer: timer started",
    79                  "bTimer was not started", false, true);
    81     yield closeConsole(gBrowser.selectedTab);
    83     gBrowser.removeCurrentTab();
    85     executeSoon(finishTest);
    86   }
    87 }

mercurial