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 +}