summaryrefslogtreecommitdiffstats
path: root/devtools/client/netmonitor/test/browser_net_error-boundary-01.js
blob: cb27428d3feb7fb06acbaade4f0dce40dd94b7c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";

/**
 * Test that top-level net monitor error boundary catches child errors.
 */
add_task(async function () {
  const { monitor } = await initNetMonitor(SIMPLE_URL, {
    requestCount: 1,
  });

  const { store, windowRequire, document } = monitor.panelWin;
  const Actions = windowRequire("devtools/client/netmonitor/src/actions/index");

  store.dispatch(Actions.batchEnable(false));

  // Intentionally damage the store to cause a child component error
  const state = store.getState();
  state.ui.columns = null;

  await reloadBrowser();

  // Wait for the panel to fall back to the error UI
  const errorPanel = await waitUntil(() =>
    document.querySelector(".app-error-panel")
  );

  is(errorPanel, !undefined);
  return teardown(monitor);
});