diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /devtools/server/tests/xpcshell/test_watchedDataHelpers.js | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/server/tests/xpcshell/test_watchedDataHelpers.js')
-rw-r--r-- | devtools/server/tests/xpcshell/test_watchedDataHelpers.js | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/devtools/server/tests/xpcshell/test_watchedDataHelpers.js b/devtools/server/tests/xpcshell/test_watchedDataHelpers.js new file mode 100644 index 0000000000..3c1943ff75 --- /dev/null +++ b/devtools/server/tests/xpcshell/test_watchedDataHelpers.js @@ -0,0 +1,79 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Test WatchedDataHelpers. + */ + +"use strict"; + +const { WatchedDataHelpers } = ChromeUtils.import( + "resource://devtools/server/actors/watcher/WatchedDataHelpers.jsm" +); +const { SUPPORTED_DATA } = WatchedDataHelpers; +const { TARGETS } = SUPPORTED_DATA; + +function run_test() { + const watchedData = { + [TARGETS]: [], + }; + + WatchedDataHelpers.addWatchedDataEntry(watchedData, TARGETS, [ + "frame", + "worker", + ]); + deepEqual( + watchedData[TARGETS], + ["frame", "worker"], + "the two elements were added" + ); + + WatchedDataHelpers.addWatchedDataEntry(watchedData, TARGETS, ["frame"]); + deepEqual( + watchedData[TARGETS], + ["frame", "worker"], + "addWatchedDataEntry ignore duplicates" + ); + + WatchedDataHelpers.addWatchedDataEntry(watchedData, TARGETS, ["process"]); + deepEqual( + watchedData[TARGETS], + ["frame", "worker", "process"], + "the third element is added" + ); + + let removed = WatchedDataHelpers.removeWatchedDataEntry( + watchedData, + TARGETS, + ["process"] + ); + ok(removed, "removedWatchedDataEntry returned true as it removed an element"); + deepEqual( + watchedData[TARGETS], + ["frame", "worker"], + "the element has been remove" + ); + + removed = WatchedDataHelpers.removeWatchedDataEntry(watchedData, TARGETS, [ + "not-existing", + ]); + ok( + !removed, + "removedWatchedDataEntry returned false as no element has been removed" + ); + deepEqual( + watchedData[TARGETS], + ["frame", "worker"], + "no change made to the array" + ); + + removed = WatchedDataHelpers.removeWatchedDataEntry(watchedData, TARGETS, [ + "frame", + "worker", + ]); + ok( + removed, + "removedWatchedDataEntry returned true as elements have been removed" + ); + deepEqual(watchedData[TARGETS], [], "all elements were removed"); +} |