michael@0: var desc = Object.getOwnPropertyDescriptor(Debugger.prototype, "enabled"); michael@0: assertEq(typeof desc.get, 'function'); michael@0: assertEq(typeof desc.set, 'function'); michael@0: michael@0: var g = newGlobal(); michael@0: var hits; michael@0: var dbg = new Debugger(g); michael@0: assertEq(dbg.enabled, true); michael@0: dbg.onDebuggerStatement = function () { hits++; }; michael@0: michael@0: var vals = [true, false, null, undefined, NaN, "blah", {}]; michael@0: for (var i = 0; i < vals.length; i++) { michael@0: dbg.enabled = vals[i]; michael@0: assertEq(dbg.enabled, !!vals[i]); michael@0: hits = 0; michael@0: g.eval("debugger;"); michael@0: assertEq(hits, vals[i] ? 1 : 0); michael@0: }