summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Memory-takeCensus-07.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/debug/Memory-takeCensus-07.js')
-rw-r--r--js/src/jit-test/tests/debug/Memory-takeCensus-07.js75
1 files changed, 75 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Memory-takeCensus-07.js b/js/src/jit-test/tests/debug/Memory-takeCensus-07.js
new file mode 100644
index 0000000000..985a47c96e
--- /dev/null
+++ b/js/src/jit-test/tests/debug/Memory-takeCensus-07.js
@@ -0,0 +1,75 @@
+// Debugger.Memory.prototype.takeCensus breakdown: check error handling on
+// property gets.
+
+load(libdir + 'asserts.js');
+
+var g = newGlobal({newCompartment: true});
+var dbg = new Debugger(g);
+
+assertThrowsValue(() => {
+ dbg.memory.takeCensus({
+ breakdown: { get by() { throw "ಠ_ಠ" } }
+ });
+}, "ಠ_ಠ");
+
+
+
+assertThrowsValue(() => {
+ dbg.memory.takeCensus({
+ breakdown: { by: 'count', get count() { throw "ಠ_ಠ" } }
+ });
+}, "ಠ_ಠ");
+
+assertThrowsValue(() => {
+ dbg.memory.takeCensus({
+ breakdown: { by: 'count', get bytes() { throw "ಠ_ಠ" } }
+ });
+}, "ಠ_ಠ");
+
+
+
+assertThrowsValue(() => {
+ dbg.memory.takeCensus({
+ breakdown: { by: 'objectClass', get then() { throw "ಠ_ಠ" } }
+ });
+}, "ಠ_ಠ");
+
+assertThrowsValue(() => {
+ dbg.memory.takeCensus({
+ breakdown: { by: 'objectClass', get other() { throw "ಠ_ಠ" } }
+ });
+}, "ಠ_ಠ");
+
+
+
+assertThrowsValue(() => {
+ dbg.memory.takeCensus({
+ breakdown: { by: 'coarseType', get objects() { throw "ಠ_ಠ" } }
+ });
+}, "ಠ_ಠ");
+
+assertThrowsValue(() => {
+ dbg.memory.takeCensus({
+ breakdown: { by: 'coarseType', get scripts() { throw "ಠ_ಠ" } }
+ });
+}, "ಠ_ಠ");
+
+assertThrowsValue(() => {
+ dbg.memory.takeCensus({
+ breakdown: { by: 'coarseType', get strings() { throw "ಠ_ಠ" } }
+ });
+}, "ಠ_ಠ");
+
+assertThrowsValue(() => {
+ dbg.memory.takeCensus({
+ breakdown: { by: 'coarseType', get other() { throw "ಠ_ಠ" } }
+ });
+}, "ಠ_ಠ");
+
+
+
+assertThrowsValue(() => {
+ dbg.memory.takeCensus({
+ breakdown: { by: 'internalType', get then() { throw "ಠ_ಠ" } }
+ });
+}, "ಠ_ಠ");