diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/Frame-live-03.js')
-rw-r--r-- | js/src/jit-test/tests/debug/Frame-live-03.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Frame-live-03.js b/js/src/jit-test/tests/debug/Frame-live-03.js new file mode 100644 index 000000000..aa8283cbf --- /dev/null +++ b/js/src/jit-test/tests/debug/Frame-live-03.js @@ -0,0 +1,27 @@ +// frame properties throw if !frame.live + +load(libdir + "asserts.js"); + +var g = newGlobal(); +var f; +Debugger(g).onDebuggerStatement = function (frame) { + assertEq(frame.live, 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.generator, false); + assertEq(frame.constructing, false); + assertEq(frame.arguments.length, 0); + f = frame; +}; + +g.eval("(function () { debugger; }).call({});"); +assertEq(f.live, false); +assertThrowsInstanceOf(function () { f.type; }, Error); +assertThrowsInstanceOf(function () { f.this; }, Error); +assertThrowsInstanceOf(function () { f.older; }, Error); +assertThrowsInstanceOf(function () { f.callee; }, Error); +assertThrowsInstanceOf(function () { f.generator; }, Error); +assertThrowsInstanceOf(function () { f.constructing; }, Error); +assertThrowsInstanceOf(function () { f.arguments; }, Error); |