summaryrefslogtreecommitdiffstats
path: root/devtools/client/debugger/src/utils/tests/DevToolsUtils.spec.js
blob: be405d862848e0034e8eaa6c293ef94719ee0316 (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
32
33
34
35
36
37
38
39
40
41
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */

import { reportException, executeSoon } from "../DevToolsUtils.js";

describe("DevToolsUtils", () => {
  describe("reportException", () => {
    beforeEach(() => {
      global.console = { error: jest.fn() };
    });

    it("calls console.error", () => {
      reportException("caller", ["you broke it"]);
      expect(console.error).toHaveBeenCalled();
    });

    it("returns a description of caller and exception text", () => {
      const who = "who",
        exception = "this is an error",
        msgTxt = " threw an exception: ";

      reportException(who, [exception]);

      expect(console.error).toHaveBeenCalledWith(`${who}${msgTxt}`, [
        exception,
      ]);
    });
  });

  describe("executeSoon", () => {
    it("calls setTimeout with 0 ms", () => {
      global.setTimeout = jest.fn();
      const fnc = () => {};

      executeSoon(fnc);

      expect(setTimeout).toHaveBeenCalledWith(fnc, 0);
    });
  });
});