blob: 24a5a5f32b3bf8507d90e2562344913ea9b1b049 [file] [log] [blame]
// Debugger.Object.prototype.global accessor surfaces.
load(libdir + 'asserts.js');
var dbg = new Debugger;
var g = newGlobal();
var gw = dbg.addDebuggee(g);
assertEq(Object.getOwnPropertyDescriptor(gw, 'global'), undefined);
var d = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(gw), 'global');
assertEq(d.enumerable, false);
assertEq(d.configurable, true);
assertEq(typeof d.get, "function");
assertEq(d.get.length, 0);
assertEq(d.set, undefined);
// This should not throw.
gw.global = '';
// This should throw.
assertThrowsInstanceOf(function () { "use strict"; gw.global = {}; }, TypeError);
assertEq(gw.global, gw);
// You shouldn't be able to apply the accessor to the prototype.
assertThrowsInstanceOf(function () { return Debugger.Object.prototype.global; },
TypeError);