forked from mirrors/gecko-dev
79 lines
1.9 KiB
JavaScript
79 lines
1.9 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
/**
|
|
* Test SessionDataHelpers.
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
const { SessionDataHelpers } = ChromeUtils.import(
|
|
"resource://devtools/server/actors/watcher/SessionDataHelpers.jsm"
|
|
);
|
|
const { SUPPORTED_DATA } = SessionDataHelpers;
|
|
const { TARGETS } = SUPPORTED_DATA;
|
|
|
|
function run_test() {
|
|
const sessionData = {
|
|
[TARGETS]: [],
|
|
};
|
|
|
|
SessionDataHelpers.addSessionDataEntry(sessionData, TARGETS, [
|
|
"frame",
|
|
"worker",
|
|
]);
|
|
deepEqual(
|
|
sessionData[TARGETS],
|
|
["frame", "worker"],
|
|
"the two elements were added"
|
|
);
|
|
|
|
SessionDataHelpers.addSessionDataEntry(sessionData, TARGETS, ["frame"]);
|
|
deepEqual(
|
|
sessionData[TARGETS],
|
|
["frame", "worker"],
|
|
"addSessionDataEntry ignore duplicates"
|
|
);
|
|
|
|
SessionDataHelpers.addSessionDataEntry(sessionData, TARGETS, ["process"]);
|
|
deepEqual(
|
|
sessionData[TARGETS],
|
|
["frame", "worker", "process"],
|
|
"the third element is added"
|
|
);
|
|
|
|
let removed = SessionDataHelpers.removeSessionDataEntry(
|
|
sessionData,
|
|
TARGETS,
|
|
["process"]
|
|
);
|
|
ok(removed, "removedSessionDataEntry returned true as it removed an element");
|
|
deepEqual(
|
|
sessionData[TARGETS],
|
|
["frame", "worker"],
|
|
"the element has been remove"
|
|
);
|
|
|
|
removed = SessionDataHelpers.removeSessionDataEntry(sessionData, TARGETS, [
|
|
"not-existing",
|
|
]);
|
|
ok(
|
|
!removed,
|
|
"removedSessionDataEntry returned false as no element has been removed"
|
|
);
|
|
deepEqual(
|
|
sessionData[TARGETS],
|
|
["frame", "worker"],
|
|
"no change made to the array"
|
|
);
|
|
|
|
removed = SessionDataHelpers.removeSessionDataEntry(sessionData, TARGETS, [
|
|
"frame",
|
|
"worker",
|
|
]);
|
|
ok(
|
|
removed,
|
|
"removedSessionDataEntry returned true as elements have been removed"
|
|
);
|
|
deepEqual(sessionData[TARGETS], [], "all elements were removed");
|
|
}
|