michael@0: var g = newGlobal(); michael@0: var dbg = Debugger(g); michael@0: dbg.onDebuggerStatement = function (frame) { michael@0: try { michael@0: frame.arguments[0].deleteProperty("x"); michael@0: } catch (exc) { michael@0: assertEq(exc instanceof ReferenceError, true); michael@0: assertEq(exc.message, "diaf"); michael@0: assertEq(exc.fileName, "fail"); michael@0: assertEq(exc.lineNumber, 4); michael@0: assertEq(exc.columnNumber, 20); michael@0: return; michael@0: } michael@0: throw new Error("deleteProperty should throw"); michael@0: }; michael@0: michael@0: g.evaluate("function h(obj) { debugger; } \n" + michael@0: "h(new Proxy({}, \n" + michael@0: " { deleteProperty: function () { \n" + michael@0: " var e = new ReferenceError('diaf', 'fail'); \n" + michael@0: " throw e; \n" + michael@0: " } \n" + michael@0: " }));");