browser/devtools/netmonitor/test/browser_net_timing-division.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/browser/devtools/netmonitor/test/browser_net_timing-division.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,64 @@
     1.4 +/* Any copyright is dedicated to the Public Domain.
     1.5 +   http://creativecommons.org/publicdomain/zero/1.0/ */
     1.6 +
     1.7 +/**
     1.8 + * Tests if timing intervals are divided againts seconds when appropriate.
     1.9 + */
    1.10 +
    1.11 +function test() {
    1.12 +  initNetMonitor(CUSTOM_GET_URL).then(([aTab, aDebuggee, aMonitor]) => {
    1.13 +    info("Starting test... ");
    1.14 +
    1.15 +    let { $all, NetMonitorView } = aMonitor.panelWin;
    1.16 +    let { RequestsMenu } = NetMonitorView;
    1.17 +
    1.18 +    RequestsMenu.lazyUpdate = false;
    1.19 +
    1.20 +    waitForNetworkEvents(aMonitor, 2).then(() => {
    1.21 +      let millisecondDivs = $all(".requests-menu-timings-division[division-scale=millisecond]");
    1.22 +      let secondDivs = $all(".requests-menu-timings-division[division-scale=second]");
    1.23 +      let minuteDivs = $all(".requests-menu-timings-division[division-scale=minute]");
    1.24 +
    1.25 +      info("Number of millisecond divisions: " + millisecondDivs.length);
    1.26 +      info("Number of second divisions: " + secondDivs.length);
    1.27 +      info("Number of minute divisions: " + minuteDivs.length);
    1.28 +
    1.29 +      for (let div of millisecondDivs) {
    1.30 +        info("Millisecond division: " + div.getAttribute("value"));
    1.31 +      }
    1.32 +      for (let div of secondDivs) {
    1.33 +        info("Second division: " + div.getAttribute("value"));
    1.34 +      }
    1.35 +      for (let div of minuteDivs) {
    1.36 +        info("Minute division: " + div.getAttribute("value"));
    1.37 +      }
    1.38 +
    1.39 +      is(RequestsMenu.itemCount, 2,
    1.40 +        "There should be only two requests made.");
    1.41 +
    1.42 +      let firstRequest = RequestsMenu.getItemAtIndex(0);
    1.43 +      let lastRequest = RequestsMenu.getItemAtIndex(1);
    1.44 +
    1.45 +      info("First request happened at: " +
    1.46 +        firstRequest.attachment.responseHeaders.headers.find(e => e.name == "Date").value);
    1.47 +      info("Last request happened at: " +
    1.48 +        lastRequest.attachment.responseHeaders.headers.find(e => e.name == "Date").value);
    1.49 +
    1.50 +      ok(secondDivs.length,
    1.51 +        "There should be at least one division on the seconds time scale.");
    1.52 +      ok(secondDivs[0].getAttribute("value").match(/\d+\.\d{2}\s\w+/),
    1.53 +        "The division on the seconds time scale looks legit.");
    1.54 +
    1.55 +      teardown(aMonitor).then(finish);
    1.56 +    });
    1.57 +
    1.58 +    aDebuggee.get(Math.random(), () => {
    1.59 +      // Timeout needed for having enough divisions on the time scale.
    1.60 +      setTimeout(() => {
    1.61 +        aDebuggee.get(Math.random(), () => {
    1.62 +          // Done.
    1.63 +        });
    1.64 +      }, 3000);
    1.65 +    });
    1.66 +  });
    1.67 +}

mercurial