diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/Frame-onStack-03.js')
-rw-r--r-- | js/src/jit-test/tests/debug/Frame-onStack-03.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Frame-onStack-03.js b/js/src/jit-test/tests/debug/Frame-onStack-03.js new file mode 100644 index 0000000000..af872782d5 --- /dev/null +++ b/js/src/jit-test/tests/debug/Frame-onStack-03.js @@ -0,0 +1,25 @@ +// frame properties throw if !frame.onStack + +load(libdir + "asserts.js"); + +var g = newGlobal({newCompartment: true}); +var f; +Debugger(g).onDebuggerStatement = function (frame) { + assertEq(frame.onStack, true); + assertEq(frame.type, "call"); + assertEq(frame.this instanceof Object, true); + assertEq(frame.older instanceof Debugger.Frame, true); + assertEq(frame.callee instanceof Debugger.Object, true); + assertEq(frame.constructing, false); + assertEq(frame.arguments.length, 0); + f = frame; +}; + +g.eval("(function () { debugger; }).call({});"); +assertEq(f.onStack, false); +assertThrowsInstanceOf(function () { f.type; }, Error); +assertThrowsInstanceOf(function () { f.this; }, Error); +assertThrowsInstanceOf(function () { f.older; }, Error); +assertThrowsInstanceOf(function () { f.callee; }, Error); +assertThrowsInstanceOf(function () { f.constructing; }, Error); +assertThrowsInstanceOf(function () { f.arguments; }, Error); |