summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Memory-takeCensus-01.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Memory-takeCensus-01.js')
-rw-r--r--js/src/jit-test/tests/debug/Memory-takeCensus-01.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Memory-takeCensus-01.js b/js/src/jit-test/tests/debug/Memory-takeCensus-01.js
new file mode 100644
index 0000000000..d5972a5ec6
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Memory-takeCensus-01.js
@@ -0,0 +1,23 @@
+// Debugger.Memory.prototype.takeCensus returns a value of an appropriate shape.
+
+var dbg = new Debugger;
+
+function checkProperties(census) {
+ assertEq(typeof census, 'object');
+ for (prop of Object.getOwnPropertyNames(census)) {
+ var desc = Object.getOwnPropertyDescriptor(census, prop);
+ assertEq(desc.enumerable, true);
+ assertEq(desc.configurable, true);
+ assertEq(desc.writable, true);
+ if (typeof desc.value === 'object')
+ checkProperties(desc.value);
+ else
+ assertEq(typeof desc.value, 'number');
+ }
+}
+
+checkProperties(dbg.memory.takeCensus());
+
+var g = newGlobal({newCompartment: true});
+dbg.addDebuggee(g);
+checkProperties(dbg.memory.takeCensus());