mirror of
https://github.com/roytam1/UXP.git
synced 2026-06-11 19:08:36 +00:00
42 lines
1.6 KiB
JavaScript
42 lines
1.6 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
"use strict";
|
|
|
|
const { getRepeatId } = require("devtools/client/webconsole/new-console-output/utils/messages");
|
|
const { stubPreparedMessages } = require("devtools/client/webconsole/new-console-output/test/fixtures/stubs/index");
|
|
|
|
const expect = require("expect");
|
|
|
|
describe("getRepeatId:", () => {
|
|
it("returns same repeatId for duplicate values", () => {
|
|
const message1 = stubPreparedMessages.get("console.log('foobar', 'test')");
|
|
const message2 = message1.set("repeat", 3);
|
|
expect(getRepeatId(message1)).toEqual(getRepeatId(message2));
|
|
});
|
|
|
|
it("returns different repeatIds for different values", () => {
|
|
const message1 = stubPreparedMessages.get("console.log('foobar', 'test')");
|
|
const message2 = message1.set("parameters", ["funny", "monkey"]);
|
|
expect(getRepeatId(message1)).toNotEqual(getRepeatId(message2));
|
|
});
|
|
|
|
it("returns different repeatIds for different severities", () => {
|
|
const message1 = stubPreparedMessages.get("console.log('foobar', 'test')");
|
|
const message2 = message1.set("level", "error");
|
|
expect(getRepeatId(message1)).toNotEqual(getRepeatId(message2));
|
|
});
|
|
|
|
it("handles falsy values distinctly", () => {
|
|
const messageNaN = stubPreparedMessages.get("console.log(NaN)");
|
|
const messageUnd = stubPreparedMessages.get("console.log(undefined)");
|
|
const messageNul = stubPreparedMessages.get("console.log(null)");
|
|
|
|
const repeatIds = new Set([
|
|
getRepeatId(messageNaN),
|
|
getRepeatId(messageUnd),
|
|
getRepeatId(messageNul)]
|
|
);
|
|
expect(repeatIds.size).toEqual(3);
|
|
});
|
|
});
|