Bug 1359433 - Fix intermittent browser_net_truncate.js test r?honza draft
authorRicky Chien <ricky060709@gmail.com>
Wed, 17 May 2017 20:23:45 +0800
changeset 579557 c69d9c9d5cd9f9f4f23c4e066d4306ef2db8396f
parent 579463 6e3ca5b38f7173b214b10de49e58cb01890bf39d
child 629042 7ad60adfe1c55c884e709cde00eb16e78b01ba06
push id59290
push userbmo:rchien@mozilla.com
push dateWed, 17 May 2017 12:25:03 +0000
reviewershonza
bugs1359433
milestone55.0a1
Bug 1359433 - Fix intermittent browser_net_truncate.js test r?honza MozReview-Commit-ID: Jd4eyHMrijz
devtools/client/netmonitor/test/browser_net_truncate.js
--- a/devtools/client/netmonitor/test/browser_net_truncate.js
+++ b/devtools/client/netmonitor/test/browser_net_truncate.js
@@ -2,52 +2,44 @@
    http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 /**
  * Verifies that truncated response bodies still have the correct reported size.
  */
 
-function test() {
-  let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
-  const { RESPONSE_BODY_LIMIT } = require("devtools/shared/webconsole/network-monitor");
+add_task(function* () {
+  let { RESPONSE_BODY_LIMIT } = require("devtools/shared/webconsole/network-monitor");
+  let URL = EXAMPLE_URL + "sjs_truncate-test-server.sjs?limit=" + RESPONSE_BODY_LIMIT;
+  let { monitor, tab } = yield initNetMonitor(URL);
 
-  const URL = EXAMPLE_URL + "sjs_truncate-test-server.sjs?limit=" + RESPONSE_BODY_LIMIT;
-
-  // Another slow test on Linux debug.
-  requestLongerTimeout(2);
+  info("Starting test... ");
 
-  initNetMonitor(URL).then(({ tab, monitor }) => {
-    info("Starting test... ");
+  let { L10N } = require("devtools/client/netmonitor/src/utils/l10n");
+
+  let { document } = monitor.panelWin;
 
-    let { document, store, windowRequire } = monitor.panelWin;
-    let Actions = windowRequire("devtools/client/netmonitor/src/actions/index");
-    let { EVENTS } = windowRequire("devtools/client/netmonitor/src/constants");
-    let {
-      getDisplayedRequests,
-      getSortedRequests,
-    } = windowRequire("devtools/client/netmonitor/src/selectors/index");
-
-    store.dispatch(Actions.batchEnable(false));
+  let wait = waitForNetworkEvents(monitor, 1);
+  tab.linkedBrowser.reload();
+  yield wait;
 
-    waitForNetworkEvents(monitor, 1)
-      .then(() => teardown(monitor))
-      .then(finish);
+  // Response content will be updated asynchronously, we should make sure data is updated
+  // on DOM before asserting.
+  yield waitUntil(() => document.querySelector(".request-list-item"));
+  let item = document.querySelectorAll(".request-list-item")[0];
+  yield waitUntil(() => item.querySelector(".requests-list-type").title);
+
+  let type = item.querySelector(".requests-list-type").textContent;
+  let fullMimeType = item.querySelector(".requests-list-type").title;
+  let transferred = item.querySelector(".requests-list-transferred").textContent;
+  let size = item.querySelector(".requests-list-size").textContent;
 
-    monitor.panelWin.once(EVENTS.RECEIVED_RESPONSE_CONTENT, () => {
-      verifyRequestItemTarget(
-        document,
-        getDisplayedRequests(store.getState()),
-        getSortedRequests(store.getState()).get(0),
-        "GET", URL,
-        {
-          type: "plain",
-          fullMimeType: "text/plain; charset=utf-8",
-          transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeMB", 2),
-          size: L10N.getFormatStrWithNumbers("networkMenu.sizeMB", 2),
-        }
-      );
-    });
+  is(type, "plain", "Type should be rendered correctly.");
+  is(fullMimeType, "text/plain; charset=utf-8",
+    "Mimetype should be rendered correctly.");
+  is(transferred, L10N.getFormatStrWithNumbers("networkMenu.sizeMB", 2),
+    "Transferred size should be rendered correctly.");
+  is(size, L10N.getFormatStrWithNumbers("networkMenu.sizeMB", 2),
+    "Size should be rendered correctly.");
 
-    tab.linkedBrowser.reload();
-  });
-}
+  return teardown(monitor);
+});