tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

message-icon.test.js (2000B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 "use strict";
      4 
      5 const {
      6  MESSAGE_LEVEL,
      7  MESSAGE_TYPE,
      8 } = require("resource://devtools/client/webconsole/constants.js");
      9 
     10 const expect = require("expect");
     11 const { render } = require("enzyme");
     12 const {
     13  createFactory,
     14 } = require("resource://devtools/client/shared/vendor/react.mjs");
     15 const MessageIcon = createFactory(
     16  require("resource://devtools/client/webconsole/components/Output/MessageIcon.js")
     17 );
     18 
     19 describe("MessageIcon component:", () => {
     20  it("renders icon based on level", () => {
     21    const rendered = render(MessageIcon({ level: MESSAGE_LEVEL.ERROR }));
     22    expect(rendered.hasClass("icon")).toBe(true);
     23    expect(rendered.attr("title")).toBe("Error");
     24    expect(rendered.attr("aria-live")).toBe("off");
     25  });
     26 
     27  it("renders logpoint items", () => {
     28    const rendered = render(
     29      MessageIcon({
     30        level: MESSAGE_LEVEL.LOG,
     31        type: "logPoint",
     32      })
     33    );
     34    expect(rendered.hasClass("logpoint")).toBe(true);
     35  });
     36 
     37  it("renders evaluation expression items", () => {
     38    const rendered = render(
     39      MessageIcon({
     40        level: MESSAGE_LEVEL.LOG,
     41        type: MESSAGE_TYPE.COMMAND,
     42      })
     43    );
     44    expect(rendered.hasClass("icon")).toBe(true);
     45    expect(rendered.attr("title")).toBe("Evaluated code");
     46  });
     47 
     48  it("renders evaluation expression result items", () => {
     49    const rendered = render(
     50      MessageIcon({
     51        level: MESSAGE_LEVEL.LOG,
     52        type: MESSAGE_TYPE.RESULT,
     53      })
     54    );
     55    expect(rendered.hasClass("icon")).toBe(true);
     56    expect(rendered.attr("title")).toBe("Evaluation result");
     57  });
     58 
     59  it("renders icon with custom title", () => {
     60    const expectedTitle = "Rendered with custom title";
     61    const rendered = render(
     62      MessageIcon({
     63        level: MESSAGE_LEVEL.INFO,
     64        type: "info",
     65        title: expectedTitle,
     66      })
     67    );
     68    expect(rendered.attr("title")).toBe(expectedTitle);
     69  });
     70 });