summaryrefslogtreecommitdiffstats
path: root/devtools/client/debugger/src/components/test/WhyPaused.spec.js
blob: b0a1960d25856261302811a85e2451ac360e770d (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/* 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/>. */

// @flow

import React from "react";
import { shallow } from "enzyme";
import WhyPaused from "../SecondaryPanes/WhyPaused.js";

function render(why: Object, delay: ?number) {
  const props = { why, delay };

  // $FlowIgnore
  const component = shallow(<WhyPaused.WrappedComponent {...props} />);

  return { component, props };
}

describe("WhyPaused", () => {
  it("should pause reason with message", () => {
    const why = {
      type: "breakpoint",
      message: "bla is hit",
    };
    const { component } = render(why);
    expect(component).toMatchSnapshot();
  });

  it("should show pause reason with exception details", () => {
    const why = {
      type: "exception",
      exception: {
        class: "ReferenceError",
        isError: true,
        preview: {
          name: "ReferenceError",
          message: "o is not defined",
        },
      },
    };

    const { component } = render(why);
    expect(component).toMatchSnapshot();
  });

  it("should show pause reason with exception string", () => {
    const why = {
      type: "exception",
      exception: "Not Available",
    };

    const { component } = render(why);
    expect(component).toMatchSnapshot();
  });

  it("should show an empty div when there is no pause reason", () => {
    const why = undefined;

    const { component } = render(why);
    expect(component).toMatchSnapshot();
  });
});