summaryrefslogtreecommitdiffstats
path: root/devtools/shared/heapsnapshot/tests/unit/test_SaveHeapSnapshot.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/shared/heapsnapshot/tests/unit/test_SaveHeapSnapshot.js')
-rw-r--r--devtools/shared/heapsnapshot/tests/unit/test_SaveHeapSnapshot.js82
1 files changed, 0 insertions, 82 deletions
diff --git a/devtools/shared/heapsnapshot/tests/unit/test_SaveHeapSnapshot.js b/devtools/shared/heapsnapshot/tests/unit/test_SaveHeapSnapshot.js
deleted file mode 100644
index affd8d1e4..000000000
--- a/devtools/shared/heapsnapshot/tests/unit/test_SaveHeapSnapshot.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-
-// Test the ChromeUtils interface.
-
-if (typeof Debugger != "function") {
- const { addDebuggerToGlobal } = Cu.import("resource://gre/modules/jsdebugger.jsm", {});
- addDebuggerToGlobal(this);
-}
-
-function run_test() {
- ok(ChromeUtils, "Should be able to get the ChromeUtils interface");
-
- testBadParameters();
- testGoodParameters();
-
- do_test_finished();
-}
-
-function testBadParameters() {
- throws(() => ChromeUtils.saveHeapSnapshot(),
- "Should throw if arguments aren't passed in.");
-
- throws(() => ChromeUtils.saveHeapSnapshot(null),
- "Should throw if boundaries isn't an object.");
-
- throws(() => ChromeUtils.saveHeapSnapshot({}),
- "Should throw if the boundaries object doesn't have any properties.");
-
- throws(() => ChromeUtils.saveHeapSnapshot({ runtime: true,
- globals: [this] }),
- "Should throw if the boundaries object has more than one property.");
-
- throws(() => ChromeUtils.saveHeapSnapshot({ debugger: {} }),
- "Should throw if the debuggees object is not a Debugger object");
-
- throws(() => ChromeUtils.saveHeapSnapshot({ globals: [{}] }),
- "Should throw if the globals array contains non-global objects.");
-
- throws(() => ChromeUtils.saveHeapSnapshot({ runtime: false }),
- "Should throw if runtime is supplied and is not true.");
-
- throws(() => ChromeUtils.saveHeapSnapshot({ globals: null }),
- "Should throw if globals is not an object.");
-
- throws(() => ChromeUtils.saveHeapSnapshot({ globals: {} }),
- "Should throw if globals is not an array.");
-
- throws(() => ChromeUtils.saveHeapSnapshot({ debugger: Debugger.prototype }),
- "Should throw if debugger is the Debugger.prototype object.");
-
- throws(() => ChromeUtils.saveHeapSnapshot({ get globals() { return [this]; } }),
- "Should throw if boundaries property is a getter.");
-}
-
-const makeNewSandbox = () =>
- Cu.Sandbox(CC("@mozilla.org/systemprincipal;1", "nsIPrincipal")());
-
-function testGoodParameters() {
- let sandbox = makeNewSandbox();
- let dbg = new Debugger(sandbox);
-
- ChromeUtils.saveHeapSnapshot({ debugger: dbg });
- ok(true, "Should be able to save a snapshot for a debuggee global.");
-
- dbg = new Debugger;
- let sandboxes = Array(10).fill(null).map(makeNewSandbox);
- sandboxes.forEach(sb => dbg.addDebuggee(sb));
-
- ChromeUtils.saveHeapSnapshot({ debugger: dbg });
- ok(true, "Should be able to save a snapshot for many debuggee globals.");
-
- dbg = new Debugger;
- ChromeUtils.saveHeapSnapshot({ debugger: dbg });
- ok(true, "Should be able to save a snapshot with no debuggee globals.");
-
- ChromeUtils.saveHeapSnapshot({ globals: [this] });
- ok(true, "Should be able to save a snapshot for a specific global.");
-
- ChromeUtils.saveHeapSnapshot({ runtime: true });
- ok(true, "Should be able to save a snapshot of the full runtime.");
-}