object-define-hazard.js (544B)
1 // We shouldn't do the wrong thing in the face of an evil Object.prototype 2 3 Object.prototype.get = function() {}; 4 var x = {}; 5 var setter = function () {}; 6 x.__defineSetter__("a", setter); 7 var desc = Object.getOwnPropertyDescriptor(x, "a"); 8 assertEq(desc.get, undefined); 9 assertEq(desc.set, setter); 10 delete Object.prototype.get; 11 12 Object.prototype.set = function() {}; 13 x = {}; 14 var getter = function () {}; 15 x.__defineGetter__("a", getter); 16 desc = Object.getOwnPropertyDescriptor(x, "a"); 17 assertEq(desc.set, undefined); 18 assertEq(desc.get, getter);